Supported Formats
xingen accepts invoice data through several input channels, and exports a validated invoice in two fixed output formats. XML/PDF uploads are auto-detected — you never need to declare the format yourself; SAP and JSON submissions use a dedicated endpoint instead.
Input
UBL 2.1 XML
OASIS Universal Business Language — the baseline syntax for XRechnung and PEPPOL BIS Billing 3.0.
- Endpoint:
POST /v1/invoices/validate(multipart/form-data,filefield)
CII XML (UN/CEFACT Cross Industry Invoice)
The alternative XML syntax for EN 16931, also valid for XRechnung. Some German ERP systems emit CII rather than UBL.
- Endpoint: same as UBL — format is auto-detected from the root element
ZUGFeRD PDF/A-3
A hybrid PDF that embeds CII XML inside a PDF/A-3 file. xingen detects the PDF by its file signature, extracts the embedded XML, and validates that.
- Endpoint: same as UBL/CII — upload the
.pdfas thefilefield
SAP IDoc XML
SAP's INVOIC IDoc format. Converted to xingen's canonical invoice model before EN 16931 rules run.
- Endpoint:
POST /v1/invoices/validate/idoc
SAP OData (SupplierInvoice)
A SAP S/4HANA OData SupplierInvoice entity payload, submitted directly as JSON — no file export needed.
- Endpoint:
POST /v1/invoices/validate/odata
Structured JSON
Your own invoice data (invoice number, parties, lines) submitted directly, without generating XML yourself.
- Endpoint:
POST /v1/invoices
Plain PDF (AI extraction)
A plain, non-standardized invoice PDF — including scanned or image-based PDFs — with no embedded XML at all. xingen uses Claude AI to extract the invoice fields, then validates the result like any other submission. Available from the dashboard UI or directly via the API.
- Endpoint:
POST /v1/invoices/extract(multipart/form-data,filefield, optionaltierofFAST/ACCURATE)
Output
xingen exports a validated invoice in two fixed formats. For invoices already in a structured format (UBL, CII, IDoc, OData, JSON) there is no general-purpose reformatting endpoint — the two exports below only apply to an invoice that's already been submitted and validated. The one exception is a plain PDF submitted via POST /v1/invoices/extract: that endpoint's whole purpose is turning it into a ZUGFeRD PDF.
- ZUGFeRD PDF —
GET /v1/invoices/{id}/download— PDF/A-3 with embedded CII XML - SAP IDoc XML —
GET /v1/invoices/{id}/download/idoc
Validation profiles
The profile parameter selects which ruleset validates the parsed invoice, independent of the input format above:
| Profile | Rules applied | Plan |
|---|---|---|
EN16931 | European core invoice standard (EN 16931) | Free |
PEPPOL | EN 16931 + PEPPOL BIS Billing 3.0 | Free |
XRECHNUNG | EN 16931 + German XRechnung (incl. Leitweg-ID) | Pro |
See Authentication for plan gating details.