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.