Die Kundenfrage, die mehr Fragen aufgeworfen hat
Am Anfang stand kein Plan für ein neues Produkt. Unsere Kunden beschäftigten sich mit E-Rechnungen, und wir wollten verstehen, was das für ihre Software und Schnittstellen bedeutet. Rechnungsdaten in eine strukturierte Datei schreiben – das klang zunächst nach einer überschaubaren Aufgabe.
Bei der Umsetzung begegneten uns Factur-X, ZUGFeRD, XRechnung, PEPPOL und ebInterface. Dazu kamen die europäische Norm EN 16931, unterschiedliche Validierungsprofile und Schematron-Regelwerke für die technische Prüfung. Wir hatten nicht nur den Aufwand unterschätzt, sondern auch die Zahl der Details, die zwischen einer erzeugten Datei und einer erfolgreich geprüften Rechnung liegen.
Zuerst brauchten wir es selbst
Für unsere Kundenprojekte wollten wir ein verlässliches Werkzeug zur Fehlersuche: Welches Format liegt vor? Welche Angaben enthält die Datei? Was beanstandet die Prüfung? Dafür haben wir milchrechnung gebaut. Es half uns, das Thema praktisch zu erschließen und mit konkreten Rechnungen zu arbeiten.
Der Name erinnert an unsere ursprüngliche Fehleinschätzung. Das Werkzeug haben wir anschließend als kostenlose öffentliche Beta zugänglich gemacht. So können auch andere ihre Dateien untersuchen, ohne dafür erst eine Software installieren oder ein Konto anlegen zu müssen.
Was aus dem Prüfwerkzeug geworden ist
Heute lassen sich mit milchrechnung Rechnungen analysieren, gegen die jeweiligen Regelwerke validieren und lesbar darstellen. Dazu kommen die Konvertierung zwischen unterstützten Formaten und die Erstellung neuer E-Rechnungen. Das Werkzeug ist direkt im Browser zugänglich.
Analyse und Validierung bleiben bewusst getrennt. Die Analyse zeigt, was in einer Datei steckt und wo unsere eigene Engine Auffälligkeiten erkennt. Die Validierung prüft gegen die offiziellen Regelwerke. Akzeptiert ein Regelwerk eine Datei, während unsere Analyse eine Auffälligkeit meldet, bleibt dieser Unterschied in den nebeneinander dargestellten Ergebnissen sichtbar.
Wie wir Änderungen an den Regeln prüfen
Mit der ersten funktionierenden Rechnung war die Arbeit nicht erledigt. Regelwerke und Profile werden weiterentwickelt. Deshalb verwenden wir eine Test-Suite mit mehreren Dutzend echten und eigens erstellten Test-Rechnungen, die sowohl durch den eingebundenen Open-Source-Validator als auch durch unsere eigene Engine laufen.
Bei neuen Versionen vergleichen wir die Prüfergebnisse. So wird sichtbar, ob eine Datei anders bewertet wird und wo wir genauer hinsehen müssen. Die Einbindung neuer Regelwerksversionen ist Teil unserer automatisierten Build- und Deployment-Pipeline. Diesen Ablauf haben wir auch in der Diskussion unter dem LinkedIn-Beitrag beschrieben.
Vom eigenen Tool zurück ins Kundenprojekt
Wenn ein vorhandenes ERP die E-Rechnungen bereits passend verarbeitet, braucht es dafür nicht zwingend eine zusätzliche Anwendung. Interessant wird es dort, wo individuelle Software Rechnungsdaten erzeugt, ein eigener Freigabeprozess dazwischenliegt oder zwei Systeme unterschiedliche Formate erwarten.
Für solche Aufgaben haben wir milchrechnung ursprünglich entwickelt. Das Werkzeug erleichtert die Prüfung einzelner Dateien; in einem Kundenprojekt verbinden wir die beteiligten Anwendungen und Abläufe. Wer zunächst eine Rechnung ansehen oder prüfen möchte, kann das kostenlose Tool direkt ausprobieren.
milchrechnung entstand aus Kundenanfragen und unserem Bedarf, Rechnungsdateien gezielt untersuchen und Fehler nachvollziehen zu können. Was als internes Prüfwerkzeug begann, ist heute öffentlich nutzbar.