Repeated header per line (column names)
Use this shape when the sender's ERP flattens the invoice into one row
per line item, with header-level fields (invoice number, dates, party,
totals) repeated on every row. A new invoice starts on any change of the
InvoiceNumber column.
This is the most common shape for spreadsheet exports out of Excel and older accounting systems.
Config item ID
generic-csv-repeated-header-column-names
Pick this in the admin portal when creating a customer file format from a global template, or select the same config item ID via the API.
Parse settings
{ "delimiter": ",", "columns": true }
Row layout
Every row is a line item. Header-level fields (columns before the line block) hold the same value across every row of the same invoice; they change on invoice boundary. Line-level fields (product code, quantity, etc.) vary per row.
Loops
invoice loop ← recordType: header, condition: columnChange InvoiceNumber
line loop ← recordType: line, condition: always
Fields
One record schema. Every row carries both header-level and line-level columns; header-level columns repeat across the invoice, line-level columns vary per row.
| Column | Field | Type | Description |
|---|---|---|---|
InvoiceNumber | header.invoice_number | text | Sender-issued invoice number. |
InvoiceDate | header.invoice_date | date | Date the invoice was issued. |
DueDate | header.due_date | date | Date the full amount is due. |
DeliveryDate | header.delivery_date | date | Date the goods or services were delivered. |
Currency | header.currency_code | text | ISO 4217 currency code (USD, EUR, GBP, …). |
PurchaseOrder | header.order_number_1 | text | Buyer purchase order number. |
ContractNumber | header.contract_number | text | Master or framework contract reference. |
CustomerTaxId | header.customer_tax_id | text | Buyer VAT / tax registration number. |
NetAmount | header.net_amount | number | Invoice-level net (pre-tax) total. |
TaxAmount | header.tax_amount | number | Invoice-level total tax. |
GrossAmount | header.gross_amount | number | Invoice-level total gross (net + tax). |
SupplierName | sender.supplier_name | text | Supplier / vendor legal name. |
SupplierTaxId | sender.supplier_tax_id | text | Supplier VAT / tax registration number. |
CustomerName | receiver.customer_name | text | Buyer / customer legal name. |
BillToName | bill_to.address_name | text | Bill-to party name or department. |
BillToStreet | bill_to.street | text | Bill-to street address. |
BillToCity | bill_to.city | text | Bill-to city. |
BillToPostalCode | bill_to.postal_code | text | Bill-to postal / ZIP code. |
BillToState | bill_to.state | text | Bill-to state or region. |
BillToCountry | bill_to.country | text | Bill-to country (ISO 3166-1 alpha-2). |
ShipToName | ship_to.address_name | text | Ship-to party name or department. |
ShipToStreet | ship_to.street | text | Ship-to street address. |
ShipToCity | ship_to.city | text | Ship-to city. |
ShipToPostalCode | ship_to.postal_code | text | Ship-to postal / ZIP code. |
ShipToState | ship_to.state | text | Ship-to state or region. |
ShipToCountry | ship_to.country | text | Ship-to country (ISO 3166-1 alpha-2). |
PaymentReference | payment.reference_number | text | Payment reference the buyer should quote when remitting. |
BankAccount | payment.bank_account | text | Supplier bank account (IBAN or local format). |
BankName | payment.bank_name | text | Supplier bank name. |
PaymentMethod | payment.payment_method | text | Preferred payment method (ACH, wire, cheque, …). |
ProductCode | line.product_code_1 | text | Supplier product / SKU code. |
ProductName | line.product_name | text | Product or service description. |
Quantity | line.quantity | number | Line quantity. |
UnitPrice | line.unit_price | number | Price per unit. |
UnitOfMeasure | line.unit_of_measure | text | Unit of measure (EA, BX, KG, …). |
LineNetAmount | line.net_amount | number | Line net (pre-tax) amount. |
LineTaxRate | line.tax_rate | number | Line tax rate as a percentage. |
LineTaxAmount | line.tax_amount | number | Line tax amount. |
LineGrossAmount | line.gross_amount | number | Line gross amount (net + tax). |
Sample file
Download generic-csv-repeated-header-column-names.csv
InvoiceNumber,InvoiceDate,DueDate,DeliveryDate,Currency,PurchaseOrder,ContractNumber,CustomerTaxId,NetAmount,TaxAmount,GrossAmount,SupplierName,SupplierTaxId,CustomerName,BillToName,BillToStreet,BillToCity,BillToPostalCode,BillToState,BillToCountry,ShipToName,ShipToStreet,ShipToCity,ShipToPostalCode,ShipToState,ShipToCountry,PaymentReference,BankAccount,BankName,PaymentMethod,ProductCode,ProductName,Quantity,UnitPrice,UnitOfMeasure,LineNetAmount,LineTaxRate,LineTaxAmount,LineGrossAmount
INV-2025-0042,2026-07-15,2026-08-14,2026-07-12,USD,PO-88190,MSA-2024-11,US-849201,1250.00,112.50,1362.50,Northwind Manufacturing LLC,US-441290,Contoso Retail Group,Contoso Accounts Payable,"450 Market Street, Suite 200",San Francisco,94105,CA,US,Contoso Distribution Center,901 Airport Way,Reno,89502,NV,US,INV-2025-0042,US1234567890,First National Bank,ACH,SKU-4471,Stainless Bolt M6 x 20 (box of 100),5,85.00,BX,425.00,9.00,38.25,463.25
INV-2025-0042,2026-07-15,2026-08-14,2026-07-12,USD,PO-88190,MSA-2024-11,US-849201,1250.00,112.50,1362.50,Northwind Manufacturing LLC,US-441290,Contoso Retail Group,Contoso Accounts Payable,"450 Market Street, Suite 200",San Francisco,94105,CA,US,Contoso Distribution Center,901 Airport Way,Reno,89502,NV,US,INV-2025-0042,US1234567890,First National Bank,ACH,SKU-4472,Stainless Nut M6 (box of 200),3,55.00,BX,165.00,9.00,14.85,179.85
INV-2025-0042,2026-07-15,2026-08-14,2026-07-12,USD,PO-88190,MSA-2024-11,US-849201,1250.00,112.50,1362.50,Northwind Manufacturing LLC,US-441290,Contoso Retail Group,Contoso Accounts Payable,"450 Market Street, Suite 200",San Francisco,94105,CA,US,Contoso Distribution Center,901 Airport Way,Reno,89502,NV,US,INV-2025-0042,US1234567890,First National Bank,ACH,SKU-9013,Vibration Damper Kit,2,330.00,EA,660.00,9.00,59.40,719.40
INV-2025-0043,2026-07-15,2026-08-14,2026-07-14,USD,PO-88191,MSA-2024-11,US-849201,540.00,48.60,588.60,Northwind Manufacturing LLC,US-441290,Contoso Retail Group,Contoso Accounts Payable,"450 Market Street, Suite 200",San Francisco,94105,CA,US,Contoso Warehouse 7,2200 Industrial Blvd,Sparks,89434,NV,US,INV-2025-0043,US1234567890,First National Bank,ACH,SKU-4471,Stainless Bolt M6 x 20 (box of 100),4,85.00,BX,340.00,9.00,30.60,370.60
INV-2025-0043,2026-07-15,2026-08-14,2026-07-14,USD,PO-88191,MSA-2024-11,US-849201,540.00,48.60,588.60,Northwind Manufacturing LLC,US-441290,Contoso Retail Group,Contoso Accounts Payable,"450 Market Street, Suite 200",San Francisco,94105,CA,US,Contoso Warehouse 7,2200 Industrial Blvd,Sparks,89434,NV,US,INV-2025-0043,US1234567890,First National Bank,ACH,SKU-9014,Vibration Damper Refill Pack,1,200.00,EA,200.00,9.00,18.00,218.00
Expected extraction
Running the sample through this shape's seed extracts 2 invoices with fully populated header, sender, receiver, bill-to, ship-to, payment, and line records. Totals, dates, and identifiers round-trip without loss.