eInvoice Validator for Mustang

Kostenlos · WordPress-Plugin · Für alle, die den Mustang-Validator auf dem eigenen Server betreiben

E-Rechnung prüfen mit Mustang – direkt auf Ihrer WordPress-Website

E-Rechnung prüfen mit Mustang, ohne je eine Kommandozeile zu öffnen: Das ermöglicht der eInvoice Validator for Mustang Ihren Kunden, Lieferanten und Kollegen. Eine E-Rechnung ist eine Rechnung als strukturierte Datei, die ein Programm lesen kann, zum Beispiel eine XRechnung, der deutsche Standard für E-Rechnungen an Behörden, oder ein ZUGFeRD-PDF. Der Besucher legt die Rechnung auf einer Seite Ihrer Website ab, der Mustang-Validator auf Ihrem eigenen Server prüft sie, und der Prüfbericht erscheint gleich darunter in verständlicher Sprache.

Was das Plugin besonders macht: Bei einem PDF liest schon der Browser des Besuchers die eingebettete Rechnung aus, sodass nur die XML-Datei Ihren Server erreicht. Eine Prüfsumme sorgt dafür, dass nur die Mustang-Datei startet, der Sie zugestimmt haben. Und das Plugin stellt von sich aus keine einzige Anfrage an einen fremden Dienst. Es ist kostenlos und steht unter der freien Lizenz GPL-2.0-or-later.

Auch als App

Ohne WordPress: der Validator for Mustang als App

Dieses Plugin setzt direkt auf einer bestehenden Installation von Mustang auf: Es startet die Datei Mustang-CLI.jar auf Ihrem Server und bringt die Steuerung einer Website mit, also Tagesgrenzen je Rolle, Dateigröße und die Prüfseite für Ihre Besucher.

Wer ohne WordPress prüfen will, nimmt die kostenlose App in derselben Version 1.7.0: einen Ordner, den Sie entpacken und per Doppelklick öffnen. Weil eine Seite im Browser kein Java-Programm starten kann, schickt die App die Rechnung an die Validator Bridge, einen kleinen Dienst in Ihrem Netz, der Mustang aufruft und den Bericht zurückgibt. Liegt die App neben der Viewer-App, bekommt der Viewer den Knopf „Mit Mustang prüfen“.

Der Mustang-Validator läuft auf der Kommandozeile. Ihre Besucher arbeiten dort nicht.

Sie betreiben eine WordPress-Website, vielleicht ein Kundenportal, ein Lieferantenportal oder ein Intranet. Immer wieder kommt die Frage: „Ist diese E-Rechnung in Ordnung?“ Die Antwort gibt ein Validator, also ein Prüfprogramm, das die Rechnung gegen die Regeln ihres Formats prüft. Der Validator des Mustangproject ist ein solches Programm. Er ist aber ein Java-Programm, das man auf der Kommandozeile mit einem Befehl und einem Dateipfad startet.

Für die Buchhaltung, für einen Lieferanten oder für eine Kundin ist das eine hohe Hürde. Deshalb landet jede Rechnung bei der einen Person im Haus, die den Befehl kennt. Sie prüft die Datei, schickt das Ergebnis per E-Mail weiter und erklärt, was die Meldungen bedeuten. Dazu kommt: Mustang schreibt seinen Bericht als XML-Datei mit Regelkennungen und Fundstellen in technischer Schreibweise. Ob die Rechnung angenommen oder abgelehnt ist, muss der Leser selbst daraus ableiten.

Ein Prüfdienst im Internet wäre bequemer. Eine Rechnung enthält aber Namen, Anschriften, Bankverbindungen und Preise, und nicht jeder darf oder will diese Daten aus dem Haus geben.

Die Lösung: Ihr Mustang-Validator bekommt eine Prüfseite auf Ihrer Website

