Skip to main content

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).

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-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.