eInvoice Validators

Free · WordPress plugins · For anyone who wants e-invoices checked on their own website

Validate e-invoices in WordPress with the validation engine that fits your server

Our three free validators let you validate e-invoices in WordPress, right on a page of your own website. An e-invoice is an invoice stored as a structured file that a program can read, for example an XRechnung or a ZUGFeRD PDF. Your visitors drop the invoice onto the page, and a moment later the validation report appears below it, with a plain-language explanation of every message.

All you choose is the validation engine, that is, the program that actually applies the rules: the official KoSIT validator, the Mustangproject validator, or VAMPIRE. VAMPIRE is included in the plugin and needs no Java, so it also runs on ordinary web hosting. In all three cases the invoice is checked on your own server and is not sent to any third-party service. If you don’t want the invoice to reach even your own server, add the paid VAMPIRE JS add-on to the Validator for VAMPIRE: the visitor’s browser then does the checking itself.

Also as apps

All three validators are also available as apps

The plugins build on your WordPress website and bring its controls: daily limits per role, file size and a validation page for your visitors. The Validators for KoSIT and for Mustang use an existing installation on your server.

Without WordPress, use the free apps, each a folder that you unpack and open with a double click. The apps for KoSIT and for Mustang send the invoice to the Validator Bridge, a small service in your network that calls your validator, because a page in the browser cannot start Java. The app for VAMPIRE validates right in the browser with the paid add-on VAMPIRE JS.

You need invoices checked, but not everyone can operate a validator

Ever since e-invoicing arrived, the same question keeps coming up: “Is this invoice correct?” Suppliers want to know before they submit, accounting wants to know when an invoice is disputed, and developers want to know for every invoice their software produces.

The validation programs exist. But the official KoSIT validator and the Mustangproject validator are Java programs that you start on the command line with a file path. For most colleagues, customers, and suppliers, that is too high a hurdle. On top of that, ordinary web hosting often offers no Java at all.

An online validation service would be convenient. But an invoice contains names, addresses, bank details, and prices, and not everyone is allowed or willing to send that data to a third-party server. Our validators solve both problems: you get a simple validation page on your own website, and the check runs on your own server.

Which validator is right for you?

For your visitors, the three plugins work the same way, and all of them show the report in the same view. They differ in which validation engine does the work and what you need to set up on your server. The table helps you choose.

The three validators compared: validation engine, where the check runs, Java requirement, and setup
Validator for KoSITValidator for MustangValidator for VAMPIRE
Validation enginethe official KoSIT validator, which you install yourselfthe Mustangproject validator (Mustang-CLI.jar), which you download yourselfVAMPIRE PHP, included in the plugin
Where the check runsas a Java program on the web server, or as a validator service on your networkas a Java program on the same serverin the same PHP process as WordPress
Needs Javayes, Java 17 or later; with the validator service, not on the web serveryes, Java 11 or laterno
What you set upthe validator with its scenario configurations, then enter its directory or the service addressplace the Mustang-CLI.jar file on the server and enter its pathnothing but the plugin; the server needs the PHP extensions dom, libxml, and bcmath, and 256 MB of memory is recommended
What is checkedthe formats your validator is set up for, in practice XRechnung, ZUGFeRD and Factur-X, and Peppol BIS Billing 3.0ZUGFeRD and Factur-X as PDF or XML, XRechnung in CII and UBL, and other UBL invoices, as far as Mustang checks themXRechnung 3.0.2, the core rules of EN 16931, Peppol BIS Billing 3.0.21, and Factur-X / ZUGFeRD 2.5.2 (EN16931 and EXTENDED)
Check one invoice against several versions––yes, as a cascade or as a full table
Validation in the visitor’s browser––with the paid VAMPIRE JS add-on; the invoice then never reaches your server
Requirements in WordPressWordPress 5.8 and PHP 8.2 or laterWordPress 6.0 and PHP 8.2 or laterWordPress 5.8 and PHP 8.2 or later
Current version1.10.01.7.01.14.0

In short: If you already run the KoSIT validator, or want exactly that program to do the checking, choose the Validator for KoSIT. If you work with the Mustangproject, choose the Validator for Mustang. If your server has no Java, or you do not want to set anything else up, choose the Validator for VAMPIRE.

The three validators and what makes each one special

