eInvoice Viewer for PEPPOL & EN16931 turns an uploaded electronic invoice into a clear, structured HTML view directly on your page – without any external service and without storing the file.
Add the [einvoice_viewer] shortcode to a page and your visitors can drag and drop an electronic invoice into the viewer. The document is read and rendered entirely in the visitor’s own browser – it is never uploaded to your server. The result (invoice header, parties, order and delivery data, payment details, line items, VAT breakdown and totals) appears instantly, without a page reload and without a single byte of the invoice ever crossing the network. The layout is inspired by the official ZUGFeRD Quba viewer and is rendered inside a Shadow DOM, so it looks identical in every theme.
bt="1" / bt="0".DOMParser (no server-side XML parser, so no XXE surface for the upload itself); every invoice value is escaped on output. Sibling paid extensions that genuinely need server-side processing (validation, export, …) keep their own independent upload, nonce and rate-limit handling.spev_code_tooltip, spev_invoice_model) let an add-on extend the BT/BG tooltips and the invoice model itself.Reading and format handling is powered by horstoeko/invoicesuite and horstoeko/zugferdublbridge (MIT license), bundled in the plugin’s vendor/ directory. Extracting the embedded XML from a ZUGFeRD / Factur-X PDF additionally uses prinsfrank/pdfparser and setasign/fpdi (also MIT). The complete dependency list with its licenses is in composer.lock.