Skip to Content

XRechnung Viewer EU

72.45 72.45

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

XRechnung & ZUGFeRD Visualization - Offline XSLT-to-HTML Invoice Viewer (EU)

Turn EN 16931 UBL 2.1 and UN/CEFACT CII e-invoices - and hybrid ZUGFeRD / Factur-X PDFs - into a standardized, human-readable HTML preview. 100% offline. No cloud, no API, no data leaves your database.

Why this module

Structured e-invoices are machine-readable XML - illegible to a human who needs to check a figure or approve a payment. The German XRechnung standard defines a visualization concept: rendering the XML as a clean, standardized HTML invoice. This module implements that concept in Odoo for both XRechnung syntaxes and for ZUGFeRD / Factur-X hybrid PDFs using a custom offline Python engine (not the official KoSIT stylesheets), and it runs entirely on your own server - there is no external service, no upload, and no internet access required.

Both XRechnung syntaxes

Renders OASIS UBL 2.1 Invoice and CreditNote documents and UN/CEFACT CII (CrossIndustryInvoice). The two very different XML vocabularies are mapped onto one syntax-neutral EN 16931 model, so the preview looks the same whichever syntax your trading partner sent.

ZUGFeRD / Factur-X PDFs

Drop in a hybrid PDF/A-3 and the module extracts the embedded factur-x.xml / zugferd-invoice.xml / xrechnung.xml attachment - with a dependency-free, pure offline reader - then visualizes the structured data inside it.

Genuine bundled XSLT

A real XSLT 1.0 stylesheet ships with the module and is executed offline by libxslt. It normalizes either syntax into a common vocabulary. The Python engine is the full-featured path (payment terms, payee, notes, all document references and allowances). The XSLT engine covers the core fields: parties, lines, VAT breakdown and totals.

EN 16931 aware

Code lists are expanded to plain language (document type, VAT category, payment means, units, allowance/charge reasons), and the totals are checked against EN 16931 rules BR-CO-15 and BR-CO-16; an arithmetically inconsistent document is clearly flagged.

What you get in the preview

SectionContents
HeaderDocument type, detected syntax (UBL / CII) and profile (XRechnung 3.x, ZUGFeRD/EN 16931, Peppol BIS)
PartiesSeller, buyer and payee with full postal address, VAT/tax identifiers, legal registration, electronic address and contact group
MetadataInvoice number, issue/due/tax-point/delivery dates, Buyer reference (Leitweg-ID), order, contract, project and preceding-invoice references
LinesItem, description, article number, quantity with unit, net price, VAT category and rate, net amount
Allowances & chargesDocument-level allowances and charges with reason and VAT
VAT breakdownOne row per VAT category with taxable base, rate, VAT amount and any exemption reason
TotalsLine total, allowances, charges, net total, VAT total, gross, prepaid, rounding and amount due
PaymentPayment means, IBAN, BIC, account holder and payment terms

How it works

  • Open a customer or vendor invoice and click Visualize E-Invoice - the module finds the EN 16931 attachment (XML or hybrid PDF) and renders it.
  • Or use the Visualize E-Invoice wizard under Accounting to upload any file ad hoc.
  • The standardized HTML is shown inline, saved as a permanent record, and downloadable as a self-contained .html file (inline CSS, no JavaScript, no external assets).
  • Every render stores the detected syntax, profile, document type, totals and a SHA-256 hash of the source for traceability and search.

Privacy & scope

This is a pure visualization utility. It reads and renders existing EN 16931 documents; it does not create, sign, validate against a schema authority, or transmit invoices. All processing happens locally on your Odoo server with XML external-entity resolution disabled and no network access. The legally relevant document always remains the original XML - the HTML is a faithful human-readable view of it.

Compatible with Odoo 18 and Odoo 19. Community base only (account). Requires the standard lxml library.

Screenshots

Visualizations

Visualizations

Visualize E Invoice

Visualize E Invoice

Update date: 2026-07-02