Test the XRechnung REST API, submit your invoice details and download a KoSIT-validated XRechnung XML. Ready for ZRE, OZG-RE, or Peppol.
Built for developers and AI-driven workflows. Make your invoices compliant on your ERP or AI Agent via our secure MCP server and REST API.
Submit a JSON invoice document, receive a validated XRechnung XML in UBL syntax by default, or CII via options.syntax. KoSIT-checked and ready for ZRE, OZG-RE, or Peppol submission.
Supports ZUGFeRD · Factur-X · XRechnung · UBL · CII · EN 16931
API Documentation$ curl -X POST https://api.invoicexml.com/v1/create/xrechnung \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{ "invoice": { "invoiceNumber": "INV-2025-001", "buyerReference": "991-12345-67", "seller": { "name": "Acme GmbH" }, "buyer": { "name": "Bundesamt" }, "lines": [ { "item": "Consulting", "quantity": 1, "netPrice": 1000, "vatRate": 19 } ] } }' // => 200 OK: returns the validated invoice file
Ask for German and every finding comes back as a plain-language explanation of what is wrong and how to fix it, ready to show in your app as it is. Each finding also carries its rule id, Business Term code and field path, so you can highlight the form field that caused it.
Send validationLanguage with the upload, or options.validationLanguage with a create call: German, French or English. Validate, create, embed, convert and transform all speak it, with no translation layer to build or maintain on your side.
Every EN 16931 business rule, the full KoSIT XRechnung rule set and the Peppol BIS rules each have their own reviewed message, written for the people who fix invoices rather than for Schematron authors. No rule codes in the text, just what to change.
The printable report comes out in German too: verdict, field names, dates and every finding. Hand it to your tax advisor or file it with the invoice for GoBD.
Leitweg-ID, payment details, seller contact: every check of the German XRechnung rules comes back in German and names the field to fill, the way public-sector recipients check them.
Die USt-IdNr. des Verkäufers muss mit dem Code des ausstellenden Landes beginnen, z. B. DE123456789. Griechenland verwendet EL.
{ "rule": "BR-CO-09", "btCodes": ["BT-31"], "fields": ["seller.vatIdentifier"], "message": "Die USt-IdNr. des Verkäufers muss mit dem Code des ausstellenden Landes beginnen, z. B. DE123456789. Griechenland verwendet EL." }
rule, btCodes and fields stay the same in every language
POST /v1/validate/…/report
Every KoSIT check names the field to fill, Leitweg-ID included.
Eine XRechnung braucht die Käuferreferenz, bei öffentlichen Auftraggebern die Leitweg-ID.
Geben Sie die Kontaktdaten des Verkäufers an: Ansprechpartner, Telefonnummer und E-Mail-Adresse (Pflichtangaben in der XRechnung).
Invoices go in, validated invoices come out. When an authority publishes a new rule set, we load it on its effective date while the line keeps moving.
You don't track regulatory updates to change the rulebooks. We ship it while it runs, on its effective dates.
This form is perfect for creating one-off invoices. But if you send dozens or hundreds of invoices to German authorities, InvoiceXML gives you the tools to automate the entire process, from data input to validated XML delivery. The XRechnung API overview shows how creation, validation and conversion fit together in both UBL and CII syntax.
Integrate XRechnung generation directly into your ERP, accounting software, or custom application:
Pro Tip: Check out our API Documentation to see how you can start generating invoices with just a few lines of code.
Connect InvoiceXML to the tools you already use, no developer needed:
InvoiceXML is one of the first platforms to offer an MCP (Model Context Protocol) Server.
Since November 2020, German federal authorities require all incoming invoices in XRechnung format. State and municipal governments are following suit. With the Wachstumschancengesetz expanding the e-invoicing mandate to B2B from 2025, XRechnung is becoming the backbone of structured invoicing in Germany.
| Feature | Our XRechnung Implementation |
|---|---|
| Standard | EN 16931 + XRechnung CIUS (KoSIT) |
| Output Format | Standalone XML, UBL by default or CII via options.syntax (no PDF wrapper) |
| Version | XRechnung |
| Submission Channels | ZRE, OZG-RE, Peppol Network |
| Leitweg-ID | Supported and validated |
Everything you need to create, convert, validate, and preview XRechnung invoices, via REST API or online.
No. We process your invoice data in memory and discard it immediately after the XML is generated and downloaded. Nothing is persisted.
Yes. The output is a fully validated XRechnung XML (UBL syntax by default, CII on request) that conforms to all KoSIT rules. You can upload it directly to ZRE (Zentrale Rechnungseingangsplattform), OZG-RE, or transmit it via the Peppol network.
XRechnung produces a standalone XML for B2G portals. ZUGFeRD produces a hybrid PDF with embedded XML for B2B exchange. Both are EN 16931 compliant, but XRechnung adds stricter German CIUS rules and is required by government recipients.
Yes, for invoices sent to German public authorities. The Leitweg-ID is a routing identifier that directs the invoice to the correct government department. Enter it in the Buyer Reference field of the form above.
Validate, convert and embed compliant e-invoices through one API. Start your 30-day free trial. No credit card required.