Validate invoice data

Validate invoice data against country-specific rules and e-invoice format requirements. Generates every e-invoice format the country supports and checks the resulting XML against its official XSD + Schematron (ebInterface 6.1: rules derived from the official documentation, there is no official Schematron). `validation` carries the format verdict: `status: not_run` with `reason: missing` when we have no pinned rulebook for a format (`valid: null`, never `true`). Billed like generation: **1 unit per checked format**, charged on that format's `create` entitlement. Formats the key holds no entitlement for are not checked and appear in `results[]` with `skipped: "not entitled"`. If the remaining quota does not cover all checked formats the call is rejected with 429 and nothing is checked.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

countryCodeenumRequired

ISO 3166-1 alpha-2 country code (lowercase). Determines country-specific validation and available e-invoice formats. Supported countries (37): ae, at, au, be, bg, ch, cy, cz, de, dk, ee, es, fi, fr, gb, gr, hr, hu, ie, is, it, jp, li, lt, lu, lv, mt, nl, no, nz, om, pl, pt, ro, se, si, sk.

Request

This endpoint expects an object.
invoiceobjectRequired
Invoice data to validate

Response

Validation result
validboolean

Input-data verdict: the country rules applied to the invoice object (required fields, totals, VAT IDs). This is NOT format conformance — an invoice can be valid here while a format in results[] fails XSD or Schematron (e.g. BR-DE-2 seller contact). Gate a send on valid AND every results[].valid.

errorslist of objectsOptional
Validation errors
warningslist of objectsOptional
Validation warnings
resultslist of objectsOptional

Per-format validation results — the generated XML validated against its XSD + Schematron. For ZUGFeRD/Factur-X this includes every profile. Each checked format is billed as one unit on that format’s create entitlement; formats the key is not entitled for carry skipped: "not entitled" and were not checked.

validationobjectOptional

Format verdict over the checked formats in results[] (not the skipped ones): status passed, failed or not_run. not_run with reason: missing means we have no pinned rulebook for a format, so it was not checked against its business rules; valid is then null, never true. Absent when no format was checked.

Errors

400
Validate Invoices Request Bad Request Error
401
Validate Invoices Request Unauthorized Error
429
Validate Invoices Request Too Many Requests Error
500
Validate Invoices Request Internal Server Error