The API

The same explanations, plus deterministic repair, over HTTP.

Validate

curl -X POST https://einvoice.mgsoft.sk/v1/validate \
     -H 'Content-Type: application/xml' \
     -H 'X-API-Key: YOUR_KEY' \
     --data-binary @invoice.xml

Returns every failure with the rule ID, the affected BT/BG field, a plain-language explanation, and whether it can be repaired.

Repair

curl -X POST https://einvoice.mgsoft.sk/v1/repair \
     -H 'Content-Type: application/json' \
     -H 'X-API-Key: YOUR_KEY' \
     -d '{"xml": "...", "inputs": {"buyer_reference": "PO-4711"}}'

33 rules have a repair implementation. Every change is reported with its before and after value; the document is re-validated afterwards, and a fix that would introduce a new failure is rolled back and named rather than silently kept.

Rules, free and unmetered

curl https://einvoice.mgsoft.sk/v1/rules/PEPPOL-EN16931-R003

The catalogue needs no key and is never metered.

What it will not do

It will not invent business data. No guessed VAT rates, no fabricated identifiers, no defaulted issue dates. If a fix needs something only you know, it is reported as needing your input — or as a decision only you can make.

Privacy

Invoices are processed in memory. They are never written to disk and never logged; logs record rule IDs, syntax, country and timing only. Nothing about your invoice is retained after the response is returned.

Docs

Interactive API documentation · OpenAPI spec

← All rules