German e-invoice API comparison: seven vendors for ZUGFeRD and XRechnung
Short answer: all seven APIs in this comparison generate ZUGFeRD/Factur-X, and almost all of them generate XRechnung too. Most also parse incoming invoices and offer an MCP server for AI agents. The real differences are elsewhere: what is checked before delivery, what counts as an invoice, how you can test and whether you can pay online today. fakturai is one of the vendors. Our strength is that every invoice is checked with KoSIT and Mustang, including PDF/A. Our gaps are no parsing of incoming invoices, no Peppol and no bookable paid plans yet. We read every fact on the vendors’ own websites on 11 November 2026.
How we compared
We run an e-invoice API ourselves, so we are not neutral. To keep the comparison useful, it only contains facts each vendor states on its own website: pricing page, documentation and imprint. “Not stated” means we did not find it there. It does not mean the feature is missing. Prices are per month on monthly billing unless noted. Links to every source are at the end.
The vendors at a glance
On a phone, swipe the table sideways.
| Vendor | Free | Paid plans (price/invoices per month) | Output formats | Validation | Parse incoming invoices | MCP server | Test keys | Self-serve checkout | Operator |
|---|---|---|---|---|---|---|---|---|---|
| fakturai | 50 invoices/month, validator without account | Starter €19/500, Business €49/2,500 (not bookable yet) | ZUGFeRD/Factur-X PDF (EN 16931), XRechnung 3.0 UBL and CII. No Peppol BIS | Every invoice: KoSIT 1.6.3 (configuration 2026-08-31) and Mustang 2.23.1 incl. PDF/A | No | Yes (generate, validate) | Yes, 100/day, not counted against quota | Not yet | Sole trader, Germany |
| normbill | 50 documents/month | Solo €19/500, Starter €49/2,500, Growth €149/12,000, Platform €690/75,000 (excl. VAT) | ZUGFeRD/Factur-X (PDF/A-3), XRechnung UBL and CII, Peppol BIS | KoSIT 1.6.2 for XRechnung; ZUGFeRD and Peppol BIS get structural EN 16931 checks per the site | Yes | Yes | Yes, 1,000 requests/month | Yes | VIBOA UG, Hanover (Germany) |
| NormAPI | 50 generated invoices/month, validation and parsing free (fair use) | Starter €19/500, Business €49/2,500, Scale €149/10,000 (net) | ZUGFeRD/Factur-X (PDF/A-3), XRechnung 3.0.2 UBL and CII | Every invoice: KoSIT 1.6.3 (configuration 2026-08-31), PDF/A-3 check | Yes, free | Yes, plus Claude and ChatGPT connectors | Not stated | Yes | Individual, Ukraine; servers in Düsseldorf |
| rechnungsapi.de | 10 invoices/month plus a one-off 100 for testing | Standard €9.99/100, Enterprise on request | ZUGFeRD 2.2 to 2.4 (PDF/A-3), XRechnung 3.0.1 and 4.0 (syntax not stated separately) | Business-rule validation (BR-DE); KoSIT not stated | Yes, including AI recognition of PDFs | Yes (npm, MIT) | No separate keys; 100 test invoices, playground | Yes | Finbc GmbH, Essenheim (Germany) |
| InvoAPI | No recurring free tier; 100 invoices once | Starter €24/500, Business €49/2,000, Scale €99/8,000 (net; validation counts too) | ZUGFeRD/Factur-X (PDF/A-3), XRechnung 3.0.2 UBL and CII, Peppol BIS | KoSIT 1.6.3; PDF/A-3 via Mustang and veraPDF for uploaded PDFs | Yes, free | Yes | Not clearly stated | Yes | Sole trader, Würzburg (Germany) |
| finaX | No free plan; 14-day trial with 1,000 requests | Standard €30/month (excl. VAT, quota not stated); self-hosting in the Enterprise plan on request | ZUGFeRD 2 (PDF/A-3), XRechnung 3.0.2 UBL and CII, Peppol BIS | KoSIT rules, version not stated | Yes | Not stated | Yes, during the trial | Yes | Partnership (GbR), Ahrensburg (Germany) |
| InvoiceXML | 30-day trial | From $12/month billed annually (3,000 calls/year), $32 (12,000/year), $82 (60,000/year) | ZUGFeRD/Factur-X (PDF/A-3b), XRechnung UBL and CII, Peppol BIS, Order-X | KoSIT Schematron, version not stated | Yes, including AI recognition of PDFs | Yes | Not stated (trial instead) | Yes | MB Quantum Code, Lithuania; servers in Frankfurt |
What matters when you choose
1. What is checked, and when?
An invoice your customer rejects costs more than any API plan. So ask exactly: is every generated invoice checked before it is returned, or only on request? With which validator and which configuration? ZUGFeRD adds the PDF side: the file must be a valid PDF/A-3 with embedded XML. An XML that passes the KoSIT rules is not enough on its own. More in the KoSIT validator for German e-invoices.
2. Which format does your recipient need?
For German B2B customers, ZUGFeRD/Factur-X in the EN 16931 profile is usually enough, because the file is a readable PDF at the same time. Public-sector buyers mostly require XRechnung. XRechnung comes in two syntaxes, UBL and CII. Check with your recipient or their portal which one they accept. If you send to customers abroad or over Peppol, you often need Peppol BIS in UBL. The formats are explained in XRechnung or ZUGFeRD.
3. What counts as an invoice?
The quotas look similar but are counted differently. At InvoAPI every validation counts just like every generated invoice. At normbill generated and parsed documents count, and validation is free under fair use. At NormAPI validation and parsing are free. At fakturai only the generated invoice counts; the XRechnung for the same invoice does not count extra, and the public validator works without an account.
4. Testing without using real invoices
You create many trial invoices while you integrate. Separate test keys keep them apart from your real invoice number sequence. normbill and fakturai offer such keys. At fakturai, test invoices carry a clear TEST INVOICE banner and a TEST number and go through the same KoSIT and Mustang checks as real invoices.
5. Checkout, operator and location
Six of the seven vendors can be booked online today. Also check the imprint to see who runs the API and where, because invoice data contains customer data. The vendors include a UG, a GmbH, a GbR, sole traders in Germany and operators in Ukraine and Lithuania. Where server locations are stated, they are in Germany.
Where others are ahead today
- Peppol BIS: normbill, InvoAPI, finaX and InvoiceXML generate Peppol BIS Billing. fakturai generates XRechnung in CII and UBL, but no Peppol BIS, and it sends nothing over Peppol.
- Parsing incoming invoices: all six other vendors offer it. fakturai does not.
- Small entry plan: rechnungsapi.de costs €9.99 for 100 invoices a month.
- High volume: normbill has plans up to 75,000 documents a month, NormAPI offers a volume contract.
- Pay today: you can pay online at every other vendor. fakturai paid plans are not bookable yet.
- Self-hosting: finaX offers a self-hosting licence in its Enterprise plan.
When fakturai fits
- You create outgoing invoices to German business customers from your own system, such as a SaaS product, a shop, a workflow or an AI agent.
- Every invoice should be checked with KoSIT (1.6.3, configuration 2026-08-31) and Mustang (2.23.1, including PDF/A) before delivery. If a check fails, you get an error (HTTP 422) instead of a file.
- You sometimes need XRechnung: with
"xrechnung": truethe same invoice also comes back as XRechnung 3.0 (CII), same number, one invoice against the quota. - You want to build the integration with test keys and start with 50 free invoices a month.
When another vendor fits better
- You need to parse incoming invoices or recognise PDFs with AI.
- Your recipient requires Peppol BIS, or you send over Peppol.
- You need more than 50 invoices a month today and want to pay online right away.
Try it yourself
Check an existing e-invoice without an account in the free validator, or look at a real, validated sample invoice with its validation report. For the API, create a free account at /en/signup, add your seller profile and create an API key or test key.
Sources
All vendor facts retrieved on 11 November 2026 from the vendors’ websites.
- fakturai: pricing
- fakturai: API documentation
- normbill: normbill.com/pricing
- normbill: normbill.com/docs
- normbill: normbill.com/impressum
- NormAPI: normapi.com/en/pricing
- NormAPI: normapi.com/en/docs
- NormAPI: normapi.com/de/impressum
- rechnungsapi.de: www.rechnungsapi.de/pricing
- rechnungsapi.de: www.rechnungsapi.de/
- rechnungsapi.de: www.rechnungsapi.de/impressum
- InvoAPI: invoapi.de/preise
- InvoAPI: invoapi.de/docs
- InvoAPI: invoapi.de/impressum
- finaX: finax.dev/
- finaX: finax.dev/funktionen/
- finaX: finax.dev/impressum/
- InvoiceXML: www.invoicexml.com/pricing
- InvoiceXML: www.invoicexml.com/mcp-server
- InvoiceXML: www.invoicexml.com/privacy