Keep one clear header row
Use readable column names like invoice_no, customer_name, due_date, subtotal, tax, and total_due instead of blank or duplicated headers.
The smoother your spreadsheet is structured, the smoother your invoice workflow becomes. CSVLink works best when your invoice data is clear, consistent, and easy to group when line items span multiple rows.
Use readable column names like invoice_no, customer_name, due_date, subtotal, tax, and total_due instead of blank or duplicated headers.
If one invoice spans multiple rows, make sure every related row repeats the same invoice number or order ID so CSVLink can group them correctly.
Blank cells are okay, but inconsistent labels, merged cells, or mixed formats tend to create avoidable mapping problems later.
Know which columns belong in the invoice header and which ones should repeat in the item table so your mapping stays organized.
invoice_no, issue_date, due_date, and payment_terms give the invoice its identity and timeline.
customer_name, billing_address, contact_email, and account references make the invoice ready to send.
subtotal, tax_amount, discount, and total_due make it easy to map the amounts that matter most.
Merged rows often hide repeated values. For grouped invoices, every row should carry the invoice identifier explicitly.
Totals and prices are easier to map when the spreadsheet uses a consistent format for amounts, taxes, and currencies.
If invoice information only exists inside comments or inconsistent note columns, move it into dedicated fields before importing.