About this site
E-Invoice Reader opens electronic invoices so that a person can read them. It runs entirely in your browser.
What it does
- It tells you what the file you were sent is: UBL, UN/CEFACT CII, a Factur-X or ZUGFeRD PDF, XRechnung, Peppol BIS. Formats it does not read — EDIFACT, FatturaPA, ISDOC, KSeF FA(3), Facturae — it names rather than guesses at.
- It also opens what invoices come wrapped in: a ZIP archive, a saved email (.eml) or a signed .p7m file — the signature itself is not checked. With several invoices open, it lists them in one overview that you can download as a spreadsheet (CSV).
- It shows the invoice in your language, with codes turned into words, and every value traceable to the field of the European standard EN 16931 it comes from.
- For a Factur-X or ZUGFeRD PDF, it opens the invoice data inside the PDF and looks for its most important values on the visible page, because the data is what accounting software books and the page is what a person approves.
- On request, it checks the invoice against its XML schema (UBL 2.1 or CII D16B) and the rules of EN 16931 and, when the invoice claims them, XRechnung (the Peppol BIS rules are not included yet; a Peppol invoice is checked against EN 16931) — naming each rule set it ran, with its version, and each one it did not.
What it does not do
- It does not send, submit, file or report invoices. It only reads them.
- It is not a certified delivery provider, a Peppol access point or an approved platform, and it is not trying to become one.
- It does not tell you an invoice is legally valid. Passing means only that the rule sets named in the report found no errors; other national rules are not checked yet. For Slovak parties it also checks the electronic address against the Slovak Peppol Authority's identifier requirement (0245 and a ten-digit DIČ).
- It is not legal or tax advice.
Your invoice stays on your device
When you open an invoice here, it is read by code running in your browser. The site is a set of static files: there is no server that receives invoices, and no upload.
This is enforced, not just promised. Every page is served with a security policy (connect-src 'none') under which its code cannot make network requests at all, and our build fails if code that could send data ever appears. You can see it yourself: open your browser’s developer tools, choose the Network tab, and open an invoice. Nothing leaves the page.
Checking an invoice against the rules loads the rule sets from this site, like any other part of the page. The invoice itself is checked in your browser and is not sent anywhere.
What no website can avoid: our hosting provider, Cloudflare, sees that your browser loaded the page — your IP address and which pages were requested — as it does for every site it hosts. It never sees your invoice.
How the site is funded
The site is free and needs no account. We intend to fund it with advertising later. Today there are no ads, no analytics and no cookies. When that changes, this page will change in the same release — and your invoice will still never leave your device, because that is a property of how the tool is built, not a policy.
Why read an e-invoice at all
You do not have to keep a readable copy such as a PDF — in Slovakia the Financial Directorate says the XML is enough. It adds that you need to be able to display the invoice in readable form on request. And no one can check what they are paying by reading XML.
The rule check uses SaxonJS by Saxonica and the rule sets published by OASIS, UN/CEFACT, CEN/TC 434 and KoSIT; their licences are in the third-party notices.