Each validator is a separate, free plugin that talks to exactly one validation engine. That way, the interface and the manual only use the terms of the engine you actually run.

eInvoice Validator for KoSIT

The KoSIT validator is the official validation program of the German Coordination Office for IT Standards (KoSIT). In Germany, most invoice recipients check invoices with it. The plugin gives your own KoSIT validator a page on your website.

What sets it apart: There are two ways to reach the validator, as a Java program on the web server or as a service on your network, and both produce the same report for the same invoice. You download the validator’s original report, unchanged, as an XML file.

What you get: You check with exactly the program your recipients use, and you have the original report as proof.

eInvoice Validator for Mustang

The Mustangproject publishes its own validator for ZUGFeRD, Factur-X, and XRechnung as a Java program. The plugin starts it on your server for every check and shows its report on your website.

What sets it apart: Mustang writes its report in its own format. The plugin shows it in the same easy-to-read view as the other validators and attaches the invoice, so every finding appears at its place in the document. A checksum ensures that only the jar file you approved is run.

What you get: You keep the engine you know, and your visitors get a report they can read without prior knowledge.

eInvoice Validator for VAMPIRE

VAMPIRE is our own validation engine, written in pure PHP. It applies the official validation rules and comes included in the plugin. You need no Java, no background service, and no other plugin.

What sets it apart: A ZUGFeRD or Factur-X invoice does not say which version of the format it follows. On request, VAMPIRE checks it against versions 2.1 through 2.5.2 and shows the result for each version in a table. If the matching rule set is missing, the report states clearly that there is no result and gives the reason, instead of wrongly rejecting the invoice. With the paid VAMPIRE JS add-on, the same page checks the invoice in the visitor’s browser, with the same rules and the same report.

What you get: You can validate even on ordinary web hosting, you can see which version accepts an invoice, and if you like, the invoice stays entirely with the visitor.

How to validate an e-invoice in WordPress, whichever engine you use

Note Note

1. Install the plugin and connect the engine

You activate the plugin and open the eInvoice Validator menu in the admin area. There, the system check shows every requirement in green or red, and a red line tells you the next step. For KoSIT and Mustang, you enter where your validator is located. VAMPIRE brings its own engine.

Tools Tools

2. Place the shortcode on a page

A shortcode is a short placeholder in square brackets that WordPress replaces with the tool. Each plugin has its own, for example [sppv_validator] for VAMPIRE. The drop zone appears exactly there.

Adjust Adjust

3. Drop the invoice and read the report

The visitor drags an XML invoice or a ZUGFeRD or Factur-X PDF onto the drop zone. A moment later the validation report appears below it and can be downloaded as an XML file, and with the Validator for KoSIT and for VAMPIRE also as an HTML page for reading and printing.

For a PDF, the visitor’s browser extracts the embedded XML invoice, and only that XML is sent to your server. Your server therefore never has to read a PDF, and a PDF without invoice data is rejected with a clear message.

What all three validators have in common

Whichever engine you choose, the three plugins share the same core. That saves you learning time, and you can switch later without having to explain anything new to your visitors.

  • The same easy-to-read validation report

    All three show the report in the same view: the result at the top, that is, accepted or rejected, and below it every message with a plain-language explanation and the affected field. Even someone without prior knowledge understands what needs to change in the invoice.

  • The invoice stays with you

    None of the plugins makes a request to a third-party server on its own, neither when the page loads nor during the check. No copy of the invoice is left behind, and neither invoices nor reports are kept.

  • Free and open

    All three plugins are free and licensed under GPL-2.0-or-later. Publication on wordpress.org is planned for all three; we have already submitted the Validator for VAMPIRE there.

  • Built for public use

    You decide how many checks per day a guest and each user role may run, and how large a file may be. Every check requires a freshly fetched security token, which also works on cached pages.

  • Works with the eInvoice Viewer

    The free eInvoice Viewer is the central tool of the family. If it is active on your website, an invoice opened there gets its own validation button for every installed validator, including a ZUGFeRD or Factur-X PDF. From Viewer 2.38 on, every validation report sits in its own tab next to the invoice. There is nothing to set up.

3

validation engines to choose from: the official KoSIT validator, Mustang, and VAMPIRE

0

requests to third-party servers are made by the plugins on their own

8

