csv2zugferd unterstützt mehrere CSV-Strukturen.
rows#
Im rows-Modus steht jede Rechnungsposition in einer eigenen Zeile. Gemeinsame Rechnungsdaten werden wiederholt oder gruppiert.
Geeignet für:
- ERP-Exporte mit einer Position pro Zeile
- Rechnungen mit variabler Positionsanzahl
- gut prüfbare tabellarische Daten
columns mit suffix#
Im Columns-Suffix-Modus stehen Positionen in nummerierten Spalten:
PRODUCT_NAME_0;PRODUCT_QUANTITY_0;PRODUCT_PRICE_0;PRODUCT_NAME_1;PRODUCT_QUANTITY_1;PRODUCT_PRICE_1Typische Konfiguration:
lineItems:
mode: "columns"
columnPattern:
style: "suffix"
separator: "_"
startIndex: 0
zeroPadding: 0columns mit prefix#
Im Columns-Prefix-Modus steht die Nummer vor dem Feldnamen:
1_Menge;1_Preis;1_Beschreibung;2_Menge;2_Preis;2_BeschreibungTypische Konfiguration:
lineItems:
mode: "columns"
columnPattern:
style: "prefix"
prefix: ""
separator: "_"
startIndex: 1
zeroPadding: 0Globale Rechnungsfelder im columns-Modus#
Im columns-Modus können Positionsfelder nummeriert sein, während andere Werte global einmal pro Rechnung vorliegen.
Beispiel:
fields:
name:
column: "PRODUCT_NAME"
billedQuantity:
column: "PRODUCT_QUANTITY"
netUnitPrice:
column: "PRODUCT_PRICE"
taxPercent:
column: "INVOICE_TAX"Dabei wird PRODUCT_NAME_0 als Positionsspalte gelesen, INVOICE_TAX dagegen als globale Einzelspalte für alle Positionen derselben Rechnung.
Diese Modi sind praktisch, wenn ein CRM oder eine Tabellenkalkulation eine Rechnung vollständig in einer Zeile exportiert.