UBL/Peppol Invoice Validator: check your XML e-invoice online
Paste or upload a UBL XML file and instantly check whether it's well-formed and a recognized UBL 2.1 Invoice or CreditNote document — the two document types used in Peppol e-invoicing.
🔒 Runs entirely in your browser — your file is never uploaded anywhere.
or drag and drop an .xml file here
What does this check?
Phase 1 of this validator deliberately checks two things only:
- Well-formed XML — the file parses without syntax errors (via your browser's native XML parser).
- Recognized UBL root element — the document's root element is
<Invoice>or<CreditNote>in the UBL 2.1 namespace (urn:oasis:names:specification:ubl:schema:xsd:Invoice-2or...CreditNote-2).
It does not check mandatory fields, Peppol BIS Billing 3.0 business rules, or schematron validation — a "valid" result here means your file is structurally a UBL invoice or credit note, not that it will be accepted by every Peppol access point or accounting system.
FAQ
Is my invoice data uploaded anywhere?
No. Parsing and validation happen entirely in your browser using JavaScript — the file
content is never sent to a server.
What's the difference between UBL and Peppol?
UBL (Universal Business Language) is the XML format; Peppol is the network and rule set
(BIS Billing 3.0) that defines which UBL fields are mandatory for e-invoicing across the
EU. This tool checks the UBL structure, not the full Peppol business rules.
Why does a well-formed UBL file still get rejected by my accounting software?
Well-formed XML with a correct root element can still be missing mandatory Peppol BIS
fields (like a buyer reference or tax breakdown) — this Phase 1 check doesn't catch that
yet.