Full rule check of XRechnung 3.0 and EN 16931 invoices (incl. ZUGFeRD/Factur-X EN 16931) with the official KoSIT validator: every error with its rule number, or a PDF report.
curl -X POST https://api.bigapi.dev/v1/einvoice/validate -H 'Authorization: Bearer $KEY' -F 'file=@xrechnung.xml'
New keys come with 100 free operations, no signup: curl -X POST https://api.bigapi.dev/v1/keys. Failed calls cost nothing.
| Name | Meaning |
|---|---|
file required | E-invoice as XML (XRechnung UBL or CII, ZUGFeRD/Factur-X XML) or as PDF with an embedded invoice XML (ZUGFeRD, Factur-X, XRechnung hybrid). |
output | json lists errors, warnings and notes; pdf returns a printable validation report. Allowed: json, pdfDefault: "json" |
lang | Language of the PDF report. Allowed: de, enDefault: "de" |
Returns application/json | application/pdf. Response headers carry the cost (X-BigAPI-Cost) and notes about your input (X-BigAPI-Warnings).
400 not_an_einvoice | Not an invoice in UBL or CII, or XML with a DOCTYPE. |
422 no_einvoice_in_pdf | A plain PDF without embedded invoice XML; in Germany that is not an e-invoice. |
Connect BiGapi as an MCP server: https://api.bigapi.dev/mcp (hosted) or npx -y @bigapi/mcp (local). Then ask in plain words; the agent finds einvoice_validate on its own.
Is this XRechnung valid? If not, what do I have to fix?