Valinvo

ZUGFeRD-csharp Wartungsende: Ihre Optionen in .NET

ZUGFeRD-csharp ist die Open-Source-Bibliothek, mit der die meisten .NET-Teams ZUGFeRD-, Factur-X- und XRechnung-Rechnungen erzeugen und lesen (rund 1,7 Millionen NuGet-Downloads). Der Maintainer hat angekündigt: Die Wartung endet am 30. November 2026. Bis dahin gibt es nur noch ausgewählte Fehlerbehebungen und Sicherheitsprüfungen. Danach werden die NuGet-Pakete als „Legacy“ markiert und das Repository archiviert. Neue Funktionen und neue Standardversionen kommen nur noch in einen kommerziellen Nachfolger.

Am 1. Dezember bricht nichts: Version 18.0.1 funktioniert weiter, die Apache-2.0-Lizenz bleibt. Das Risiko ist die nächste Regeländerung. Die Regeln für deutsche und französische E-Rechnungen werden mehrmals im Jahr aktualisiert. Die letzte XRechnung-Konfiguration der KoSIT erschien am 31. August 2026, und die Regeln der französischen Reform sind noch in Bewegung. Und ab dem 1. Januar 2027 müssen deutsche Unternehmen mit mehr als 800.000 € Vorjahresumsatz E-Rechnungen an deutsche Geschäftskunden ausstellen.

Wir entwickeln Valinvo, unten Option 4. Wir haben versucht, jede Option fair zu beschreiben; berücksichtigen Sie das beim Lesen.

Option 1: Version 18.0.1 behalten und die Ergebnisse prüfen

Die günstigste Option und vorerst eine vernünftige. Ihr bestehender Code funktioniert weiter. Was wegfällt, ist jemand, der bemerkt, wenn eine neue Regel Ihre Rechnungen ungültig macht. Lassen Sie das automatisch bemerken: Prüfen Sie jede Rechnungsart, die Sie erzeugen, in Ihrer CI gegen die offiziellen Regeln, und wiederholen Sie das nach jeder Regelveröffentlichung.

Passt für: Teams, deren Rechnungen sich selten ändern und die reagieren können, wenn eine Prüfung fehlschlägt. Risiko: Ändert sich eine Regel, muss jemand den Code anpassen, der das XML schreibt.

Option 2: Forken und selbst pflegen

Die Apache-2.0-Lizenz erlaubt es, und der Code ist bekannt. Sie übernehmen aber, was der Maintainer gerade abgegeben hat: ZUGFeRD-, Factur-X-, XRechnung- und EN-16931-Releases verfolgen und die Ausgabe gültig halten. Passt für: Unternehmen, für die E-Rechnung Kern des eigenen Produkts ist. Risiko: eine dauerhafte Aufgabe, kein einmaliger Aufwand.

Option 3: Eine kommerzielle .NET-Bibliothek

Der Maintainer bietet einen kommerziellen Nachfolger mit ähnlicher API an, und auch andere Anbieter verkaufen .NET-Bibliotheken für ZUGFeRD und XRechnung. Die Angebote, die wir im November 2026 gefunden haben, sind Jahresabos von etwa 550 bis 1.100 € (netto) für ein Team, je nach Zahl der Entwickler. Prüfen Sie die Verlängerungsbedingungen und ob die Bibliothek zur Lizenzprüfung die Server des Anbieters kontaktiert.

Passt für: Teams mit viel Code auf ZUGFeRD-csharp oder mit eigenem PDF, in das das XML eingebettet wird. Eine Bibliothek mit ähnlicher API ist die kürzeste Migration.

Option 4: Die Rechnung über eine API erzeugen

Statt einer Bibliothek in Ihrem Code senden Sie eine JSON-Rechnung an eine HTTP-API und erhalten die fertige XRechnung (UBL oder CII), das ZUGFeRD-PDF oder die Peppol-Datei zurück. Regel-Updates passieren beim Dienst, nicht in Ihrem Release-Zyklus. Valinvo prüft jede Rechnung vor der Rückgabe gegen die offiziellen Regeln und meldet das Ergebnis in den Antwort-Headern. Das funktioniert aus jeder Sprache, die HTTP-Anfragen senden kann; der Schnellstart beschreibt das JSON-Modell mit Beispielen.

Die Grenzen, offen gesagt:

Passt für: neue Projekte, Teams mit mehr als einer Programmiersprache oder Teams, die weder eine Bibliothek noch Java im Stack wollen.

Heute erzeugte Rechnungen prüfen

Das passt zu Option 1: Senden Sie das PDF, das Ihr bestehender Code erzeugt (oder nur das XML, mit Content-Type: application/xml).

curl -X POST https://valinvo.bmk-hub.com/v1/validate \
  -H 'X-Accept-Terms: 1.0' \
  -H 'Content-Type: application/pdf' \
  --data-binary @rechnung.pdf

Die Antwort nennt den angewendeten Regelsatz, zum Beispiel zugferd-2.5.2-en16931+pdf-a-3u, und listet jeden Fehler mit Regel-ID und Fundstelle. Warnungen machen eine Rechnung nicht ungültig.

Welche Option wann

Optionen 1 und 4 lassen sich gut kombinieren: Behalten Sie, was funktioniert, prüfen Sie es gegen die aktuellen Regeln, und verlegen Sie Rechnungsarten auf die API, wenn sie sich ändern müssen.

Mit der Nutzung des Validators oder der API akzeptieren Sie die Nutzungsbedingungen (derzeit nur auf Englisch).

Schnellstart · XRechnung-Validator · ZUGFeRD-Validator · ZUGFeRD-csharp: Ihre Optionen · Fehlercodes