eInvoice Viewer — Technical Details – Manual
1 · Overview
eInvoice Viewer — Technical Details is a WordPress plugin and a paid add-on for the free plugin eInvoice Viewer for PEPPOL & EN16931. The add-on turns the field numbers the viewer shows on an e-invoice into a technical reference. It also brings three overviews that you put on any page with a shortcode: one for the fields, one for the validation rules and one for the code lists of EN 16931.
The add-on is meant for everyone who wants not only to read what is in an invoice but also needs to know how a field is built technically: developers, integrators and auditors.
What the add-on can do:
- It adds cardinality, semantic data type, XSD level, reference table, business rules and the CII and UBL paths to every tooltip of a field (BT) or a group (BG).
- In the invoice view it marks codes in red that are not in their reference list, and it names the list.
- A click on a field number opens the field's reference list or the field overview in a window of its own.
- With
[svtd_field_browser]it shows the 311 fields of EN 16931 in a searchable list. - With
[svtd_rule_browser]it shows about 9,270 validation rules from 17 rule sets, searchable and filterable. - With
[svtd_reference_browser]it shows 17 reference tables (code lists), searchable by code and label.
What the add-on cannot do:
- It does not check an invoice for validity. The marking of a code only says that the code is not in the list. A code from the list can still break EN 16931; a validator checks that.
- It shows the fields and rule sets of ZUGFeRD / Factur-X EXTENDED only together with the Extended Profiles add-on.
- Most reference tables exist only with English labels. German labels exist for UNTDID 1001 and UNTDID 4461.
- It does not read an invoice itself. Displaying the invoice is the viewer's task.
Requirements:
| Requirement | Value |
|---|---|
| WordPress | from 5.8, tested up to 7.1 |
| PHP | from 8.2 |
| eInvoice Viewer for PEPPOL & EN16931 | must be active. From WordPress 6.5 the add-on cannot be activated without an active viewer, and the viewer cannot be deactivated as long as the add-on is active. The marking of codes and the click on the field number need the viewer from version 2.34.0, and the choice "Add-ons available from role" needs the viewer from version 2.35.0. |
| Extended Profiles | only needed if you want to see the fields and rules of ZUGFeRD / Factur-X EXTENDED |
screenshots/td-tooltip.en.pngThe viewer's invoice view with an opened tooltip at a field number; below the name and description stand the rows cardinality, data type, XSD level, reference table, business rules, CII path and UBL path2 · Installation
The add-on is a paid product. You receive it as a ZIP file through the shop on invoicePress.de. It is not available on wordpress.org.
Note: First install and activate the free eInvoice Viewer for PEPPOL & EN16931. The add-on names the viewer as a required plugin, and the extended tooltips appear only in the viewer's invoice view.
Way 1: upload the ZIP file
Way 2: put the folder in place
Updating
You receive a new version as a ZIP file through the shop. You upload it as in way 1 and let WordPress replace the existing version, or you replace the folder on the server. The settings are kept, because they stand in the database. When a newer version has appeared in the shop, a yellow row with the new version stands under the plugin in the list Plugins. The row only says that a newer version exists; you download it yourself from your customer account in the shop.
Removing
You deactivate and delete the plugin under Plugins. Whether the add-on's settings disappear as well, you decide beforehand with the box On deletion in the add-on's section on the page eInvoice Viewer → Viewer. By default it is unticked, and the settings stay, so that everything is as before after a reinstallation. When it is ticked, deleting also removes the choice for "Business rules in the tooltip". The box itself disappears in any case. The design kit choice stays in any case, because it belongs to all eInvoice tools of the site.
3 · First steps
screenshots/td-tooltip.en.pngThe viewer's invoice view with an opened tooltip at a field number; below the name and description stand the rows cardinality, data type, XSD level, reference table, business rules, CII path and UBL pathscreenshots/td-feldbrowser.en.pngA page with the field overview: heading, search field, filter by field type and the list of fields with number and name4 · Working with Technical Details
Extended tooltips on BT and BG
In the viewer's invoice view you move the mouse over a field number. Below the name and description the viewer shows anyway, further rows now appear:
- Cardinality according to EN 16931. If the value differs for CII or Factur-X, it stands next to it.
- Semantic data type of the field.
- XSD level.
- Reference table, if the field carries a code from a list.
- Business rules that apply to the field, as rule identifiers. The first ten or all of them appear, depending on the setting.
- CII path and UBL path, that is, the field's place in the two XML notations.
The rows appear in the language of the page. You need to set nothing up; the add-on attaches itself to the viewer.
Codes outside their reference list
If a coded field holds a code that does not occur in the matching reference list, the viewer marks the field in red and names the list, for example: "This code is not in the reference list UNTDID 1001." Among other things, it checks document type, currency, countries, tax categories, exemption reasons, payment means, units of measure, reasons for allowances and charges, and the schemes of identifiers.
Caution: The lists are the complete lists of the UN and ISO. A code that stands in the list can therefore still break EN 16931. A validator checks that, and the note above the invoice says so.
The marking needs the eInvoice Viewer from version 2.34.0.
screenshots/td-code-markierung.en.pngThe invoice view with a field marked in red and the note "This code is not in the reference list UNTDID 1001."Clicking a field number
You click a field number in the invoice view. If the field has a reference list, this list opens in a window of its own. If the field has no reference list, the field overview opens on exactly this field. You can leave the window open next to the invoice. The click also needs the eInvoice Viewer from version 2.34.0.
screenshots/td-popup-fenster.en.pngA browser window of its own with a reference list next to the window with the invoiceThe field overview
The shortcode [svtd_field_browser] shows the 311 fields of EN 16931 by BT and BG in a list. You search with the search field "Search BT/BG code or name …" and narrow down with the filter "Field type" to "BT only" or "BG only". A click on a row opens the full technical view of the field. The details of a row are loaded only when it is opened.
Field descriptions follow the language of the page. If a text exists only in English, the overview says so.
screenshots/td-feld-detail.en.pngThe field overview with an opened row: cardinality, data type, XSD level, reference table, rules, CII path and UBL path of a fieldThe rule overview
The shortcode [svtd_rule_browser] shows about 9,270 Schematron validation rules from 17 rule sets: the core of EN 16931, XRechnung, Peppol BIS Billing, Factur-X and the supported national CIUS. You choose the rule set or load all of them at once with "Load all rule sets", search in the field "Search rule ID, field or text …" and filter by field, by origin, by jurisdiction and by severity ("Fatal", "Error", "Warning", "Information"). The list shows a short excerpt per rule; the details load when the row is opened. Every rule names its official origin. The rules come from the phive-rules project, which bundles the official validation artefacts of CEN/TC 434 ( EN 16931 ), KoSIT ( XRechnung ), OpenPeppol, FNFE-MPE ( France ), FeRD ( Factur-X ) and the respective national CIUS authorities.
screenshots/td-regelbrowser.en.pngThe rule overview with search field, choice of rule set and severity, below it the list of rules with identifier, severity and excerptThe reference overview
The shortcode [svtd_reference_browser] shows 17 reference tables, among them UNTDID 1001, UNCL 5305, VATEX, ISO 4217, ISO 3166-1, UN/ECE Rec. 20 and 21, ICD, EAS and MIME. One table is shown at a time. You choose the table; its name and the number of its entries stand above it as the heading. You search the table by code and label.
The names of the tables and all controls appear in the language of the page. The labels of UNTDID 1001 and UNTDID 4461 also exist in German. The other tables exist only in English, and the overview says so above the table.
screenshots/td-referenzbrowser.en.pngThe reference overview with the choice of table, the heading with name and number of entries, the search field and the list of code and labelField and rule overview from within the viewer
The buttons "Field Browser" and "Rule Browser" in the viewer's toolbar open the respective overview in a window of its own. The window is already filtered to the current invoice.
Switching it off on one page
In the shortcode of the viewer you switch off on a single page what this add-on shows, for example [spev_einvoice_viewer button_svtd_tooltips="no"]. Without the attribute everything stays on.
| Switch | What the page leaves out |
|---|---|
button_svtd_tooltips | the extended tooltips with path, data type, cardinality and rules, the hints on codes and the click on a reference list |
button_spev_fieldbrowser | the button "Field Browser" |
button_spev_rulebrowser | the button "Rule Browser" |
A switch only takes something off this page. Who may use the add-on at all is set with "Available from role" in the settings of the viewer.
5 · Settings
Page "eInvoice Viewer → Viewer", section "eInvoice Viewer — Technical Details"
The add-on has no settings page of its own. It adds a section with two settings to the viewer's page. Without an active viewer this section does not exist.
| Setting | Default | Effect |
|---|---|---|
| Business rules in the tooltip | the first 10 | Decides how many rule identifiers a tooltip names: "the first 10" or "all". A field can carry many business rules, and the full list can make the tooltip very long. |
| On deletion | unticked | When ticked, deleting the plugin also removes its settings. Leave the box unticked if you delete the plugin only to install it again. |
screenshots/td-einstellung.en.pngThe viewer's settings page with the section "eInvoice Viewer — Technical Details" and the two radio buttons "the first 10" and "all"Available from role
On the same page eInvoice Viewer → Viewer you choose under "Add-ons available from role" from which role this add-on appears in the viewer. For visitors below this role the viewer does not load the add-on: the tooltips show no technical rows, codes are not marked, a click on the field number opens nothing, and the buttons "Field Browser" and "Rule Browser" are missing. A window of an overview opened by hand then answers with "This add-on is not available for your account." The three overviews that you put on a page with a shortcode are not affected by this choice; they stay visible to every visitor. The choice exists from the viewer 2.35.0.
Design kit
The three overviews follow the design kit chosen for all eInvoice tools of the site. The choice does not apply to this add-on alone.
| Setting | Default | Effect |
|---|---|---|
| Design kit of the eInvoice tools | Kit H | Decides the colours, fonts and measures of the overviews. The choice stands on the page eInvoice Viewer → Viewer. If no eInvoice tool with a settings page of its own is active, it stands under Settings → General. |
| Upload a kit of your own | — | Takes a token file ( .css ) of a design kit, at most 32 KB. Only its custom properties under :root and :host are kept. After saving, the kit is chosen for every eInvoice tool. The kit lies in the site's upload folder under einvoice-kits and survives updates of the plugins. |
Shortcodes
| Shortcode | Shows | Attributes |
|---|---|---|
[svtd_field_browser] | the field overview | none |
[svtd_rule_browser] | the rule overview | none |
[svtd_reference_browser] | the reference overview | none |
The three shortcodes evaluate no attributes. You insert them as they stand here:
[svtd_field_browser][svtd_rule_browser][svtd_reference_browser]You can put several shortcodes on the same page, also together with the viewer.
6 · Special cases
You want to offer a reference work on EN 16931 on your site. Create three pages and put one of the three shortcodes into each. The overviews read only the data the add-on brings and also work for visitors who are not logged in.
You want to see every rule that concerns a field in the tooltips. Open eInvoice Viewer → Viewer, choose the value "all" for "Business rules in the tooltip" and save. Expect long tooltips for fields with many rules.
You want to know which codes are allowed in a field while you look at an invoice. Click the field number in the invoice view. The field's reference list opens in a window of its own, which you place next to the invoice.
You work with ZUGFeRD / Factur-X EXTENDED. Also activate the Extended Profiles add-on. The field overview then also shows the 974 fields of the extensions, 1,285 fields in total: 963 of ZUGFeRD / Factur-X EXTENDED, 6 of the XRechnung Extension and 5 of EXTENDED-CTC-FR. The filter "Fields" offers "All fields ( EN 16931 and extensions )", "EN 16931 only", "Factur-X EXTENDED only", "XRechnung Extension only" and "EXTENDED-CTC-FR only". The rule overview shows three further rule sets with about 3,190 rules.
You run a site in another language. The additional rows of the tooltips, the controls and the descriptions follow the language of the page, as far as a translation is included. Where a text exists only in English, this is stated next to it.
You want to offer the technical details only to logged-in staff. Choose a role under "Add-ons available from role" on the viewer's settings page. Visitors below this role then see the viewer without the technical details; the overviews on pages of their own stay public.
7 · Working with other packages
| Package | What working together adds |
|---|---|
| eInvoice Viewer for PEPPOL & EN16931 (free) | The extended tooltips in the invoice view and the section on the settings page. From viewer version 2.34.0 also the marking of codes outside their reference list and the click on the field number; from version 2.35.0 the choice from which role the add-on is available. |
| Extended Profiles (add-on) | In the field overview the 974 fields of the extensions ( 963 of ZUGFeRD / Factur-X EXTENDED, 6 of the XRechnung Extension, 5 of EXTENDED-CTC-FR ) together with the filter "Fields"; the technical rows in the tooltips of these fields; in the rule overview the three rule sets of ZUGFeRD / Factur-X EXTENDED and EXTENDED-CTC-FR with about 3,190 further rules. |
| Other eInvoice tools | The jointly chosen design kit also applies to the three overviews of this add-on. |
8 · Troubleshooting
| Sign | Cause | Remedy |
|---|---|---|
| The admin area says: ""eInvoice Viewer — Technical Details" is active, but "eInvoice Viewer for PEPPOL & EN16931" was not found." | The free viewer is not active. This only happens under WordPress before 6.5; from 6.5 WordPress does not allow it. | Install and activate the viewer. The three overviews work anyway. |
| The tooltips show no additional rows. | The viewer or the add-on is not active. | Activate both plugins and reload the page. |
| Single visitors see no technical rows and no buttons "Field Browser" and "Rule Browser"; a window says "This add-on is not available for your account." | Their role lies below the role chosen for this add-on under "Add-ons available from role". | Choose a lower role on the viewer's settings page. |
| Codes are not marked in red, and a click on the field number opens nothing. | The viewer is older than version 2.34.0. | Update the viewer. The extended tooltips stay available with the older version as well. |
| The section "eInvoice Viewer — Technical Details" is missing on the settings page. | The section hangs on the viewer's page; without an active viewer that page does not exist. | Activate the viewer. |
| The design kit choice cannot be found. | No eInvoice tool with a settings page of its own is active. | Look under Settings → General. |
| The field overview shows no fields of Factur-X EXTENDED, and the rule overview not their rule sets. | These contents appear only with the Extended Profiles add-on. | Activate Extended Profiles. |
| The labels of a reference table are in English although the page is German. | German labels exist only for UNTDID 1001 and UNTDID 4461. | None; the overview points this out above the table. |
| A tooltip is very long. | "Business rules in the tooltip" is set to "all". | Set it back to "the first 10". |
| An overview appears as an empty box. | This error occurred with some themes in older versions and has been resolved since version 1.3.2. | Update the add-on. |
9 · Privacy and security
- One request a day for the newest version. When a user who may update plugins opens the list Plugins, your site asks
https://apps.invoicepress.de/updates/plugins.jsonat most once a day which version is the newest. The request carries no address of your site; invoicePress.de learns only the IP address of your server. Whoever does not want this switches the request off with the filtereinvoicepress_shop_update_check. Apart from that the add-on makes no outgoing request and uses no third-party service. - The overviews show only bundled data. The field, rule and reference overviews read only the reference data contained in the plugin. The visitor's browser loads these data from your own site.
- The tooltips read only what the viewer already has. The tooltip extension reads only data that the free viewer has already obtained from the visitor's file. The add-on stores no invoice data.
- Two settings are stored. The database holds only the choice for "Business rules in the tooltip" and the box "On deletion". In addition the site keeps the answer to the question for the newest version for one day.
- Publicly readable. The overviews and the windows the viewer opens can be called up without signing in, unless a role is chosen under "Add-ons available from role"; then the windows answer only for visitors from that role upwards. They contain only public reference data and change nothing on your site.
10 · For developers
| Kind | Name | Meaning |
|---|---|---|
| Shortcode | svtd_field_browser, svtd_rule_browser, svtd_reference_browser | The three overviews. Before version 1.4.0 they were called einvoice_field_browser, einvoice_rule_browser and einvoice_reference_browser; the old names no longer exist. |
| Filter | svtd_force_enqueue | Receives true or false and decides whether the style and script files of the overviews are loaded early. Default: true on a single page whose content contains one of the three shortcodes, otherwise false. |
| Filter | einvoicepress_shop_update_check | Receives true. With false the site no longer asks for the newest version, and the yellow row in the list Plugins disappears. |
| Filter of the viewer | spev_extension_allowed | The add-on asks this filter with the slug technical-details before it answers a window request. The viewer answers it from version 2.35.0 according to "Add-ons available from role"; without it the answer is always yes. |
| Script module | assets/js/svtd-extend.js | The viewer loads this module and uses it to extend the tooltips in the browser. The PHP filter spev_code_tooltip, to which the add-on still attaches, is no longer called by the viewer since it reads in the browser. |
| Action of the viewer | spev_register_settings | On this action the add-on registers its section on the viewer's settings page. |
| AJAX action | svtd_popup | Called by GET through admin-ajax.php, with and without signing in. The parameter mode takes fields (default), rules or reference and returns the respective overview as a self-contained HTML document. |
| Constants | SVTD_VERSION, SVTD_FILE, SVTD_DIR, SVTD_URL | Version, main file, directory and URL of the plugin. |
| Style and script handles | svtd-kit, svtd-browser, svtd-rule-browser, svtd-field-browser, svtd-i18n-index, svtd-i18n | The registered files: design kit tokens, style and script of the overviews, the modules for rule and field overview, and the language tables. |
| JavaScript objects | window.SVTD, window.SVTD_TOOLTIP | SVTD.cssUrl names the style files of the reference overview. SVTD_TOOLTIP hands the translated row labels and the rule limit to the viewer's script. |
| HTML elements | <einvoice-field-browser>, <einvoice-rule-browser> | The field and rule overviews are self-contained elements with shielded styling (shadow DOM). The reference overview is produced on the server. |
| Text domain | einvoice-viewer-technical-details | Translations lie in the plugin's folder /languages. |
The field and rule overviews are loaded as script modules. The licence is GPL-2.0-or-later.
11 · Versions
| Version | Change |
|---|---|
| 1.13.0 | The field, rule and reference overviews follow the chosen design kit and look like the other tools; a kit of your own can be uploaded. The list Plugins links to the manual and to support. |
| 1.12.0 | The list Plugins shows when a newer version is available in the shop. New setting "On deletion". |
| 1.11.0 | On the viewer's settings page you can choose from which role this add-on is available. This needs the eInvoice Viewer from 2.35.0. |
| 1.10.0 | Codes that are not in their reference list are marked in the invoice view. A click on a field number opens the field's reference list or the field overview. Both need the eInvoice Viewer from 2.34.0. |
| 1.9.1 | The list in the field, rule and reference overviews stands out more clearly from the search and header rows. |
| 1.9.0 | The reference overview looks and works like the field and rule overviews. The bundled translations also appear when network-activated and on older WordPress versions. |
| 1.8.0 | The field overview shows the fields of EN 16931; the fields of ZUGFeRD / Factur-X EXTENDED appear only with Extended Profiles. Extra rows and overviews appear in the language of the page. New setting "Business rules in the tooltip". |
| 1.7.0 | The rule overview shows the rule sets of ZUGFeRD / Factur-X EXTENDED and EXTENDED-CTC-FR only with Extended Profiles. |
| 1.6.0 | The overviews follow the chosen design kit. |
The full change history stands in the plugin's file CHANGELOG.md.
12 · 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 td-tooltip.en.png. The images show sample data only.
| Status | File | What it shows |
|---|---|---|
| – | td-tooltip.en.png | The viewer's invoice view with an opened tooltip at a field number; below the name and description stand the rows cardinality, data type, XSD level, reference table, business rules, CII path and UBL path |
| – | td-tooltip.en.png | The viewer's invoice view with an opened tooltip at a field number; below the name and description stand the rows cardinality, data type, XSD level, reference table, business rules, CII path and UBL path |
| – | td-feldbrowser.en.png | A page with the field overview: heading, search field, filter by field type and the list of fields with number and name |
| – | td-code-markierung.en.png | The invoice view with a field marked in red and the note "This code is not in the reference list UNTDID 1001." |
| – | td-popup-fenster.en.png | A browser window of its own with a reference list next to the window with the invoice |
| – | td-feld-detail.en.png | The field overview with an opened row: cardinality, data type, XSD level, reference table, rules, CII path and UBL path of a field |
| – | td-regelbrowser.en.png | The rule overview with search field, choice of rule set and severity, below it the list of rules with identifier, severity and excerpt |
| – | td-referenzbrowser.en.png | The reference overview with the choice of table, the heading with name and number of entries, the search field and the list of code and label |
| – | td-einstellung.en.png | The viewer's settings page with the section "eInvoice Viewer — Technical Details" and the two radio buttons "the first 10" and "all" |