rule packages with fourteen scenarios come with the Validator for VAMPIRE

7

versions of ZUGFeRD, from 2.1 through 2.5.2, can be checked by VAMPIRE on request, with the result for each version

The figures come from the manuals of the three plugins. VAMPIRE is designed to deliver the same result as the official KoSIT validator and is measured against it on an ongoing basis.

Where to go after the check

The validators are part of a family of e-invoicing tools that work together. At its center is the free eInvoice Viewer: it shows the invoice, checks it with every installed validator and collects the results in their own tabs. These products complement the validators as soon as you need more than the validation report.

Note Note

eInvoice Viewer

The central tool of the family shows an e-invoice as an easy-to-read document and gives it a validation button for every installed validator. From version 2.38 on, every validation report sits in its own tab, with report.xml and, for KoSIT and VAMPIRE, report.html to download.

free

Tools Tools

VAMPIRE JS for the Validator for VAMPIRE

With this add-on, the page of the Validator for VAMPIRE checks the invoice in the visitor’s browser, with the same rule sets and the same report. The invoice is then not sent to your website, and your server has no work to do.

paid product

Adjust Adjust

eInvoice Rule Studio for VAMPIRE

Here you create validation profiles with your own rules, such as your requirements for supplier invoices. The Validator for VAMPIRE loads them and labels every finding from a profile with the profile’s name.

paid product

Search Search

eInvoice Validation Explorer for KoSIT

Makes a finished validation report from the KoSIT validator readable and shows every message at the field of the invoice. It also reads reports from VAMPIRE. It is available as a plugin and as an app.

paid product

Search Search

eInvoice Validation Explorer for Mustang

Explains a finished validation report from the Mustang validator in plain sentences. You drop in the report and the invoice and see every finding with the value from the invoice at its field. It is available as a plugin and as an app.

paid product

Search Search

eInvoice Validation Explorer for VAMPIRE

Explains a validation report from VAMPIRE PHP or VAMPIRE JS, either as a JSON report together with the invoice or as an XML report that already contains the invoice. Every finding appears at its field. It is available as a plugin and as an app.

paid product

Comparison check: A page has also been built for invoicePress.de that sends an invoice to the official KoSIT validator, to Mustang and to VAMPIRE at the same time and shows the results side by side, differences first. It will appear on the website as soon as we release it.

Frequently asked questions about validating e-invoices in WordPress

Yes, with the eInvoice Validator for VAMPIRE. Its validation engine is written in PHP and included in the plugin. You need PHP 8.2 or later with the extensions dom, libxml, and bcmath, and 256 MB of memory is recommended. The KoSIT validator and Mustang, by contrast, need Java. The Validator for KoSIT offers a middle path: if the KoSIT validator runs as a service on another machine on your network, the web server itself needs no Java.

Yes, with the eInvoice Validator for VAMPIRE and its paid VAMPIRE JS add-on. The page then checks the invoice in the browser against the same rule sets as VAMPIRE PHP and shows the same report. The invoice is not sent to your website, and these checks do not count toward the daily limit. The Validator for KoSIT and the Validator for Mustang always validate on the server, because their programs need Java.

VAMPIRE is a separate validation engine designed to deliver the same result as the official KoSIT validator, and we measure it against that validator on an ongoing basis. VAMPIRE writes its report in the report format of the KoSIT validator, so tools that read KoSIT reports also read this file. The report is a technical record of a check, not an attestation.

No. None of the three plugins keeps invoices or reports. The Validator for KoSIT and the Validator for Mustang place the file in a dedicated directory only for the duration of the check, because their Java program needs a file path, and delete it afterwards. VAMPIRE checks the invoice in memory.

Yes, with all three validators. The browser extracts the embedded XML invoice from the PDF, and only that XML is checked. A PDF that was merely printed or scanned contains no invoice data, and the page tells you so.

All three are free and licensed under GPL-2.0-or-later. They are independent tools from invoicePress and have no affiliation with KoSIT or the Mustangproject. The KoSIT validator and the Mustang validator that two of the plugins control, on the other hand, are the official programs of their publishers and come with their own licenses.

Choose the validation engine that fits your server, and give your visitors their own page for checking e-invoices today. All three validators are free, and the invoice stays on your server. No Java? Then start with the Validator for VAMPIRE.