Der eInvoice Validator for Mustang ist die Bedienoberfläche für den Mustang-Validator, den Sie auf Ihrem Server ablegen. Das Plugin setzt eine Ablagefläche auf eine Seite Ihrer Website. Ein Besucher zieht seine Rechnung darauf, und das Plugin startet für diese eine Prüfung den Mustang-Validator auf Ihrem Server. Den Bericht zeigt es danach in einer verständlichen Ansicht und bietet ihn außerdem unverändert zum Herunterladen an.

Das Plugin enthält den Validator nicht und lädt ihn auch nicht herunter. Sie holen die Datei Mustang-CLI.jar selbst von der Website des Mustangproject und sagen dem Plugin, wo sie liegt. So bestimmen Sie, welche Version des Validators auf Ihrem Server prüft. Das Plugin ist ein unabhängiges Werkzeug von invoicePress und kein Produkt des Mustangproject.

Die Ablagefläche für ZUGFeRD-, Factur-X-PDF und XML-Rechnungen.

In drei Schritten zur eigenen Prüfseite

Note Note

1. Validator bereitstellen

Sie legen die Datei Mustang-CLI.jar auf Ihren Server und tragen im Verwaltungsbereich unter eInvoice Validator → Mustang den vollständigen Pfad ein. Die Systemprüfung zeigt Ihnen sofort, ob alles startbereit ist.

Tools Tools

2. Shortcode auf eine Seite setzen

Ein Shortcode ist ein kurzer Platzhalter in eckigen Klammern, an dessen Stelle WordPress das Werkzeug anzeigt. Sie schreiben [spmv_mustang_validator] auf eine Seite oder in einen Beitrag und veröffentlichen sie.

Adjust Adjust

3. Rechnung ablegen und Bericht lesen

Der Besucher zieht eine PDF- oder XML-Rechnung auf die Fläche. Für eine gewöhnliche Rechnung dauerte die Prüfung mit Mustang-CLI 2.25.0 in unserer Messung rund zwei Sekunden, einschließlich des Java-Starts. Dann steht der Bericht unter der Ablagefläche.

So läuft eine Prüfung ab: Sie richten den Validator einmal ein, setzen den Shortcode auf eine Seite, und von da an prüfen Ihre Besucher selbst.

Was den eInvoice Validator for Mustang besonders macht

Note Note

Ein PDF verlässt den Browser nicht

Ein ZUGFeRD- oder Factur-X-PDF trägt die eigentliche Rechnung als XML-Anhang in sich. ZUGFeRD ist der deutsche, Factur-X der französische Name dieser Form. Das Plugin liest den Anhang schon im Browser des Besuchers aus, und nur dieses XML geht an Ihren Server. Ihr Server liest überhaupt kein PDF.

Was Sie davon haben: Das PDF mit allen übrigen Anlagen bleibt beim Besucher, und Ihr Server nimmt nur die eine Dateiart an, die er wirklich prüfen muss.

Tools Tools

Ein Bericht, den man lesen kann

Statt des rohen Mustang-Berichts sieht der Besucher die Befunde, also die einzelnen Meldungen, mit Regeltexten und Fachbegriffen. Die hochgeladene Rechnung ist als Beleg angeheftet, sodass jeder Befund an seiner Stelle im Beleg steht. Warnungen erscheinen als Warnungen und nicht als Fehler.

Was Sie davon haben: Wer die Rechnung geprüft hat, versteht das Ergebnis selbst und muss nicht nachfragen, was eine Regelkennung bedeutet.

Prüfbericht von Mustang im Plugin: Ergebnis oben, darunter jeder Befund mit Regeltext und Fundstelle.

Adjust Adjust

Nur die jar-Datei, der Sie zugestimmt haben

Die Datei Mustang-CLI.jar ist ausführbarer fremder Code auf Ihrem Server. Mit einem Klick merkt sich das Plugin ihre Prüfsumme nach dem Verfahren SHA-256, also eine Art Fingerabdruck der Datei. Passt die Datei später nicht mehr zu diesem Fingerabdruck, bleibt die Prüfung gesperrt, bis Sie die neue Datei ausdrücklich annehmen.

Was Sie davon haben: Auf einer öffentlichen Seite startet nur das Programm, das Sie selbst geprüft und angenommen haben.

