Automation MCP Server Blog Pricing Contact
5 languages · 10 packages · MIT licensed

Official SDKs for ZUGFeRD, XRechnung and Factur-X

Create, validate and embed compliant e-invoices from C#, Java, PHP, Node.js and Python with one install. Typed invoice models in your editor, validated documents back from the API, and rule sets that update on the server, so your dependency stays the same when the standards change.

Install · ZUGFeRD & XRechnung
# C# / .NET
dotnet add package InvoiceXml.Zugferd.XRechnung

# Java (Gradle)
implementation("com.invoicexml:invoicexml-zugferd-xrechnung:latest.release")

# PHP
composer require invoicexml/zugferd-xrechnung

# Node.js
npm install @invoicexml/zugferd-xrechnung

# Python
pip install invoicexml-zugferd-xrechnung
Packages by language

From package install to your first compliant invoice in minutes

Every language ships a ZUGFeRD & XRechnung package for Germany and a Factur-X package for France, published to the registry you already use. Each one is a thin, typed client for the InvoiceXML API, open source on GitHub, with a step-by-step guide for your stack.

C# / .NET e-invoicing SDK

.NET 8 and .NET Standard 2.0, including .NET Framework 4.6.2+

NuGet
ZUGFeRD & XRechnung

InvoiceXml.Zugferd.XRechnung

German B2B and public-sector invoicing: hybrid ZUGFeRD PDFs and XRechnung XML in UBL or CII.

dotnet add package InvoiceXml.Zugferd.XRechnung
Factur-X

InvoiceXml.FacturX

The French e-invoicing mandate: Factur-X PDFs, with the French BR-FR rules on request.

dotnet add package InvoiceXml.FacturX

Java e-invoicing SDK

Java 11 or later, with Jackson as the only dependency

Maven Central
ZUGFeRD & XRechnung

com.invoicexml:invoicexml-zugferd-xrechnung

German B2B and public-sector invoicing: hybrid ZUGFeRD PDFs and XRechnung XML in UBL or CII.

implementation("com.invoicexml:invoicexml-zugferd-xrechnung:latest.release")
Factur-X

com.invoicexml:invoicexml-facturx

The French e-invoicing mandate: Factur-X PDFs, with the French BR-FR rules on request.

implementation("com.invoicexml:invoicexml-facturx:latest.release")

PHP e-invoicing SDK

PHP 8.1 or later, Guzzle or any PSR-18 HTTP client

Packagist
ZUGFeRD & XRechnung

invoicexml/zugferd-xrechnung

German B2B and public-sector invoicing: hybrid ZUGFeRD PDFs and XRechnung XML in UBL or CII.

composer require invoicexml/zugferd-xrechnung
Factur-X

invoicexml/facturx

The French e-invoicing mandate: Factur-X PDFs, with the French BR-FR rules on request.

composer require invoicexml/facturx

Node.js & TypeScript e-invoicing SDK

Node.js 18 or later, ESM and CommonJS, plus Deno, Bun and edge runtimes

npm
ZUGFeRD & XRechnung

@invoicexml/zugferd-xrechnung

German B2B and public-sector invoicing: hybrid ZUGFeRD PDFs and XRechnung XML in UBL or CII.

npm install @invoicexml/zugferd-xrechnung
Factur-X

@invoicexml/facturx

The French e-invoicing mandate: Factur-X PDFs, with the French BR-FR rules on request.

npm install @invoicexml/facturx

Python e-invoicing SDK

Python 3.10 or later, standard library only

PyPI
ZUGFeRD & XRechnung

invoicexml-zugferd-xrechnung

German B2B and public-sector invoicing: hybrid ZUGFeRD PDFs and XRechnung XML in UBL or CII.

pip install invoicexml-zugferd-xrechnung
Factur-X

invoicexml-facturx

The French e-invoicing mandate: Factur-X PDFs, with the French BR-FR rules on request.

pip install invoicexml-facturx
One API surface, every language

The full invoice life cycle in a few typed methods

Method names follow each language's conventions, but the coverage is identical across C#, Java, PHP, Node.js and Python. Every method maps to one documented endpoint, so the API reference and the package always agree.

ZUGFeRD & XRechnung packages

Germany: B2B and public sector

Factur-X packages

France: the 2026 e-invoicing mandate

