Zum Hauptinhalt springen
csv2zugferd

artikel

ZUGFeRD mit C# und .NET erzeugen

ZUGFeRD-Rechnungen mit C# und .NET: programmatische Bibliotheksintegration, CLI-Ansatz mit csv2zugferd und Entscheidungshilfe für .NET-Entwickler.

Für .NET-Entwickler gibt es zwei grundsätzlich verschiedene Wege, ZUGFeRD-Rechnungen zu erzeugen: die programmatische Integration einer Bibliothek in den eigenen Anwendungscode oder ein externes CLI-Tool, das CSV-Daten und eine vorhandene PDF entgegennimmt.

csv2zugferd: CLI-Ansatz für .NET-Umgebungen
#

csv2zugferd ist selbst in .NET/C# geschrieben und als eigenständige Windows-Exe verfügbar. Der Aufruf erfolgt über die Kommandozeile oder PowerShell – ohne NuGet-Abhängigkeit im eigenen Projekt.

.\csv2zugferd-win-x64.exe --csv invoices.csv --pdf invoice.pdf --config config.yml --output out

Dieser Ansatz eignet sich für .NET-Entwickler, die:

  • ZUGFeRD ohne Code-Änderungen an einer bestehenden Anwendung erzeugen wollen
  • strukturierte Rechnungsdaten bereits als CSV-Export verfügbar haben
  • Batch-Verarbeitung über PowerShell, Azure DevOps oder andere CI/CD-Pipelines benötigen
  • keine NuGet-Abhängigkeit für die ZUGFeRD-Erzeugung einführen wollen

Programmatische Bibliotheksintegration
#

Für die direkte Integration in .NET-Anwendungen existieren quelloffene Bibliotheken. Diese erlauben es, ZUGFeRD-Objekte im Code zu erstellen und als PDF/A-3 mit eingebettetem XML zu serialisieren.

Dieser Ansatz eignet sich, wenn:

  • Rechnungsdaten direkt aus dem Objektmodell oder der Datenbank stammen
  • das erzeugte XML vollständig kontrolliert werden soll
  • die ZUGFeRD-Erzeugung fester Bestandteil eines ERP, Webservices oder einer API ist

Vergleich beider Ansätze
#

Kriteriumcsv2zugferd (CLI)Bibliotheksintegration
EingabeCSV + PDF-Vorlage.NET-Objekte oder Datenbankabfragen
Code-Änderung nötigNeinJa
NuGet-AbhängigkeitNeinJa
Batch-FähigkeitJa, per SkriptJa, im eigenen Code
Kontrolle über XMLÜber YAML-MappingVollständig programmatisch
Geeignet fürCSV-Export-WorkflowsAnwendungsintegration

Systemvoraussetzungen
#

csv2zugferd läuft auf Windows x64 und benötigt keine separate .NET-Installation – die Exe ist als Self-Contained-Build verfügbar.

Weiterführend: Installation und Setup. Download: csv2zugferd herunterladen.