EvoPdf Next · Electronic invoices

Create ZUGFeRD, Factur-X and XRechnung electronic invoices in .NET

EvoPdf Next produces hybrid electronic invoices: a PDF/A-3 document that shows the invoice as a page a person reads and carries the same invoice as an XML file that accounting software reads automatically. Render the page from your HTML template or from a Word document, load the invoice XML and the library embeds it with the metadata the standard prescribes. The profile is read from the XML, from MINIMUM to EXTENDED and XRECHNUNG, with Order-X for purchase orders. With PDF/UA-1 the invoice is also accessible. The library runs on Windows, Linux and macOS, including Azure, AWS, Google Cloud and Docker.

Version 15.0.3. Building EVO PDF libraries since 2010. Evaluate without registration; the demo output is watermarked until you set a license key. Included in the HTML to PDF Converter license.

Documentation · Electronic invoices from Word · Samples and demos on GitHub

ConsoleCLI
dotnet add package EvoPdf.Next.HtmlToPdf.Windows

This is the Windows package; EvoPdf.Next.HtmlToPdf.Linux and EvoPdf.Next.HtmlToPdf.MacOS work the same way, or use the all-components EvoPdf.Next.* metapackage for your platform.

Program.csC#
using EvoPdf.Next;

// the profile and the document type are read from the XML
var invoice = ElectronicInvoice.FromFile("invoice.xml");

var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfStandard =
    PdfStandard.PdfUa1PdfA3a;
converter.PdfDocumentOptions.AddElectronicInvoice(invoice);
byte[] pdf = converter.ConvertHtml(invoiceHtml, baseUrl);
An accessible Factur-X or ZUGFeRD invoice from HTML. Full sample in the docs →
  • Windows 10, 11 and Windows Server 2016 to 2025 (x64 and ARM64)
  • Linux 64-bit distributions (x64 and ARM64)
  • macOS 12.0+ (Apple Silicon / ARM64)
  • .NET 10.0, 9.0, 8.0, 7.0, 6.0, .NET Standard 2.0
  • .NET Framework 4.6.2 to 4.8.1
  • Azure App Service, Functions and Container Apps
  • AWS Elastic Beanstalk, Lambda and ECS
  • Google Cloud Run and Kubernetes
  • Web, console and desktop applications
How it works

One PDF, two readers

A hybrid invoice carries the invoice twice in one file: the page a person reads and the XML an accounting system imports. EvoPdf Next renders the page and embeds the XML in three steps.

Render the invoice page

Convert your invoice HTML template with the HTML to PDF Converter, or convert the invoice from a Word document. Set the PDF standard to PDF/A-3b, PDF/A-3u, PDF/A-3a or PDF/UA-1 + PDF/A-3a, the carrier every electronic invoice needs.

Load the invoice XML

ElectronicInvoice.FromXml or FromFile reads the XML your accounting or ERP system produced. The profile, the document type and the invoice number are taken from the XML itself and exposed as properties, so there is nothing to select and nothing to keep in sync.

Get a compliant PDF/A-3

AddElectronicInvoice embeds the XML with the file relationship and the metadata the standard prescribes, the identification the receiving software looks for. Set the viewer page mode to open the Attachments panel, so the embedded XML is visible to the reader.

Standards

Supported profiles and document types

Factur-X and ZUGFeRD

Factur-X and ZUGFeRD are the French and the German name of the same format. Invoices are embedded in every profile of the standard:

MINIMUMBASIC WLBASICEN 16931EXTENDEDXRECHNUNG

Order-X

Purchase orders, order changes and order responses travel the same way, with the Order-X profiles:

BASICCOMFORTEXTENDED

Document types

Commercial invoices, credit notes, corrected invoices, self-billed invoices and credit notes, prepayment and partial invoices. The document type is read from the XML and exposed by the DocumentType property.

PDF standards and XML syntax

The invoice is embedded in PDF/A-3b, PDF/A-3u, PDF/A-3a or PDF/UA-1 + PDF/A-3a documents. The XML uses the UN/CEFACT Cross Industry Invoice syntax of Factur-X, ZUGFeRD 2 and XRechnung and is embedded as given. The Relationship property states how the XML relates to the page, Alternative by default.