Quick start

From invoice data to a compliant PDF in one call

Send net prices, quantities and VAT rates. The API computes the totals and the VAT breakdown, builds the XML, embeds it in a PDF/A-3 and validates the result against the official rules before it returns. Incoming invoices go the other way: one call tells you whether they pass, and why not.

  • Invoice models generated from the OpenAPI schema, so your editor completes every EN 16931 field
  • Typed validation results with the rule and a plain-language message for every finding
  • Automatic retries when your plan's concurrency limit is reached
  • Minimal dependencies, using each platform's own HTTP client
C# · create a Factur-X invoice
using InvoiceXml.FacturX;

using var client = new FacturXClient(apiKey);
var pdf = await client.CreateFacturXAsync(invoice);
await pdf.SaveAsync("facture-facturx.pdf");
PHP · validate an incoming invoice
$result = $client->validateFacturx('incoming.pdf', rules: ['br-fr']);

foreach ($result->errors as $error) {
    echo "{$error->rule}: {$error->message}\n";
}
Compliance on the server

A thin client with a complete compliance service behind it

The packages stay small on purpose. Schematron validation, PDF/A-3 conformance and the national rule sets run on the InvoiceXML API, maintained by people who follow every release, so your build stays light and your invoices stay current.

Current rule sets, no upgrades

New EN 16931, ZUGFeRD, Factur-X and KoSIT XRechnung releases go live server-side on their legal effective dates. No package update, no redeploy.

Validated before delivery

Every document you create passes the XSD and Schematron rules before it leaves the API. Data that cannot yield a compliant invoice is refused with the rules to fix.

Zero data retention

Invoices are processed in memory and returned in the same response. Nothing is stored and nothing is used to train AI models.

Processing in Frankfurt

EU-only processing in Frankfurt, Germany, GDPR compliant by design.

Integration assistance

When a rule finding needs a human explanation, a person who knows the rule sets answers your support request.

Open source, MIT licensed

Read the code, file issues and send pull requests. Every package has its tests and release workflow in the open on GitHub.

SDK questions, answered

Which package do I need: ZUGFeRD & XRechnung or Factur-X?

Pick by the market you invoice. The ZUGFeRD & XRechnung package covers Germany: hybrid ZUGFeRD PDFs for B2B and XRechnung XML for the public sector and the German B2B mandate. The Factur-X package covers France: Factur-X PDFs with the French BR-FR rule set for the 2026 mandate. Both packages share the same invoice model, so code written for one reads naturally in the other, and you can install both side by side.

Are the SDKs free to use?

Yes. Every package is MIT-licensed and free to install from its registry. The API calls behind it use credits from your InvoiceXML account, and every new account starts with a 30-day free trial and 100 credits, no credit card required.

Do I have to update the package when a new ZUGFeRD or XRechnung version is released?

No. The rule sets run on the InvoiceXML servers and switch over on the date each new EN 16931, ZUGFeRD, Factur-X or KoSIT XRechnung release becomes binding. Your installed package keeps producing compliant invoices without an update or a redeploy.

Which runtime versions are supported?

.NET 8 and .NET Standard 2.0 (which includes .NET Framework 4.6.2 and later), Java 11 and later, PHP 8.1 and later, Node.js 18 and later in ESM and CommonJS, and Python 3.10 and later. The Python package has no dependencies outside the standard library.

Can I validate invoices I receive from suppliers?

Yes. Every package has validate methods that take the incoming PDF or XML and return a typed result: a valid flag plus every finding with its rule and a plain-language message. The Factur-X packages can add the French BR-FR rules to the check, and the extract methods turn any received e-invoice into the same invoice model you create invoices from.

Where is the source code?

Every package is open source on GitHub under the InvoiceXML organisation, with its README, tests and release workflow. Issues and pull requests are welcome in each repository.

Where is invoice data processed?

In Frankfurt, Germany. Documents are processed in memory, returned in the same response and never stored, and they are never used to train AI models.

Start free today

Ready to automate your invoices?

Validate, convert and embed compliant e-invoices through one API. Start your 30-day free trial. No credit card required.

GDPR Compliant No credit card required Setup in minutes
Peppol UBL
Factur-X
EN 16931
142 / 142 passed
Compliant
PDF/A-3 embedded