xingen

Error Reference

All errors follow a consistent JSON shape. Validation errors also carry line and path so you can surface them directly in your UI without post-processing.

Error object shape

{
  "valid": false,
  "errors": [
    {
      "code": "BR-01",
      "severity": "error",       // "error" | "warning" | "info"
      "message": "An Invoice shall have a Specification identifier.",
      "path": "/Invoice/CustomizationID",
      "line": 3,
      "suggestion": "Add <cbc:CustomizationID>urn:cen.eu:en16931...</cbc:CustomizationID>"
    }
  ]
}

HTTP status codes

StatusMeaning
200Request processed. Check valid field for invoice validity.
400Malformed request (bad content type, empty body, unsupported format).
401Missing or invalid API key.
403Valid key but insufficient scope for this endpoint.
413File exceeds 10 MB limit.
422File is parseable but structurally invalid (not a recognised invoice format).
429Rate limit exceeded. Retry after the Retry-After header value (seconds).
500Internal server error. Retrying with exponential backoff is safe.

Common validation error codes

CodeRuleDescription
BR-01EN16931Missing CustomizationID (specification identifier).
BR-02EN16931Missing Invoice number.
BR-03EN16931Missing Invoice issue date.
BR-04EN16931Missing Invoice type code.
BR-10EN16931Missing Buyer name.
BR-11EN16931Missing Seller name.
BR-CO-15EN16931Invoice total VAT amount must equal the sum of tax subtotals.
XR-01XRechnungBuyer reference (Leitweg-ID) is required for public-sector buyers.
XR-02XRechnungInvalid Leitweg-ID format.
ZF-01ZUGFeRDEmbedded XML does not match PDF metadata.
ZF-02ZUGFeRDPDF is not PDF/A-3 compliant.