Skip to main content

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.

ColumnFieldTypeDescription
InvoiceNumberheader.invoice_numbertextSender-issued invoice number.
InvoiceDateheader.invoice_datedateDate the invoice was issued.
DueDateheader.due_datedateDate the full amount is due.
DeliveryDateheader.delivery_datedateDate the goods or services were delivered.
Currencyheader.currency_codetextISO 4217 currency code (USD, EUR, GBP, …).
PurchaseOrderheader.order_number_1textBuyer purchase order number.
ContractNumberheader.contract_numbertextMaster or framework contract reference.
CustomerTaxIdheader.customer_tax_idtextBuyer VAT / tax registration number.
NetAmountheader.net_amountnumberInvoice-level net (pre-tax) total.
TaxAmountheader.tax_amountnumberInvoice-level total tax.
GrossAmountheader.gross_amountnumberInvoice-level total gross (net + tax).
SupplierNamesender.supplier_nametextSupplier / vendor legal name.
SupplierTaxIdsender.supplier_tax_idtextSupplier VAT / tax registration number.
CustomerNamereceiver.customer_nametextBuyer / customer legal name.
BillToNamebill_to.address_nametextBill-to party name or department.
BillToStreetbill_to.streettextBill-to street address.
BillToCitybill_to.citytextBill-to city.
BillToPostalCodebill_to.postal_codetextBill-to postal / ZIP code.
BillToStatebill_to.statetextBill-to state or region.
BillToCountrybill_to.countrytextBill-to country (ISO 3166-1 alpha-2).
ShipToNameship_to.address_nametextShip-to party name or department.
ShipToStreetship_to.streettextShip-to street address.
ShipToCityship_to.citytextShip-to city.
ShipToPostalCodeship_to.postal_codetextShip-to postal / ZIP code.
ShipToStateship_to.statetextShip-to state or region.
ShipToCountryship_to.countrytextShip-to country (ISO 3166-1 alpha-2).
PaymentReferencepayment.reference_numbertextPayment reference the buyer should quote when remitting.
BankAccountpayment.bank_accounttextSupplier bank account (IBAN or local format).
BankNamepayment.bank_nametextSupplier bank name.
PaymentMethodpayment.payment_methodtextPreferred payment method (ACH, wire, cheque, …).
ProductCodeline.product_code_1textSupplier product / SKU code.
ProductNameline.product_nametextProduct or service description.
Quantityline.quantitynumberLine quantity.
UnitPriceline.unit_pricenumberPrice per unit.
UnitOfMeasureline.unit_of_measuretextUnit of measure (EA, BX, KG, …).
LineNetAmountline.net_amountnumberLine net (pre-tax) amount.
LineTaxRateline.tax_ratenumberLine tax rate as a percentage.
LineTaxAmountline.tax_amountnumberLine tax amount.
LineGrossAmountline.gross_amountnumberLine 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.