One invoice per file (column names)
Use this shape when the sender exports one invoice per file and includes a header row naming the columns. This is the simplest CSV shape and the easiest to author from scratch — every field is referenced by its column name, so mappings survive small column-order changes.
Config item ID
generic-csv-one-invoice-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
Row 1 is the header row (column names). Row 2 is the invoice's header-level record (invoice number, dates, party, addresses, payment, totals). Rows 3+ are line items; header-level cells on those rows are left blank.
Loops
invoice loop ← recordType: header, condition: rowIndex eq 1
line loop ← recordType: line, condition: rowIndex gt 1
Fields
One record schema. Row 1 uses the header fields; rows 2+ use the line fields (all other columns blank).
| 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-one-invoice-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
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SKU-4472,Stainless Nut M6 (box of 200),3,55.00,BX,165.00,9.00,14.85,179.85
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SKU-9013,Vibration Damper Kit,2,330.00,EA,660.00,9.00,59.40,719.40
Expected extraction
Running the sample through this shape's seed extracts 1 invoice with fully populated header, sender, receiver, bill-to, ship-to, payment, and line records. Totals, dates, and identifiers round-trip without loss.