Prüfsumme der Mustang-CLI.jar: Nur die angenommene Datei darf prüfen.

Search Search

Keine Verbindung zu fremden Diensten

Das Plugin stellt von sich aus keine Anfrage nach außen, weder beim Laden einer Seite noch beim Hochladen noch beim Prüfen. Die Rechnung geht an Ihre eigene Website, und der Validator läuft als Java-Programm auf demselben Server. Rechnung und Bericht werden nicht aufbewahrt.

Was Sie davon haben: Sie können Ihren Besuchern mit gutem Gewissen sagen, dass ihre Rechnung Ihren Server nicht verlässt und dort nicht liegen bleibt.

Note Note

Eine Tagesgrenze für jede Rolle

Sie legen fest, wie viele Prüfungen jede Rolle Ihrer Website am Tag machen darf, mit einer eigenen Zeile für Gäste. Ein leeres Feld heißt unbegrenzt, eine 0 heißt kein Zugang. Administratoren sind nie begrenzt.

Was Sie davon haben: Sie können die Prüfung öffentlich anbieten, ohne dass ein einzelner Besucher Ihren Server mit Java-Prozessen auslastet, und Ihre eigenen Leute prüfen trotzdem ohne Grenze.

Tools Tools

Prüfen direkt aus dem eInvoice Viewer

Ist auf Ihrer Website auch der kostenlose eInvoice Viewer aktiv, bekommt jede dort geöffnete Rechnung den Knopf „Mit Mustang prüfen“, auch eine ZUGFeRD- oder Factur-X-PDF. Ab Viewer 2.38 erscheint der Bericht in einem eigenen Reiter „Mustang Validator“ mit dem Knopf für report.xml. Ein zweiter Klick öffnet den Reiter wieder, ohne die Rechnung ein zweites Mal zu prüfen.

Was Sie davon haben: Ihre Besucher lesen die Rechnung und prüfen sie an derselben Stelle, ohne die Seite zu wechseln, und Rechnung und Bericht stehen übersichtlich nebeneinander in Reitern.

