e-Factura validator
Free check of a Romanian e-Factura XML (UBL 2.1) against the EN 16931 rules and the common CIUS-RO checks, no account needed.
What it does
The public page /validator-e-factura checks an e-Factura XML file (Invoice or CreditNote, UBL 2.1), uploaded or pasted into the page. No account is needed.
What is checked
- Structure: well-formed XML with an
InvoiceorCreditNoteroot in the UBL 2.1 namespace.DOCTYPEandENTITYdeclarations are refused before any processing. - EN 16931: the official CEN schematron (version
validation-1.3.16), run in full. Rule messages are shown in English exactly as CEN published them, with the rule id and the XPath location. - Common CIUS-RO checks: supplier CIF (format and check digit), county on Romanian addresses (ISO 3166-2:RO code), Bucharest addresses (
RO-BandSECTOR1–SECTOR6), currency code, at least one line and totals consistency (0.02 tolerance).
A document that the EN 16931 rules did not recognise at all (zero rules evaluated) is reported as "not recognised", never as valid. If the validation engine cannot run, the page says the validator is unavailable, not that the file is valid.
Privacy
The file is checked in memory on the server and discarded right after the response. It is not saved, not logged and not sent to any other service.
Limits
- at most 1 MB per file;
- at most 10 checks per minute from the same IP address.
How this differs from ANAF validation
ANAF makes the final decision: the e-Factura validation service and the SPV response after upload. The Brivio validator is a pre-check: it covers the European rules and a small set of CIUS-RO rules, not all of them, and it does not check whether a company exists or is VAT-registered.
API
The route behind the page (/api/public/efactura-validate) serves the web page only. It is not a public API contract, is not in the OpenAPI specification and may change with the page. For integrations use the Brivio API described in the Developers section.