Let your visitors drop an electronic invoice onto your page and see it as a clear, structured view instantly — without any external service and without storing the file. A standalone WordPress plugin that reproduces the core function of the ZUGFeRD Quba viewer, right inside a simple shortcode.
Whether you offer an e-invoice demo, a validation helper, or a customer-facing viewer, this plugin reads ZUGFeRD / Factur-X PDFs and CII / UBL / XRechnung XML files and renders every invoice field — optionally with the matching EN 16931 business-term numbers (BT-…). The result is displayed inline via AJAX, inside a Shadow DOM, so it looks identical in every theme.
ZUGFeRD / Factur-X (PDF) — the embedded XML is extracted and read automatically. CII (UN/CEFACT) XML — read directly. UBL / XRechnung (XML) — converted to CII internally and then read.
A single-scroll layout with coloured section tabs (filled = data present, light = empty section): a hero header with the highlighted amount due, followed by invoice data, buyer, seller, order/contract data, delivery information, payment, line items, VAT breakdown, totals, notes and attachments. All fields are always shown — even empty ones — exactly like the original viewer.
Each field can be labelled with its EN 16931 business-term number. Visitors toggle the numbers live via a switch in the viewer, and you set the default per embed via the shortcode attribute bt=”1” / bt=”0” or globally in the settings. The field mapping was verified against the official EN 16931 specification.
The viewer is rendered inside a Shadow DOM with a full :host style reset and px units throughout, so no inheritable theme styles (font, size, colour, line-height) cross the boundary. The result looks identical in every WordPress theme.
XXE protection (DOCTYPE rejection, no external entity loader, no network access while parsing), upload validation (extension + finfo MIME check + size limit), nonce-based CSRF protection with a live nonce against page caching, and a per-visitor daily upload rate limit. The file is processed in memory only and is never stored; every invoice value is escaped on output.
The data extraction is separated from the HTML rendering, so additional layouts can be added as a template subclass without touching the extraction logic.
Why not pixel-perfect to Quba? The Quba viewer transforms with the KoSIT XRechnung XSLT 3.0 via Saxon-JS; PHP only supports XSLT 1.0. An own, Quba-inspired PHP template is used instead — functionally equivalent, but not the identical KoSIT markup.
2.0.1
2.0.0
$65 |
Download |
0 average based on 0 ratings.
| Last Update | 2026-07-04 |
| Created | 2026-07-04 |
| Sales | 0 |
| Discussion | Comments |
| Compatible Browsers | Firefox Safari Opera Chrome Edge |
| Software Version | WordPress 7.0.x WordPress 6.9.x WordPress 6.8.x WordPress 6.7.x WordPress 6.6.x WordPress 6.5.x |
| Compatible With | |
| Gutenberg Optimized | |
| High Resolution | |
| Files Included | JavaScript JS JavaScript JSON HTML CSS PHP |
| Video Preview Resolution |