E-invoice XML frequently asked questions and examples
The questions that come up after opening an invoice, not before — plus what the codes mean, three worked examples and where to look each validation rule up.
The tool itself
E-Invoice Viewer
Drop an XML or ZUGFeRD/Factur-X PDF, read it like an invoice, check it against EN 16931.
Open the viewerSix more questions
The four asked before anyone opens anything — what an e-invoice XML is, how to open one, whether a PDF counts, whether the file is uploaded — are answered on the tool page itself, where they are needed. These six come up afterwards.
- Does a clean result mean the invoice is legally valid?
- It means the document passed the rules listed in the report. Those are the core EN 16931 rules plus the XRechnung and Peppol rules we name, not the complete national rule set. For a formal conformance check, use the European Commission's eInvoice validator.
- What do codes like BR-CO-15 mean?
- They are the published rule identifiers from EN 16931. BR-CO-15 says the invoice total with VAT must equal the total without VAT plus the VAT amount. Every finding shows its identifier so you can look up the exact wording of the rule.
- What is the Leitweg-ID and where is it?
- It is the routing identifier German public-sector buyers require. It travels in the buyer reference field, BT-10, and XRechnung rule BR-DE-15 makes it mandatory. E-Invoice Viewer shows the field and reports when it is missing.
- Can it open credit notes?
- Yes. UBL credit notes and CII documents with a credit-note type code are read the same way as invoices.
- Can I get the data into a spreadsheet?
- Yes. The invoice header and its line items can be exported as CSV, which opens directly in Excel, Numbers or Google Sheets.
- Why did I suddenly start receiving these?
- Because receiving structured e-invoices became mandatory before issuing them did. Belgium's mandate started in January 2026, Poland's in 2026, France's receiving obligation on 1 September 2026, and Germany's receiving obligation has applied since January 2025.
What it looks like on a real document
Three cases, taken from the documents this reader was built against.
A German supplier sends an XRechnung
Input: a single .xml file, UBL syntax, specification identifier ending in xrechnung_3.0.
Output: the supplier and buyer with their VAT identifiers, the buyer reference carrying the Leitweg-ID, every line with quantity, unit and net amount, the VAT breakdown per category, and the payable amount.
If the buyer reference is absent, the report raises BR-DE-15 — the rule a German public-sector buyer's system will reject the invoice on.
A PDF that is really an e-invoice
Input: a .pdf that looks like an ordinary invoice.
Output: the XML embedded inside the PDF is extracted and read; the profile line states which ZUGFeRD or Factur-X conformance level the document claims.
If the PDF carries no embedded XML, it is an ordinary PDF and the reader says so rather than guessing at the numbers.
An invoice your system refused
Input: the file your accounts payable software rejected without saying why.
Output: the totals recalculated exactly, at full decimal precision.
A finding such as BR-CO-15 — invoice total with VAT must equal the total without VAT plus the VAT amount — names the term to ask the supplier to correct, with both the stated and the computed figure.
Who needs to read an e-invoice
Anyone holding a structured invoice and no software that will open it.
Small businesses and freelancers
You must be able to receive e-invoices, but you do not need a bookkeeping suite to read one. Open it, check it, forward it.
Accountants and bookkeepers
Check a client's incoming document before it enters the books, and see immediately whether a missing field is the reason it was rejected.
Accounts payable
When a supplier's invoice is refused by your system, the rule identifier tells you which term is wrong and what to ask the supplier to fix.
Developers and integrators
Compare what your generator produced against the standard, and see the parsed semantic model next to the raw document.
Reference
Every validation rule, one page each
Each EN 16931, XRechnung and Peppol rule the viewer checks, with the official message, the element path and the allowed values.
See every validation ruleThe tool
Open an invoice now
Drop the file you already have. Nothing to install, no account, no upload.
Open an invoice