eInvoice Viewer for PEPPOL & EN16931 – Manual
1 · Overview
The eInvoice Viewer shows an XRechnung, ZUGFeRD, Factur-X or Peppol invoice as a structured, readable document. The file never leaves the browser. It comes in two delivery forms that are one product: as a WordPress plugin and as an app, that is, as a folder with an HTML file. Both show the same view, have the same toolbar and carry the same version number. The plugin is the app plus control: roles, daily limits, "available from role", the storage of the settings on the website and the connection to a validation engine. Chapters 1 to 11 of this manual describe both together. Where plugin and app differ, a short reference points to chapter 12 "As an app" or chapter 13 "As a WordPress plugin". The publisher is invoicePress.
An e-invoice is an XML file. It is written for programs and barely readable for people. The eInvoice Viewer turns it into a structured document: you drag the file into the Viewer and see seller, buyer, line items, taxes and totals the way you are used to seeing an invoice.
screenshots/viewer-beleg.en.pngAn opened invoice: dark blue document header with the amount due, blue disclaimer, below it the blocks "Invoice data", "Buyer" and "Seller". BT numbers hidden.Who it is for
Accounting departments, small businesses, law and tax firms and anyone who receives an e-invoice and wants to know what it contains; also operators of websites, intranets and portals who want to offer their visitors an invoice reader.
What it can do
- It reads ZUGFeRD/Factur-X PDF, CII XML and UBL XML (XRechnung, Peppol BIS Billing 3.0, including credit notes).
- It shows every field of EN 16931, including the empty ones; a switch hides the empty ones.
- It shows the BT and BG numbers with name and description in the tooltip.
- It shows code values with code and name, for example "380 - Invoice".
- It recalculates line amounts, VAT breakdown and totals and marks deviations.
- It marks fields that violate a rule derived from the invoice itself.
- It shows the invoice's attachments for viewing and saving.
- It adapts to the space it is placed in and looks the same in every theme and on every page.
What it cannot do
- It does not check an invoice for validity. That is the job of a validator.
- From a PDF it reads only the embedded XML, never the printed page. It cannot read a scan.
- It does not store any invoice and keeps no list of opened invoices.
- It shows the fields of the extending profiles only with the "Extended Profiles" add-on.
In which forms it is available
| Delivery form | Price and source | Requirement | How to use it |
|---|---|---|---|
| WordPress plugin | free, wordpress.org | WordPress 5.8 or later, PHP 8.2 or later | place the shortcode [spev_einvoice_viewer] on a page |
| App as a folder | free, download from apps.invoicepress.de | a current browser | place the folder and open einvoice-viewer-for-peppol-en16931.html |
| Demo | free, in the browser on invoicepress.de | a current browser | try it out without downloading anything |
2 · Installing
Neither delivery form needs a third-party service, an account or a key.
As a WordPress plugin
You need WordPress 5.8 or later and PHP 8.2 or later.
The attributes of the shortcode and the settings page are described in chapter 13.
As an app
You only need a current browser: Chrome, Edge, Firefox or Safari.
Note: The app runs the same everywhere. All paths in the folder are relative. It therefore makes no difference whether you open the file by double-clicking it on the hard disk, from a network drive or from a web server.
The structure of the folder, the file config.js and the embedding in an existing page are described in chapter 12.
3 · First steps
This is how you get to your first invoice in one minute.
screenshots/viewer-ablage.en.pngThe empty drop area with the text "Drag an e-invoice here or click to choose a file".Caution: An ordinary PDF is not enough. From a PDF the Viewer reads only the embedded XML. A scan or an ordinary invoice PDF contains none; the Viewer then says so instead of showing an empty view.
4 · Working with the Viewer
4.1 Reading the view
The colours named here apply to the standard design Kit H. With Kit A they look different (chapter 13).
| Part | What you see |
|---|---|
| Document header | A dark blue area shows invoice type, number, date and currency on the left and the amount due on the right. |
| Disclaimer | A blue notice says: "We accept no liability for the correctness of the data." |
| Check notice | A yellow box says what the Viewer checks and that this is not a complete validation (section 4.4). |
| Block | Each group of the standard is in a block. Its name sits as a flag at the top left: dark blue if the group carries values, light blue if it is empty. |
| Field row | The label on the left, the value on the right. An empty field appears as "—". |
| Line items | Each invoice line is on a light grey area with its own blocks. |
| Totals | Each total has its own row; the grand total and the amount due are highlighted. |
4.2 The toolbar
Below the drop area, the switches stand on the left. Below them come the buttons, right-aligned across the width of the invoice: first the buttons of the add-ons and the validation buttons, then the field browser and the rule browser. The first button stands on the far right, each further one to its left; when the row is full, a new one begins above it. At the very bottom, Reset stands alone. Above the drop area is the Settings button, as soon as an add-on brings its own settings; it opens the settings dialog (chapter 5). In version 2.36.0 no add-on brings its own settings yet, so the button does not appear yet.
screenshots/viewer-werkzeugleiste.en.pngThe toolbar above the invoice with the switches "Show BT codes" and "Only filled fields" and the "Reset" button.4.3 Showing and hiding BT numbers
Each field of the standard has a number, for example BT-1 for the invoice number. The switch Show BT codes shows and hides the numbers immediately. Whether the numbers are already visible when an invoice is opened is set in the plugin by the settings page or the shortcode (chapter 13).
screenshots/viewer-bt-nummern.en.pngThe same invoice with BT and BG numbers shown.When you move the mouse over a number, you see the name and a short description of the field in the wording of the specification, in German, English or French. An add-on can place a second small badge next to the number, for example the name of the code list a code comes from.
screenshots/viewer-tooltip.en.pngThe mouse pointer rests on a BT number; the tooltip shows name and description.4.4 Showing only filled fields
By default the Viewer shows every field the standard provides. This way you see what this invoice has left out. The switch Only filled fields hides the empty ones; an empty subgroup disappears together with its heading. A marked field always remains visible. If the Extended Profiles add-on is installed, the switch Only filled BT-X fields is added; it is switched on in advance and hides empty fields of the extension.
4.5 Understanding notices
The Viewer gives two kinds of notices. Both are marked red and carry a line with the explanation. The value from the invoice always remains unchanged.
| Notice | What is checked | Example |
|---|---|---|
| Amount does not add up | the net amount of each line, the taxable amount and tax amount of each VAT category and the totals up to the amount due | "Stated 39.62 EUR, calculated 37.62 EUR." |
| Rule from the invoice violated | missing mandatory fields, the rules of the VAT categories, the order of dates | a due date before the invoice date or a period that ends before its start |
screenshots/viewer-rechenhinweis.en.pngThe VAT breakdown with a red-marked amount and the line "Stated …, calculated …".screenshots/viewer-hinweis-pflichtfeld.en.pngA red-marked field with the line "Missing, although EN 16931 requires this field here".Caution: This is not a complete validation. The yellow box above the invoice says what the Viewer checks: the mandatory fields, the rules of the VAT categories, the order of dates and whether the totals add up. Only a validator checks all rules of the specification. An invoice without a red mark is therefore not automatically valid. The check digit of an IBAN is not checked by the Viewer but by the Identifier Check add-on.
4.6 Viewing and saving attachments
Below the invoice is the section Attachments with identifier, description, file name, type and size of each attachment. You can view a PDF or an image in place. PDF, PNG, JPEG, CSV, XLSX and ODS can be saved; the Viewer first checks whether the content matches the stated type. An attachment that the invoice only refers to appears as a link.
screenshots/viewer-anlagen.en.pngThe totals and below them the section "Attachments" with an opened PDF attachment.4.7 Language
The Viewer speaks German, English and French. In the plugin the view follows the language of the page: the language of the logged-in user, otherwise the language of the website; any other language falls back to English. There is deliberately no language switch on a WordPress page. In the app the language of the browser applies; at the top right there are three boxes DE · EN · FR for switching (chapter 12).
Numbers and dates follow the language: German writes 5.900,00 EUR and 01.12.2017, English 5,900.00 EUR and 2017-12-01, French 5 900,00 EUR. If a translation is missing, the English text appears throughout.
5 · Settings
There are three levels of settings.
The switches of the toolbar apply to the opened invoice and are the same in plugin and app: Show BT codes, Only filled fields and, with Extended Profiles, Only filled BT-X fields (chapter 4).
The settings dialog opens via the Settings button above the drop area. It appears as soon as an add-on with its own settings is present, and each add-on can have its own section in it; in version 2.36.0 none does yet. At the bottom of the dialog are the buttons Save, Close, Save as file and Load from file. What is in there is described in the manual of the respective add-on. Where the settings are stored differs: in the app the browser stores them, and a backup file takes them along (chapter 12). In the plugin they are stored on the website, with permissions per section (chapter 13).
screenshots/viewer-einstellungen.en.pngThe settings dialog of the Viewer with a section of an add-on and the buttons for saving and loading.The operator's settings determine how the Viewer runs on a website or in a folder: in the app the file config.js (chapter 12), in the plugin the settings page and the attributes of the shortcode (chapter 13).
6 · Special cases
6.1 The Viewer in a narrow column
The Viewer follows the space it is placed in, not the window. Below 720 pixels of width the two columns become one; below 420 the label moves above its value. In a sidebar it therefore behaves as on a phone.
6.2 An invoice with an extended profile
The Viewer opens an invoice according to ZUGFeRD/Factur-X EXTENDED, XRechnung Extension or EXTENDED-CTC-FR like any other and shows its core fields completely. Below the invoice is a notice that it uses an extension. The additional fields are shown by the "Extended Profiles" add-on.
6.3 Operation without internet or behind a firewall
You do not have to configure anything for this. Fonts, field catalogue, language texts and PDF library are part of the package. The plugin loads them from your own website; the app loads them from its folder and, with the default fontsLocal: true, makes not a single request to the outside, not even a failing one.
6.4 The shortcode appears as text
The shortcode is called [spev_einvoice_viewer]. A page that still contains the former name [einvoice_viewer] shows the square brackets as text. Edit the page once and insert the new name.
7 · Working with other packages
Each add-on works through its presence: if it is installed, its function appears in the same view and in the same toolbar. If it is removed, it is gone again. The file is not read a second time for this. If an add-on has its own settings, it gets a section in the settings dialog (chapter 5).
| Add-on | What is added in the Viewer | Price | Delivery form |
|---|---|---|---|
| Extended Profiles | the fields of ZUGFeRD/Factur-X EXTENDED, XRechnung Extension and EXTENDED-CTC-FR | paid product | plugin and app |
| Technical Details | cardinality, data type and path in the tooltip; field, rule and reference browser | paid product | plugin |
| Visualizer | the invoice as a document in five layouts, as PDF on request | paid product | plugin |
| Identifier Check | checks identifiers such as VAT ID, IBAN, BIC and GLN | paid product | plugin |
| Inbound Check | plausibility questions of accounts payable | paid product | plugin |
| Exporter | transfers the invoice into an Excel file | paid product | plugin |
| eInvoice Validator for KoSIT | a button validates the displayed invoice with your own KoSIT Validator | free | plugin |
| eInvoice Validator for Mustang | its own validation button next to the KoSIT button | free | plugin |
| eInvoice Validator for VAMPIRE | its own validation button next to the KoSIT button | free | plugin |
In the app an add-on is a separate package from the shop. You place its content in the folder of the app; there is no key. For the app, this version offers the Extended Profiles add-on; the other add-ons and the validation buttons exist only for the WordPress plugin (chapters 12 and 13).
8 · If something does not work
| What you see | Why it happens | What to do |
|---|---|---|
| The Viewer reports: "This PDF contains no invoice XML. A scanned or ordinary invoice PDF carries no data that can be evaluated." | The PDF is a scan or an ordinary PDF without embedded XML. | Ask the sender for a ZUGFeRD PDF or the XML file. |
| The Viewer reports: "The file is too large." (plugin) | It is larger than the configured limit (default 8 MB). | Increase the setting "Maximum file size (MB)" (chapter 13). |
| The Viewer reports: "You have reached the daily limit of invoices. Please try again tomorrow." (plugin) | The limit "Invoices per day" for your role or for guests is reached. | Continue the next day, or the operator raises the limit (section 13.3). |
The page shows [einvoice_viewer] as text. (plugin) | The former name of the shortcode. | Replace it with [spev_einvoice_viewer] (chapter 6.4). |
| The Viewer reports: "This invoice uses the extension %s. All core fields are shown; the additional fields of the extension come with the Extended Profiles add-on." | The fields of the extensions are shown only by the "Extended Profiles" add-on. | Install the add-on or work with the core fields. |
| The embedded view has no colours or no field texts. (app) | The attribute data-base on the element does not point to the package folder, or the folder is incomplete. | Point data-base to the folder of the app (chapter 12). |
| The view appears in a different font. (app) | The file assets/css/fonts.css is missing from the head of the page, or the folder with the fonts is missing. | This is not an error; if you want the fonts of the kit, include fonts.css. |
| After an update the app looks as before. (app) | The browser shows the version from its cache. | Reload with Ctrl + F5. |
9 · Privacy and security
- The invoice does not leave the device. It is read in the browser. There is no temporary file, no entry in the media library and no row in the database.
- Fonts, field catalogue and PDF library are part of the package and are loaded from your own website or from the app's own folder.
- A link from the invoice only leads to another server when someone clicks it, and appears only if it begins with
http:orhttps:. - Every value from the invoice is escaped before it appears on the page.
- In the plugin, before each invoice the Viewer briefly asks the website whether access is still granted; it sends no invoice data in doing so (chapter 13).
Caution: Some add-ons change this. The eInvoice Validators for KoSIT, Mustang and VAMPIRE send the invoice to the validator you configure. Exporter, Visualizer, Identifier Check and Inbound Check send the invoice or data read from it to your own WordPress website. Each add-on says so in its own manual.
10 · For developers
The invoice is read in the browser. Code that needs the invoice data talks to the element <einvoice-viewer> on the page.
const viewer = document.querySelector( 'einvoice-viewer' );
viewer.model; // the structured invoice model, or null
viewer.rawXml; // the XML that was read
viewer.syntax; // 'cii' | 'ubl' | null
viewer.file; // the dropped file
viewer.identifiers; // the identifiers found in the document| Event | When it occurs |
|---|---|
einvoice-model-ready | A document has been read and the model has been built. |
einvoice-language-changed | The language has changed and the view has been redrawn. |
einvoice-reset | The visitor has reset. |
All three events bubble up to the document. An add-on extends the invoice model and the tooltips via the hooks extendModel and extendTooltip.
The interface of the element carries number 4 in this version (API = 4). New are addBadge() for a second small badge next to the field number, addSettingsSection() for an own section in the settings dialog, getSettings() for reading the stored values and openSettings() for opening the dialog. With requireViewerApi() from require-api.mjs an add-on checks whether the required interface is present.
| Filter, action or route in PHP | Purpose |
|---|---|
spev_force_enqueue | loads the Viewer's scripts and styles also on a page without the shortcode |
spev_register_settings | lets an add-on create its own section on the settings page |
einvoice_design_kit | sets the design kit of all eInvoice tools in code |
GET/PUT …/settings/<id>, export, import | the REST routes through which the settings dialog in the plugin reads, writes, saves and loads; a write attempt based on an outdated state is rejected with 409 |
The complete description of the interface is in the developer documentation.
11 · Versions
| Delivery form | Version | Licence |
|---|---|---|
| WordPress plugin | 2.36.0 | GPL-2.0-or-later |
| App | 2.36.0 | GPL-2.0-or-later |
Since 2.36.0 plugin and app carry the same version number; the app therefore jumps from 1.11.0 to 2.36.0. The plugin is tested up to WordPress 7.1.
New in 2.36.0 are the Settings button with the settings dialog, the version of the format in the line above the invoice, the embedding of the app in three lines, the loading of the app's add-ons from a list, the common folder name and the manual in the package.
Included is the library Mozilla pdf.js under the Apache License 2.0. The fonts Inter, JetBrains Mono and Space Grotesk are under the SIL Open Font License. The changes per version are listed in the file readme.txt of the plugin and in the file CHANGELOG.md of the app. The manual is in the package in the folder manual.
12 · As an app
12.1 Folder and start file
The app is the folder einvoice-viewer-for-peppol-en16931. It contains the start page einvoice-viewer-for-peppol-en16931.html, the script einvoice-viewer.js, the file config.js, the folders assets/ (fonts, stylesheets, pdf.js), data/ (field catalogues), i18n/ (language texts), addons/ (add-ons), examples/ (examples for embedding) and manual/ (this manual).
Note: The start page einvoice-viewer-for-peppol-en16931.html carries the catalogue files embedded so that it works when double-clicked from the hard disk, where a browser may not load neighbouring files. Embedding in a page on a web server does not need these embedded files; it loads everything from the folder.
The language follows the browser. At the top right there are three boxes DE · EN · FR for switching. The browser remembers the choice under the key einvoice-viewer-lang; it applies again the next time the app is opened.
12.2 The file config.js
The operator's settings are in a single file in the folder: config.js. Open it with a text editor. Data always comes from the folder data/ and never from the network.
Note: Of the six keys, two have an effect in this version: fontsLocal for the start page einvoice-viewer-for-peppol-en16931.html and lang for the embedding in a page of your own (section 12.3). The others are in the file and are described there, but are not evaluated.
| Key | Default | Effect |
|---|---|---|
fontsLocal | true | Applies to the start page. true loads the fonts from the folder assets/fonts/. false loads them from Google Fonts; the IP address of the computer then goes to Google, but no invoice does. When embedding, your page includes the fonts itself. |
lang | empty | Applies when embedding with data-base: de, en or fr sets the language, empty means the language of the browser. A choice the visitor made and an attribute data-lang on the element take precedence. The start page follows the remembered choice, otherwise the browser. |
dataSource | local | No effect in this version; the app only ever reads the folder data/. |
onlineUpdates | false | No effect in this version. |
serviceUrl | empty | No effect in this version. |
allowedProfiles | empty | No effect in this version. |
12.3 Embedding the Viewer in an existing page
If the folder of the app is on a web server, you embed the Viewer in an existing page with three lines. The file examples/embed.html in the folder shows this completely.
<!-- 1 of 3: the fonts, in the head of the page -->
<link rel="stylesheet" href="/path/to/package-folder/assets/css/fonts.css">
<!-- 2 of 3: the element, where the Viewer is to appear -->
<einvoice-viewer data-base="/path/to/package-folder/"></einvoice-viewer>
<!-- 3 of 3: the script -->
<script src="/path/to/package-folder/einvoice-viewer.js"></script>The attribute data-base is the address of the package folder on your server. From it the element reads the file config.js, the data packages, the language texts, the stylesheets and pdf.js. An attribute on the element takes precedence over the value from config.js. The stylesheet of the fonts belongs in the head of the page, because a font rule only works in the document, never inside the element; without it the view appears in system fonts. The view grows with its content. The design of your page does not affect the Viewer, and its design does not affect your page.
screenshots/viewer-einbettung.en.pngThe Viewer as an element in a third-party page with its own design.If your page does not allow its own script, show the start page in a frame. The file examples/embed-iframe.html shows this; the frame has a fixed height.
<iframe src="/path/to/package-folder/einvoice-viewer-for-peppol-en16931.html"
style="width:100%;height:900px;border:0"
title="eInvoice Viewer for PEPPOL & EN16931"></iframe>12.4 Add-ons
An add-on is a separate package from the shop. Unpack its content into the folder of the app; there is no key. The app loads its add-ons from a list in the folder addons. For the app, this version offers the Extended Profiles add-on.
12.5 Settings in the browser and backup file
As soon as an add-on with its own settings is in the folder, the Settings button appears above the drop area; in version 2.36.0 no add-on brings its own settings yet. The values you set in the dialog and confirm with Save are stored by the browser on this computer; they apply again the next time the app is opened. With Save as file the Viewer writes them to a JSON file, with Load from file it reads such a file back in. This is how you take your settings to another computer or into another browser.
Tip: Save the settings to a file before you change browsers or delete the browser's site data; otherwise the browser storage is lost.
12.6 Printing
The folder contains assets/css/kit-print.css; it is not included by default. It sets up the page for paper: white background, no toolbar. To use it, add the following in the head of einvoice-viewer-for-peppol-en16931.html after the kit:
<link rel="stylesheet" href="assets/css/kit-print.css" media="print">12.7 Updating
Note: Up to version 1.11.0 the folder was called einvoice-viewer and the start file einvoice-viewer.html. Since 2.36.0 both carry the name of the product: the folder einvoice-viewer-for-peppol-en16931 and the start file einvoice-viewer-for-peppol-en16931.html. If you update from there, place the new folder and adjust links, frames and data-base attributes.
12.8 SharePoint
SharePoint Online does not execute HTML files from document libraries but offers them for download. This is how it works anyway:
13 · As a WordPress plugin
13.1 The shortcode and its attributes
[spev_einvoice_viewer]
[spev_einvoice_viewer bt="1"]
[spev_einvoice_viewer bt="0" lite="1"]| Attribute | Values | Effect |
|---|---|---|
bt | 1 or 0 | Whether the BT numbers are visible from the start. For this page the attribute takes precedence over the setting. |
lite | 1 or 0 | Whether the view starts with only the filled fields. |
Instead of 1, true, yes and on are also accepted.
13.2 The settings page
The settings are under Settings → E-Invoice Viewer. On a German website the page is called Einstellungen → E-Rechnungs-Viewer.
| Setting | Default | Effect |
|---|---|---|
| Maximum file size (MB) | 8 | The Viewer rejects a larger file before reading it. The check happens in the browser, because the file never reaches the server. |
| Show BT numbers by default | off | Whether the numbers are visible when an invoice is opened. The visitor can switch them at any time. |
| Design kit | Kit H | The design. Kit H is the standard design; Kit A is plainer and uses the system fonts. The choice applies to all eInvoice tools of the website. |
An add-on can create its own section on this page; what is in there is described in its manual.
13.3 Access and limits
The second section of the settings page determines who may use the Viewer how often and from which role each add-on is available. Administrators are never limited.
| Setting | Default | Effect |
|---|---|---|
| Invoices per day, one row for guests and one for each role of the website | empty | Per calendar day. Empty means unlimited, 0 means no access. Logged-in users are counted per user, guests per IP address; whoever has several roles gets the most generous value. The invoice is still read in the browser; before each invoice the Viewer only briefly asks the server whether access is still granted and sends no invoice data in doing so. |
| Count guests via X-Forwarded-For | off | Switch on only behind a reverse proxy or CDN; otherwise a visitor could choose their own counter. |
| Available from role, per installed add-on | Everyone, including guests | The options are: Everyone, including guests; from Subscriber; from Contributor; from Author; from Editor; Administrators only. Below the chosen role the Viewer behaves as if the add-on were not installed: no button, no fields, no requests. |
13.4 Settings on the website
In the plugin the values of the settings dialog are not stored in the visitor's browser but in the database of the website; all visitors see the same settings. Each section belongs to an add-on, and the add-on determines who may read it and who may change it. Guests can read but not write. Each save creates a new revision; if a save is based on an outdated state because someone else has saved in the meantime, the website rejects it. In the plugin, too, the settings can be written to a backup file and loaded from it.
13.5 Validation buttons
If the eInvoice Validator for KoSIT, the eInvoice Validator for Mustang or the eInvoice Validator for VAMPIRE is installed on the website, the toolbar shows a separate validation button for each of them, for example Validate with KoSIT. The button sends the displayed invoice to the validation engine you have configured there; the validation report appears on the same page under a blue title bar "Validation report".
- The button Download report.xml takes its place in the toolbar, to the left of the validation buttons.
- The button that started the check is then called Hide validation report and hides the report and shows it again, without sending the invoice a second time.
- Reset removes invoice and report.
Whether and from which role a button appears is governed by "Available from role" (section 13.3).
13.6 Storage
The Viewer itself stores no invoice: it never reaches the server. Only the values of the settings page and the sections of the settings dialog are stored on the website. Add-ons that send an invoice to the website say so in their own manual.
13.7 Manual
The manual is in the package in the folder manual, in German as manual/manual.de.html and in English as manual/manual.en.html.
14 · List of images
This list shows which screenshots this manual expects and which were found in the folder screenshots/ of the package. An image is always named key.language.png, for example viewer-beleg.en.png. The images show sample data only.
| Status | File | What it shows |
|---|---|---|
| – | viewer-beleg.en.png | An opened invoice: dark blue document header with the amount due, blue disclaimer, below it the blocks "Invoice data", "Buyer" and "Seller". BT numbers hidden. |
| – | viewer-ablage.en.png | The empty drop area with the text "Drag an e-invoice here or click to choose a file". |
| – | viewer-werkzeugleiste.en.png | The toolbar above the invoice with the switches "Show BT codes" and "Only filled fields" and the "Reset" button. |
| – | viewer-bt-nummern.en.png | The same invoice with BT and BG numbers shown. |
| – | viewer-tooltip.en.png | The mouse pointer rests on a BT number; the tooltip shows name and description. |
| – | viewer-rechenhinweis.en.png | The VAT breakdown with a red-marked amount and the line "Stated …, calculated …". |
| – | viewer-hinweis-pflichtfeld.en.png | A red-marked field with the line "Missing, although EN 16931 requires this field here". |
| – | viewer-anlagen.en.png | The totals and below them the section "Attachments" with an opened PDF attachment. |
| – | viewer-einstellungen.en.png | The settings dialog of the Viewer with a section of an add-on and the buttons for saving and loading. |
| – | viewer-einbettung.en.png | The Viewer as an element in a third-party page with its own design. |