Eine KI kann beim ersten Entwurf einer config.yml helfen, wenn bereits eine CSV-Datei aus CRM, ERP oder Excel vorliegt. Die erzeugte Konfiguration ist ein Startpunkt und muss lokal mit csv2zugferd getestet werden.
Geeignete Modelle sind zum Beispiel ChatGPT, Claude, Gemini, Microsoft Copilot, Mistral Le Chat und Perplexity.
Vor dem Hochladen#
Echte Rechnungs- oder Kundendaten dürfen nur hochgeladen werden, wenn das intern erlaubt ist.
Wenn das nicht sicher geklärt ist:
- CSV-Datei anonymisieren
- Kundennamen, Adressen, IDs und Steuerdaten maskieren
- ein lokal oder vertraulich betriebenes KI-System verwenden
Vorgehen#
- CSV-Datei in die KI laden.
- Den Standard-Prompt verwenden.
- Antwort als
config.ymlprüfen. - Konfiguration lokal mit
csv2zugferdtesten. - Erstellte ZUGFeRD-PDF validieren.
- XML und PDF vor produktiver Nutzung fachlich und technisch prüfen.
Standard-Prompt#
Dies ist der Hauptprompt für den ersten Entwurf der config.yml.
Die weiteren Prompts auf dieser Seite dienen dazu, eine bereits mit diesem Prompt erzeugte config.yml gezielt zu verbessern.
Ich möchte für das Tool csv2zugferd eine config.yml erstellen.
Ich habe eine CSV-Datei hochgeladen. Analysiere die Kopfzeile und die Datenstruktur und erstelle daraus eine vollständige YAML-Konfiguration für csv2zugferd.
Wichtige Dokumentation:
- https://zugferd-tools.de/docs/yml-konfiguration/
- https://zugferd-tools.de/docs/csv-modi/
- https://zugferd-tools.de/docs/cli-parameter/
- https://zugferd-tools.de/beispiele/datasrc-globale-steuer/
Aufgabe:
1. Erkenne, ob die CSV eher dem Modus "rows" oder "columns" entspricht.
2. Wenn "columns" verwendet wird, prüfe, ob Positionsfelder nummeriert sind, z. B. PRODUCT_NAME_0, PRODUCT_PRICE_0 usw.
3. Prüfe, ob Steuer- oder Summenfelder global pro Rechnung vorliegen, z. B. INVOICE_TAX, INVOICE_TOTAL, INVOICE_SUBTOTAL.
4. Erstelle eine vollständige config.yml für csv2zugferd.
5. Verwende nur Spaltennamen, die wirklich in der CSV vorkommen. Nichts erfinden.
6. Wenn Informationen fehlen, setze sinnvolle feste Werte per value und markiere diese Annahmen klar.
7. Gib nach der YAML eine kurze Liste mit offenen Fragen oder Unsicherheiten aus.
Bitte beachte:
- Die Ausgabe soll eine gültige YAML-Datei für csv2zugferd sein.
- Verkäufer-Stammdaten dürfen als feste values gesetzt werden, wenn sie nicht in der CSV enthalten sind.
- Für lineItems.taxPercent kann im columns-Modus auch eine globale Spalte wie INVOICE_TAX verwendet werden.
- totals.mode soll "manual" sein, wenn die CSV bereits Summenfelder enthält, sonst "auto".
- country möglichst als ISO-Code wie DE ausgeben.
Strenge Regeln:
1. Erfinde keine YAML-Schlüssel.
2. Verwende keine plausibel klingenden, aber undokumentierten Felder wie z. B. delivery.shipTo, seller.email oder document.notes, wenn diese nicht dokumentiert sind.
3. Wenn ein gewünschter Inhalt nicht mit dokumentierten Feldern abbildbar ist, nimm ihn nicht in die YAML auf, sondern nenne ihn unter „Offene Punkte“.
Gib zuerst nur die YAML-Datei aus und danach einen kurzen Abschnitt "Offene Punkte".Impressum-Prompt#
Dieser Prompt dient dazu, eine bereits mit dem Standard-Prompt erzeugte config.yml zu verbessern.
Er ist für Fälle gedacht, in denen Verkäuferdaten fehlen oder als feste Werte aus dem Impressum gepflegt werden sollen.
Wenn die ausstellende Firma immer gleich ist, ist ein festes seller-Mapping meist robuster als CSV-Spalten für Verkäuferdaten.
Eine KI kann die Werte aus einer Impressum-Seite vorbereiten, zum Beispiel:
https://www.musterfirma.de/impressum/Danach müssen diese Angaben geprüft werden:
- Firmenname
- Straße, PLZ, Ort, Land
- Steuernummer
- Umsatzsteuer-ID
- Schemes wie
FCfür Steuernummer undVAfür Umsatzsteuer-ID
Ich habe bereits eine config.yml für csv2zugferd erstellt.
Ich habe zusätzlich eine bestehende config.yml. Überarbeite die vorhandene config.yml so, dass für seller.name, seller.postalCode, seller.city, seller.street, seller.country und seller.taxRegistrations bevorzugt feste value-Werte aus der Impressum-Seite der ausstellenden Firma verwendet werden.
Impressum-Seite:
https://www.musterfirma.de/impressum/
Wichtige Dokumentation:
- https://zugferd-tools.de/docs/yml-konfiguration/
- https://zugferd-tools.de/docs/csv-modi/
- https://zugferd-tools.de/docs/cli-parameter/
- https://zugferd-tools.de/beispiele/datasrc-globale-steuer/
Aufgabe:
1. Analysiere die bestehende config.yml.
2. Überarbeite die vorhandene config.yml, statt sie unnötig komplett neu zu erfinden.
3. Verwende für seller.name, seller.postalCode, seller.city, seller.street, seller.country und seller.taxRegistrations bevorzugt feste value-Werte aus der Impressum-Seite.
4. Behalte vorhandene seller.value-Einträge bei, wenn sie bereits fachlich korrekt und vollständig sind.
5. Ersetze seller-Spalten-Mappings möglichst durch feste value-Werte aus der Impressum-Seite.
6. Wenn Informationen aus dem Impressum unklar sind, markiere diese Punkte ausdrücklich.
Bitte beachte:
- Verkäuferdaten sollen nach Möglichkeit als feste values gesetzt werden.
- Bestehende Strukturen der config.yml sollen erhalten bleiben, wenn sie bereits korrekt sind.
- Für taxRegistrations sollen passende Schemes verwendet werden, zum Beispiel `FC` für Steuernummer und `VA` für Umsatzsteuer-ID.
- country möglichst als ISO-Code wie DE ausgeben.
- Alle nicht betroffenen Bereiche der config.yml sollen unverändert bleiben.
Gib zuerst nur die YAML-Datei aus und danach einen kurzen Abschnitt "Offene Punkte".Antwort prüfen#
Eine brauchbare KI-Antwort sollte:
- den richtigen CSV-Modus wählen
- nur reale Spaltennamen aus der CSV verwenden
- globale Rechnungsfelder von Positionsfeldern trennen
- feste Verkäuferdaten sauber als
valuesetzen, wenn die CSV dafür nicht geeignet ist - eine direkt testbare
config.ymlliefern - Unsicherheiten offen benennen
Lokal testen#
Normaler Lauf mit XML und PDF:
.\csv2zugferd-win-x64.exe --csv .\kundendaten.csv --pdf .\rechnung.pdf --config .\config.yml --output .\output --verboseReiner XML-Testlauf:
.\csv2zugferd-win-x64.exe --csv .\kundendaten.csv --pdf .\rechnung.pdf --config .\config.yml --output .\output --xml-only --verboseValidiere die erstellte ZUGFeRD-PDF#
Nach dem lokalen Test sollte die erzeugte PDF validiert werden.
Verwende dafür nur die Hinweise auf der Seite ZUGFeRD-Validierung →.
Fehlerkorrektur#
Wenn Fehler auftreten, kopiere die Fehlermeldung einfach zusammen mit der aktuellen config.yml zurück in denselben Prompt.
Das ist oft der schnellste Weg, um Mapping-Fehler, fehlende Pflichtfelder oder unpassende Datums-, Zahlen- und Summenfelder gezielt korrigieren zu lassen.