Die Funktionen im Einzelnen

  • Eine Ablagefläche für PDF und XML

    Die Fläche nimmt ZUGFeRD- und Factur-X-PDF sowie XML-Rechnungen in den beiden Formen CII und UBL an. CII und UBL sind die zwei XML-Formen, in denen eine E-Rechnung nach der europäischen Norm EN 16931 vorliegen kann. Der Besucher zieht die Datei auf die Fläche oder wählt sie aus, und auch mit der Tastatur lässt sich die Fläche bedienen. So erreicht die Prüfung auch Menschen, die keine Maus benutzen.

  • Klare Meldungen, wenn eine Datei nicht passt

    Ein PDF ohne eingebettete Rechnung, etwa ein eingescannter Beleg, wird mit einer verständlichen Meldung abgewiesen, ebenso eine Datei mit falscher Endung oder eine zu große Datei. So weiß der Besucher sofort, was er anders machen muss, statt ratlos vor einer Fehlermeldung zu sitzen.

  • Der Originalbericht als report.xml

    Ein Knopf über dem Bericht speichert den Bericht genau so, wie der Mustang-Validator ihn ausgegeben hat. Der Dateiname setzt sich aus dem Namen der Rechnung und dem Zusatz -report.xml zusammen. So haben Sie das Original in der Hand und können es als Nachweis ablegen oder einer Rückfrage an den Lieferanten beilegen.

  • Ein klarer Hinweis bei neueren Fassungen

    Im Feld BT-24 nennt eine Rechnung die Spezifikation, nach der sie gebaut ist. Steht dort eine Fassung, die Mustang noch nicht kennt, etwa XRechnung 4.0 oder die Norm EN 16931-1:2026, prüft Mustang die Rechnung nach den Regeln der älteren Fassung, die es kennt. Seit Version 1.6.1 steht dann über dem Bericht ein gelber Hinweis, dass das Ergebnis nur für diese ältere Fassung gilt. So verlassen Sie sich nicht auf ein „angenommen“, das für die neue Fassung noch gar nicht geprüft ist.

  • Eine Systemprüfung, die den nächsten Schritt nennt

    Die Einstellungsseite prüft bei jedem Aufruf drei Dinge: ob PHP fremde Prozesse starten darf, ob eine Java-Laufzeitumgebung erreichbar ist und ob die jar-Datei am eingestellten Pfad liegt. Jede Zeile trägt einen grünen Haken oder ein rotes Kreuz, und unter einem Kreuz steht, was zu tun ist. Der Knopf „Validator prüfen“ fasst das Ergebnis in einer Zeile zusammen. So müssen Sie nicht suchen, warum nichts geprüft wird.

  • Gebaut für den öffentlichen Betrieb

    Das Plugin prüft Endung, Inhalt und Größe jeder Datei. Jede Prüfung verlangt ein frisches Sicherheitsmerkmal, das auch auf zwischengespeicherten Seiten funktioniert. Den Validator startet es als Liste von Argumenten und nie als zusammengesetzten Befehl, damit aus den Eingaben kein fremder Befehl entstehen kann. Bei Gästen verwendet die Tagesgrenze die IP-Adresse nur als Hashwert, also in unlesbar umgerechneter Form. So können Sie die Seite ins offene Internet stellen.

  • Ein Bericht, der in jedem Theme gleich aussieht

    Ablagefläche und Bericht stehen in einem abgeschirmten Bereich der Seite. Die Gestaltung Ihres Themes wirkt nicht hinein. Das Aussehen wählen Sie über das Design-Kit, zur Wahl stehen die mitgelieferten Kits A und H. So sieht der Bericht auf jeder Website gleich ordentlich aus.

  • Deutsch, Französisch und Englisch

    Das Plugin bringt Übersetzungen für Deutsch und Französisch mit, die Ausgangstexte sind englisch. Die Antworten erscheinen in der Sprache der Seite, auch für angemeldete Benutzer mit einer anderen Profilsprache. So bekommt jeder Besucher den Bericht in der Sprache, in der er die Seite liest.

Voraussetzungen und Einrichtung

Das Plugin startet einen Validator, es ist selbst keiner. Ohne Java und ohne die Datei Mustang-CLI.jar auf dem Server prüft es nichts. Diese Voraussetzungen gelten für die Version 1.7.0:

Was Ihr Server für den eInvoice Validator for Mustang 1.7.0 braucht
WasAnforderung
WordPressab Version 6.0
PHPab Version 8.2
Javaeine Java-Laufzeitumgebung ab Version 11, auf dem Server installiert und für den Benutzer des Webservers aufrufbar
Mustang-Validatordie Datei Mustang-CLI.jar, von Ihnen selbst von der Website des Mustangproject geladen und auf dem Server abgelegt
ServerPHP muss ein Java-Programm starten dürfen (Funktion proc_open), und der Benutzer des Webservers muss die jar-Datei lesen können
Browser des BesuchersJavaScript eingeschaltet

So richten Sie das Plugin ein

  • Laden Sie das Plugin als ZIP-Datei unter Plugins → Plugin hinzufügen → Plugin hochladen hoch und aktivieren Sie es.
  • Stellen Sie sicher, dass auf dem Server Java installiert ist, laden Sie Mustang-CLI.jar von der Website des Mustangproject und legen Sie die Datei an eine Stelle, die der Benutzer des Webservers lesen kann.
  • Tragen Sie unter eInvoice Validator → Mustang bei „Pfad zu Mustang-CLI.jar“ den vollständigen Pfad einschließlich des Dateinamens ein und speichern Sie.
  • Klicken Sie im Abschnitt „Systemprüfung“ auf „Validator prüfen“. Erscheint „Bereit — der Validator lässt sich starten.“, ist alles startbereit.
  • Klicken Sie im Abschnitt „Unversehrtheit der jar“ auf „Die Datei auf der Festplatte annehmen“.
  • Setzen Sie den Shortcode [spmv_mustang_validator] auf eine Seite und veröffentlichen Sie sie. Der Shortcode hat keine Attribute, denn alles Einstellbare steht auf der Einstellungsseite.

