Automation MCP Server Blog Pricing Contact

XRechnung Invoice Generator API

Test the XRechnung REST API, submit your invoice details and download a KoSIT-validated XRechnung XML. Ready for ZRE, OZG-RE, or Peppol.

Have an existing invoice? Upload a PDF and we'll prefill the form
Invoice Details
Required for B2G submission (Leitweg-ID format).
Seller (From)
Buyer (To)
Developer API

Built for Developers

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.

  • Native, scanned and photographed PDF invoices, no preprocessing needed
  • Every response validated against official Schematron rules

Supports ZUGFeRD · Factur-X · XRechnung · UBL · CII · EN 16931

API Documentation
Terminal
$ 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
Findings in your users' language

Validation errors and warnings in German language

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.

  • One field, three languages

    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 rule explained, not just translated

    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.

  • A PDF report in the same language

    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.

  • XRechnung and the KoSIT rules, covered

    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.

Live finding
-F "validationLanguage=de"

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

The PDF report, as your reader gets it

POST /v1/validate/…/report

PDF

XRechnung rules, in plain German

Every KoSIT check names the field to fill, Leitweg-ID included.

BR-DE-15 · BT-10
Eine XRechnung braucht die Käuferreferenz, bei öffentlichen Auftraggebern die Leitweg-ID.
buyerReference
BR-DE-2 · BG-6
Geben Sie die Kontaktdaten des Verkäufers an: Ansprechpartner, Telefonnummer und E-Mail-Adresse (Pflichtangaben in der XRechnung).
seller.contact
Localized error messages in the docs
How it works

We keep you up to date.
Integration stays the same.

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.

Versions Updated Automatically rule sets loaded from the authorities
Peppol BIS schematron
3.0.193.0.203.0.21
swapped on the effective date
Also in force
EN 16931 · SI-UBL · XRechnung · PINT
tracked on the same calendar
Created Validated
your invoice data in compliant invoice out ✓

You don't track regulatory updates to change the rulebooks. We ship it while it runs, on its effective dates.

Beyond the Form: Automate Your XRechnung Workflow

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.

1. Developer-First REST API

Integrate XRechnung generation directly into your ERP, accounting software, or custom application:

  • • Single Endpoint: POST your invoice data as form fields and receive a validated XRechnung XML back instantly, in UBL or CII syntax.
  • • Stateless Security: We don't store your financial data. We process, validate, and return the XML.
  • • Full Compliance: Every generated XML passes EN 16931 Schematron rules and KoSIT XRechnung CIUS constraints before delivery.

Pro Tip: Check out our API Documentation to see how you can start generating invoices with just a few lines of code.

2. No-Code Automation (Zapier & Make.com)

Connect InvoiceXML to the tools you already use, no developer needed:

  • • ERP Integration: Automatically generate XRechnung XML whenever a new invoice is created in your system.
  • • Google Sheets: Turn a row of invoice data into a validated XRechnung XML and deliver it to the right portal automatically.
  • • Peppol Delivery: Combine XRechnung generation with Peppol access points to fully automate B2G invoice delivery in Germany.

3. The Future of AI Billing: MCP Server

InvoiceXML is one of the first platforms to offer an MCP (Model Context Protocol) Server.

  • • AI-Native: Allow your AI agents (like Claude or custom GPTs) to "understand" and generate compliant invoices.
  • • Agentic Workflows: Let your AI assistant handle the validation and creation of invoices directly from your conversation history or project files.

Why XRechnung Is Essential for German B2G Invoicing

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.

FeatureOur XRechnung Implementation
StandardEN 16931 + XRechnung CIUS (KoSIT)
Output FormatStandalone XML, UBL by default or CII via options.syntax (no PDF wrapper)
VersionXRechnung
Submission ChannelsZRE, OZG-RE, Peppol Network
Leitweg-IDSupported and validated

Complete XRechnung Toolkit

Everything you need to create, convert, validate, and preview XRechnung invoices, via REST API or online.

FAQ

Frequently Asked Questions

Does InvoiceXML store my data?

No. We process your invoice data in memory and discard it immediately after the XML is generated and downloaded. Nothing is persisted.

Can I submit the generated XML directly to ZRE?

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.

What is the difference between XRechnung and ZUGFeRD?

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.

Do I need a Leitweg-ID?

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.

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