Zum Hauptinhalt springen
csv2zugferd

vergleich

ZUGFeRD erzeugen: CLI, Bibliothek oder SaaS?

Drei Wege zur ZUGFeRD-Rechnung im Vergleich: lokales CLI (csv2zugferd), programmatische Bibliotheksintegration und SaaS-Dienste – Aufwand, Eignung und Kriterien.

ZUGFeRD-Rechnungen können auf drei grundlegend verschiedene Weisen erzeugt werden. Welcher Ansatz passt, hängt vom Ausgangsmaterial, dem Integrationsaufwand und den Datenschutzanforderungen ab.

Die drei Ansätze im Überblick
#

AnsatzEingabeIntegrationZielgruppe
Lokales CLI (csv2zugferd)CSV + PDF-VorlageKein Code erforderlichTeams mit CSV-Export aus CRM/ERP
Programmatische BibliothekCode-Aufruf im eigenen SystemDirekt in Anwendung eingebettetEntwickler mit bestehendem Softwareprojekt
SaaS-DienstPDF-Upload oder FormularBrowser oder REST-APIEinzelne Rechnungen ohne Infrastruktur

Lokales CLI: csv2zugferd
#

csv2zugferd nimmt strukturierte Rechnungsdaten als CSV und eine vorhandene Rechnungs-PDF entgegen. Das YAML-Mapping beschreibt, welche CSV-Spalten welchen ZUGFeRD-Feldern entsprechen. Kein Code, kein Build-System, keine Abhängigkeiten im eigenen Projekt.

Geeignet, wenn:

  • ein CRM, ERP oder Excel CSV exportieren kann
  • eine Rechnungs-PDF als sichtbarer Beleg bereits vorliegt
  • keine Änderung an einer bestehenden Applikation möglich oder gewünscht ist
  • Batch-Verarbeitung oder Automatisierung über PowerShell oder CI/CD gefragt ist

Programmatische Bibliotheksintegration
#

Bibliotheken erlauben es, ZUGFeRD-Rechnungen direkt aus Anwendungscode zu erzeugen. Für die gängigen Plattformen existieren quelloffene Bibliotheken – unter anderem für Java, .NET/C#, Python und PHP.

Geeignet, wenn:

  • Rechnungsdaten in einer Datenbank oder einem Objektmodell vorliegen
  • die ZUGFeRD-Erzeugung fester Bestandteil einer bestehenden Anwendung werden soll
  • volle Kontrolle über das erzeugte XML und die Profilauswahl erforderlich ist

SaaS-Dienste
#

SaaS-Werkzeuge bieten browserbasierte Oberflächen für die manuelle Eingabe oder den Upload einzelner Rechnungen. Die Nutzung erfordert kein lokales Setup, aber Rechnungsdaten verlassen das eigene System.

Geeignet, wenn:

  • gelegentlich einzelne Rechnungen ohne strukturierten Datenexport konvertiert werden
  • keine eigene Infrastruktur oder kein Skriptbedarf vorhanden ist

Entscheidungsmatrix
#

SituationEmpfohlener Ansatz
CSV-Export vorhanden, kein Quellcode-Eingriffcsv2zugferd
Eigene Anwendung soll ZUGFeRD ausgebenBibliotheksintegration
Gelegentlich einzelne Rechnungen manuellSaaS
Batch-Workflow, hunderte Rechnungencsv2zugferd oder Bibliothek
Vollständige Kontrolle über XML-AusgabeBibliotheksintegration
Kein Rechnungsdaten-Upload gewünschtcsv2zugferd oder Bibliothek

Weiterführend: Lokales CLI vs. SaaS im Detail. Tool: csv2zugferd herunterladen.