Validate, fix and create
e-invoices
Check any e-invoice against EN 16931 right in your browser — free, no sign-up. Both syntaxes, CII and UBL, including the national flavours ZUGFeRD, Factur-X and XRechnung. Fix errors automatically with concrete suggestions, or create and validate invoices through the REST API and MCP client, straight from your AI agent.
Let us fix the errors? We repair the invoice and only ask for what is missing.
Also by API and MCP
Check, create and repair e-invoices from your own code or your AI agent. One request, structured JSON back — no extra software.
- REST API to validate, create and repair
- MCP client for Claude and other AI agents
- EN 16931 in both syntaxes: CII and UBL
- Includes Peppol BIS rule checks
- Hosted in the EU
curl -X POST https://api.zugferd-validator.de/v1/validate \
-H "X-Api-Key: your_key" \
-d '{"file_type":"xml","file_content":"..."}'
# Response
{
"valid": false,
"format": "ZUGFeRD 2.4 / Factur-X",
"summary": "1 error, 1 warning",
"errors": [{
"rule_id": "BR-CO-26",
"field": "BT-31",
"fix_suggestion": "Add the seller VAT ID"
}]
}
Create, check and repair e-invoices
Create, validate, extract, compare — right inside your workflow or your AI agent.
Four tools, one job each
Validate, extract, compare and create — every tool for one purpose, always structured JSON.
validate_invoice
TOOL
Validates PDFs and XML files against EN 16931, in CII and UBL. Returns errors, warnings and metadata.
extract_xml
TOOL
Pulls the embedded XML out of a ZUGFeRD or Factur-X PDF, with format and profile detection.
check_consistency
TOOL
Checks whether the visible PDF data (number, date, amount) matches the embedded XML. Catches mismatches.
create_invoice
TOOL
Builds a valid ZUGFeRD or Factur-X PDF, or XRechnung XML, from structured data — several line items, all VAT categories, routing ID for public buyers.
A validated invoice in 4 steps
From sign-up to first result in under 5 minutes.
npx zugferd-mcp-client once in your MCP client (Cursor, Windsurf and the like).Works with your stack
Works with every MCP-capable client and speaks plain REST for everything else.
Prefer the command line? Validate with curl and in CI — see the docs →
Clear. No surprises.
Start free. Move up when you need more.
free forever
Check invoices one by one – in the browser or by API.
Start for free- 20 validations / week
- 1 invoice / month created
- All 4 MCP tools
- 160 rule fixes
- Structured JSON
- – One invoice at a time
- – “Created with zugferd-validator.de” footer on generated invoices
- – No support, no SLA
billed yearly · 228 €/year
For teams that check invoices inside a workflow.
- Batch check: several invoices at once
- Repair: fix errors automatically
- 500 validations / week
- Invoices created: unlimited
- White-label invoices (your logo)
- Everything in Free
- E-mail support (48 h)
- 99 % uptime SLA · priority updates
billed yearly · 828 €/year
For high volume and business-critical processes.
- Unlimited validations
- Unlimited invoice creation
- Batch check (bigger batches)
- Everything in Automate
- Dedicated support
- Fair use: 300 calls / hour
All prices exclude VAT. · See the full API documentation →
More than 300 calls an hour, or bulk processing? Enterprise plan on request →
¹ Fair use: Automate is built for 60 API calls an hour, Scale for 300 — enough for normal business. For higher throughput, bulk processing or a fixed SLA, see the Enterprise plan.
| Feature | Free | Automate | Scale |
|---|---|---|---|
| Validations / week | 20 | 500 | Unlimited¹ |
| Invoices created / week | 1 | 20 | Unlimited¹ |
| Max. API calls / hour | – | 60 | 300 |
| Batch check (several invoices at once) | |||
| Repair invoice (automatic fixes) | |||
| validate_invoice | |||
| extract_xml | |||
| check_consistency | |||
| create_invoice | |||
| White label (no footer) | |||
| 160 fix suggestions | |||
| E-mail support | |||
| Dedicated support | |||
| SLA | 99 % | 99 % |
E-invoicing, EN 16931 & validation — the short version
Answers on formats, syntaxes and validation.
What is EN 16931?
Which formats does the validator support?
Does the validator check Peppol BIS rules?
PEPPOL-EN16931-R040, with the same fix suggestions as every other rule. To be precise about what this is not: we are not a certified Peppol validator and not a Peppol Access Point. We check invoice content, we do not send invoices over the Peppol network.What is the difference between CII and UBL?
How do I validate an e-invoice?
/v1/validate with your API key in the X-Api-Key header. You get structured JSON back: detected format and profile, a list of errors and warnings with rule ID, the affected BT field, a concrete fix suggestion and an XPath, plus the invoice metadata. Validation runs against EN 16931 with Mustang Project and the KoSIT validator. Details in the API documentation.What does a BR error mean?
Can I create invoices with it too?
POST /v1/create or the MCP tool create_invoice you turn structured JSON into a valid e-invoice — either a ZUGFeRD or Factur-X PDF (PDF/A-3 with embedded XML) or plain XRechnung XML with a routing ID for public-sector buyers. Several line items, all VAT categories (standard, exempt, reverse charge), discounts and charges and payment details are supported, and so are credit notes, corrections and prepayment invoices that reference the original. The API is stateless: each call returns the finished invoice, nothing is stored. You can validate on creation or afterwards with validate_invoice.Is there a sandbox for invoice creation?
zv_test_…, shown in your account) next to the live key. Use it to test your integration without spending your live quota. Invoices created in sandbox mode carry a clear tiled “DEMO” watermark on every page and a note in the XML — fully testable, but not valid for real business. Use the live key for real invoices. Validation itself you can try for free on the Free plan or with the public demo key.What does it cost? Is there a free plan?
Can I plug the API into Claude or other AI agents?
zugferd-mcp-client) that installs through npm and plugs into MCP-capable AI tools such as Claude. It exposes the tools validate_invoice, extract_xml, check_consistency and create_invoice, so an agent can check, read and create e-invoices on its own.Where is my invoice data processed?
Check your first invoice
Get an API key, be live in 5 minutes — free, no setup.