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 outDieser 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#
| Kriterium | csv2zugferd (CLI) | Bibliotheksintegration |
|---|---|---|
| Eingabe | CSV + PDF-Vorlage | .NET-Objekte oder Datenbankabfragen |
| Code-Änderung nötig | Nein | Ja |
| NuGet-Abhängigkeit | Nein | Ja |
| Batch-Fähigkeit | Ja, per Skript | Ja, im eigenen Code |
| Kontrolle über XML | Über YAML-Mapping | Vollständig programmatisch |
| Geeignet für | CSV-Export-Workflows | Anwendungsintegration |
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.