Sources

Invoice pages from HTML, Word or code

The same ElectronicInvoice object is accepted by every converter and by the Core PDF API, so the invoice page can come from the template you already have.

HTML to PDF Converter: PdfDocumentOptions.AddElectronicInvoiceDemoDocs + code
Word to PDF Converter: WordToPdfDocumentOptions.AddElectronicInvoiceDemoDocs + code
Core PDF API, documents created from code: PdfDocument.AddElectronicInvoiceAPI reference
Existing PDF/A-3 documents: PdfEditor.AddElectronicInvoiceAPI reference

The Excel, RTF and Markdown to PDF converters embed an electronic invoice the same way as the Word converter.

Accessible invoices

With the PdfUa1PdfA3a standard the invoice page is also a PDF/UA-1 document, readable with screen readers and assistive technologies, as the European Accessibility Act requires for the invoices delivered to consumers. The tagged structure follows the headings, tables and images of your HTML or Word document; the HTML should use headings, tables with header cells and alternate text for images.

Accessible PDF/UA documents in .NET → · PDF/UA and PDF/A demo →

France and Germany

Ready for the French and German mandates

Both countries now require structured electronic invoices between businesses and both accept the hybrid format EvoPdf Next produces.

France: Factur-X

Since September 1, 2026 every business established in France must be able to receive structured electronic invoices through an accredited platform. Large and mid-sized companies issue them from the same date and small and medium-sized companies from September 1, 2027. Factur-X is one of the accepted formats; the EN 16931 profile carries the complete invoice.

Germany: ZUGFeRD and XRechnung

Since January 1, 2025 every business in Germany must be able to receive electronic invoices. Issuing them becomes mandatory on January 1, 2027 for businesses with a turnover above 800,000 EUR and on January 1, 2028 for all. XRechnung and ZUGFeRD invoices that conform to EN 16931 are accepted; the XRECHNUNG profile serves the public sector.

Licensing

Included in the HTML to PDF Converter license

Electronic invoices from HTML and from code are covered by the HTML to PDF Converter license, which includes the Core PDF API: 450 USD for a Deployment License (one application on a single server) or 1200 USD for a Company License (unlimited developers, applications and servers, redistributable). Invoice pages from Word, Excel, RTF or Markdown documents need the EVO PDF Toolkit, 650 USD or 1400 USD, which covers every component on this site. All licenses are perpetual, with updates and support for the first year.

Questions

Electronic invoices in EvoPdf Next

Do I have to select the ZUGFeRD or Factur-X profile?

The profile is read from the invoice XML, together with the document type and the invoice number. Load the XML with ElectronicInvoice.FromXml or FromFile and the library writes the metadata that matches it, whether the XML is a MINIMUM invoice, an EN 16931 credit note or an Order-X purchase order.

Where does the invoice XML come from?

Your accounting or ERP system produces it, or you generate it with any serializer for the Cross Industry Invoice syntax. EvoPdf Next embeds the XML as given, so the data the receiving software imports is exactly the data you validated on your side.

Can I add the invoice XML to a PDF I already have?

Yes, with PdfEditor.AddElectronicInvoice, provided the source document is already a PDF/A-3 document. For documents created from scratch with the Core PDF API use PdfDocument.AddElectronicInvoice; one electronic invoice can be added to a document, next to any other file attachments.

Does the invoice page have to come from HTML?

It can come from HTML, from a Word, Excel, RTF or Markdown document or from code. The HTML to PDF Converter is the usual choice when the invoice is already an HTML template; the Word to PDF Converter takes a DOCX invoice and keeps its fonts, headers and footers.

Which PDF standard does an electronic invoice need?

A PDF/A-3 document: PDF/A-3b, PDF/A-3u or PDF/A-3a. With PDF/UA-1 + PDF/A-3a the same file is also an accessible invoice, which the European Accessibility Act requires for invoices delivered to consumers.