# E-invoice viewer

Source: https://xmlvalid.com/tools/e-invoice-viewer

> Turn an XRechnung, ZUGFeRD, Factur-X or Peppol invoice into something a person can read: parties, lines, totals, payment details and attached files. Open the XML, or the PDF that carries it. Everything runs in your browser.

## What it reads

The viewer renders invoices with the [XRechnung visualization](https://github.com/itplr-kosit/xrechnung-visualization) of KoSIT, the German coordination office behind XRechnung (release 2026-10-13). It works on the EN 16931 model, so it reads more than XRechnung:

- **UBL 2.1** Invoice and CreditNote: XRechnung UBL, Peppol BIS Billing 3.0, EN 16931 UBL and the national rules built on it.
- **CII D16B** (UN/CEFACT Cross Industry Invoice): ZUGFeRD 2, Factur-X and XRechnung CII.

The invoice opens in tabs: an overview with the parties, totals and payment, the details of every line, supplements (notes, delivery, references), the attached files and a routing slip. Labels are in English or German.

## ZUGFeRD and Factur-X PDFs

Open the PDF itself: the viewer takes the XML out of it (`factur-x.xml`, `zugferd-invoice.xml` or `xrechnung.xml`) in your browser and shows it. The PDF's pages are the seller's own picture of the invoice; the XML is what counts for tax, and what this page shows.

## Printing and saving

**Print or save as PDF** opens your browser's print dialog for the rendered invoice; choose "Save as PDF" as the printer to get a file. **Download HTML** saves the page with its tabs. Files attached to the invoice (BT-125) can be saved one by one above it. A rendering is a copy for reading: the XML is the invoice to archive.

## Viewing is not checking

The viewer shows what an invoice says, not whether it is right: an invoice with a missing field or a wrong total renders all the same. To check it against the XML Schema and the business rules of XRechnung, Peppol, Factur-X or EN 16931, open it in the [validator](https://xmlvalid.com/validate). For the lines as a spreadsheet, use [XML to CSV](https://xmlvalid.com/tools/xml-to-csv).

## Questions

### Is my invoice uploaded?

No. The XML is read, and taken out of the PDF, in your browser, and KoSIT's stylesheets run there with SaxonJS.

### Is this the official XRechnung viewer?

It runs KoSIT's published visualization unchanged, the stylesheets behind many XRechnung viewers, in your browser instead of a desktop program.

### Why does my invoice not show?

The viewer reads UBL Invoice and CreditNote and CII D16B. ZUGFeRD 1.0 (CrossIndustryDocument) and other formats, such as FatturaPA, are not supported.

### Which languages are there?

English and German labels, from KoSIT's translations. The invoice's own text stays as written.

### Other tools

- [XML formatter](https://xmlvalid.com/tools/xml-formatter): Pretty-print or minify XML, keeping text, CDATA and comments as written.
- [XPath tester](https://xmlvalid.com/tools/xpath-tester): Evaluate XPath 3.1 against a document and see each match with its line.
- [XSD generator](https://xmlvalid.com/tools/xsd-generator): Infer an XML Schema from sample documents, checked against them.
- [XML from XSD](https://xmlvalid.com/tools/xsd-to-xml): Generate a sample XML document from a schema, validated against it.
- [XSLT transformer](https://xmlvalid.com/tools/xslt-transformer): Run XSLT 1.0, 2.0 or 3.0 on a document and see the result, the messages and the files it writes.
- [XML diff](https://xmlvalid.com/tools/xml-diff): Compare two XML documents as trees: changed, added and removed elements, attributes and text.
- [XML to JSON converter](https://xmlvalid.com/tools/xml-to-json): Convert XML to JSON, with arrays where an element repeats or wherever its XSD allows.
- [JSON to XML converter](https://xmlvalid.com/tools/json-to-xml): Convert JSON to XML: @keys become attributes, arrays repeated elements.
- [XML to CSV converter](https://xmlvalid.com/tools/xml-to-csv): Turn a repeating element into CSV rows: invoice lines, products, records.
- [XML validator](https://xmlvalid.com/validate): check a document against XSD, DTD, RelaxNG or Schematron, up to 1 GB.
