| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1957 |
| Technical Name |
xrechnung_visualization_xslt |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1957 |
| Technical Name |
xrechnung_visualization_xslt |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
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 answers this with an official visualization: an XSLT transformation that renders the XML as a clean, standardized HTML invoice. This module brings that capability into Odoo for both XRechnung syntaxes and for ZUGFeRD / Factur-X hybrid PDFs, 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. You can render with the native engine or through the XSLT stylesheet â both produce a consistent result.
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
| Section | Contents |
|---|---|
| Header | Document type, detected syntax (UBL / CII) and profile (XRechnung 3.x, ZUGFeRD/EN 16931, Peppol BIS) |
| Parties | Seller, buyer and payee with full postal address, VAT/tax identifiers, legal registration, electronic address and contact group |
| Metadata | Invoice number, issue/due/tax-point/delivery dates, Buyer reference (Leitweg-ID), order, contract, project and preceding-invoice references |
| Lines | Item, description, article number, quantity with unit, net price, VAT category and rate, net amount |
| Allowances & charges | Document-level allowances and charges with reason and VAT |
| VAT breakdown | One row per VAT category with taxable base, rate, VAT amount and any exemption reason |
| Totals | Line total, allowances, charges, net total, VAT total, gross, prepaid, rounding and amount due |
| Payment | Payment 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
.htmlfile (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
Visualize E Invoice
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module