Findet die Systemprüfung Java nicht, obwohl es installiert ist, liegt das meist am Suchpfad: Der Webserver läuft unter einem eigenen Benutzer, der Java an anderer Stelle sucht als Ihre eigene Kommandozeile. Tragen Sie dann im Feld „java-Programm“ den vollständigen Pfad zum Java-Programm ein.

Was Sie einstellen können

Die Einstellungen im Abschnitt „Mustang-Validator“ mit ihren Voreinstellungen
EinstellungVoreinstellungWirkung
Pfad zu Mustang-CLI.jarleerder vollständige Pfad zur jar-Datei einschließlich des Dateinamens
java-Programmleerleer bedeutet: Java aus dem Suchpfad des Webservers; sonst der vollständige Pfad zum Java-Programm
Zeitgrenze (Sekunden)60die längste erlaubte Dauer einer Prüfung, mindestens 5 Sekunden
Tägliche Uploads je Rollejede Rolle 10Prüfungen je Kalendertag, mit einer Zeile für Gäste; leer heißt unbegrenzt, 0 heißt kein Zugang
Maximale Dateigröße (MB)8die größte angenommene Datei; es gilt der kleinere Wert aus dieser Einstellung und der Upload-Grenze des Servers
Proxy-Header vertrauenausnur einschalten, wenn die Website hinter einem vertrauenswürdigen Reverse-Proxy steht, also einem vorgeschalteten Server, der die Anfragen weiterreicht
Design-KitKit Hdas Aussehen von Ablagefläche und Bericht; gilt für alle eInvoice-Werkzeuge der Website

Für eigene Programme: Dieselbe Prüfung gibt es über die REST-Adresse POST /wp-json/einvoice/v1/validate-mustang. Ein Programm holt sich dafür vorher ein Sicherheitsmerkmal bei der Website ab. Das Handbuch beschreibt diesen Weg im Kapitel „Für Entwickler“.

Was das Plugin bewusst nicht tut

  • Es prüft nicht ohne Mustang und Java. Fehlt eine Voraussetzung, sagt die Systemprüfung genau das, und es wird nichts geprüft.
  • Es lädt nichts herunter und installiert nichts. Den Mustang-Validator und Java installieren und aktualisieren Sie selbst. Beide haben ihre eigenen Lizenzen und Versionen.
  • Es spricht den Validator nur auf einem Weg an: als Java-Prozess auf demselben Server. Einen entfernten Prüfdienst kann es nicht ansprechen.
  • Es prüft bei einem PDF nur die eingebettete Rechnung. Die PDF-Datei selbst erreicht den Server nicht und wird deshalb nicht untersucht.
  • Es führt kein Archiv. Rechnungen und Berichte werden nicht gespeichert, und es gibt keine Liste früherer Prüfungen.

Wie der Validator for Mustang in die eInvoice-Werkzeuge passt

Das Plugin ist eigenständig und braucht kein anderes Paket von invoicePress. Die verständliche Berichtsansicht ist eingebaut. Mit diesen Werkzeugen lässt es sich sinnvoll ergänzen:

Note Note

eInvoice Viewer for PEPPOL & EN16931

Der Viewer ist das zentrale Werkzeug der eInvoice-Reihe und zeigt jede E-Rechnung lesbar an. Eine dort geöffnete Rechnung bekommt den Knopf „Mit Mustang prüfen“. Ab Viewer 2.38 steht der Bericht in einem eigenen Reiter, und die Prüfung zählt gegen dieselbe Tagesgrenze.
kostenlos

Tools Tools

eInvoice Validation Explorer for Mustang

Für alle, die einen fertigen Mustang-Bericht lesen wollen, ohne selbst einen Validator zu betreiben. Sie legen Bericht und Rechnung ab und sehen jeden Befund mit Erklärung und dem Wert aus der Rechnung an seinem Feld. Er ruft selbst kein Prüfprogramm auf. Es gibt ihn als Plugin und als App, beide in Version 1.7.0.
Kaufprodukt

Adjust Adjust

eInvoice Validator for KoSIT

Dieselbe Prüfseite für den offiziellen KoSIT-Validator, das Prüfprogramm der Koordinierungsstelle für IT-Standards. Beide Plugins laufen auf derselben Website, jedes mit seiner eigenen Tagesgrenze.
kostenlos

Search Search

eInvoice Validator for VAMPIRE

Die Lösung für Webhosting ohne Java: Dieses Plugin bringt mit VAMPIRE PHP seine eigene Prüf-Engine mit und läuft auf gewöhnlichem Webhosting. Mit dem Kauf-Zusatz VAMPIRE JS prüft seine Seite sogar im Browser des Besuchers. Es ist bei wordpress.org eingereicht und wartet dort auf die Freigabe.
kostenlos

Für invoicePress.de ist außerdem eine Vergleichsprüfung gebaut: Eine Rechnung geht dort gleichzeitig an den offiziellen KoSIT-Validator, an Mustang und an VAMPIRE, und die Ergebnisse stehen nebeneinander, die Abweichungen zuerst. Sie erscheint auf der Website, sobald wir sie freigeben.

0

Anfragen an fremde Dienste stellt das Plugin von sich aus

2

Sekunden dauerte eine gewöhnliche Prüfung mit Mustang-CLI 2.25.0 in unserer Messung, rund gerechnet und einschließlich des Java-Starts

3

Zeilen der Systemprüfung zeigen, ob PHP, Java und die jar-Datei bereit sind

10

Prüfungen je Rolle und Tag sind voreingestellt, und Sie können den Wert für jede Rolle ändern

Häufige Fragen zur Prüfung mit Mustang in WordPress

Ja. Das Plugin startet einen Validator, es ist selbst keiner. Sie brauchen auf dem Server eine Java-Laufzeitumgebung ab Version 11 und die Datei Mustang-CLI.jar, die Sie selbst von der Website des Mustangproject laden. Außerdem muss PHP ein Java-Programm starten dürfen. Ob das alles stimmt, zeigt Ihnen die Systemprüfung auf der Einstellungsseite.

ZUGFeRD und Factur-X als PDF oder XML, XRechnung in den Formen CII und UBL und andere UBL-Rechnungen, soweit der Mustang-Validator sie prüft. Ein PDF ohne eingebettete Rechnung, etwa ein eingescannter Beleg, enthält keine Rechnungsdaten und wird mit einer Meldung abgewiesen.

Nein. Die Rechnung wird nur für die Dauer der Prüfung in ein eigenes Arbeitsverzeichnis kopiert, das danach wieder gelöscht wird. Auch der Bericht wird nicht aufbewahrt, und das Plugin schickt nichts an einen fremden Server. Ein abgelegtes PDF verlässt den Browser des Besuchers gar nicht; nur das eingebettete XML wird gesendet.

Nein. Es ist ein unabhängiges Werkzeug von invoicePress und steht in keiner Verbindung zum Mustangproject. Der Validator, den es startet, ist dagegen der Validator des Mustangproject, veröffentlicht unter dessen eigener Lizenz.

Dann kann dieses Plugin nicht prüfen, denn es startet Mustang als Java-Programm auf demselben Server und kann keinen entfernten Prüfdienst ansprechen. Für Webhosting ohne Java ist der eInvoice Validator for VAMPIRE gedacht. Er bringt seine eigene Prüf-Engine in PHP mit und ist ebenfalls kostenlos.

Sie haben den Mustang-Validator, und das Plugin gibt ihm eine Seite, auf der jeder prüfen kann. Lesen Sie im Handbuch, wie Sie es einrichten, und lassen Sie Ihre Besucher die nächste E-Rechnung selbst prüfen. Das Plugin ist kostenlos, und seine Veröffentlichung auf wordpress.org ist vorgesehen.