Blank bill import templates for QuickBooks and Xero
Download an empty CSV with the column headers BillToCSV writes, and read what each column holds. Or skip the typing: drop the bills and get the file filled in and checked.
Free: 1 file per day, up to 10 pages, no account.
Download the blank templates
Verify the column headers against your QuickBooks or Xero import page; vendors change them. These files match the layouts BillToCSV writes. They are not Intuit's or Xero's own templates.
QuickBooks Online bill template
13 columns, header row only. Account is for you to fill.
Download QuickBooks template (CSV)
Show the header row
BillNo,Supplier,BillDate,DueDate,Terms,Location,Memo,Account,LineDescription,LineAmount,LineTaxCode,LineTaxAmount,Currency
Xero bill template
26 columns, header row only. Asterisks mark the columns Xero requires.
Show the header row
*ContactName,EmailAddress,POAddressLine1,POAddressLine2,POAddressLine3,POAddressLine4,POCity,PORegion,POPostalCode,POCountry,*InvoiceNumber,*InvoiceDate,*DueDate,Total,InventoryItemCode,*Description,*Quantity,*UnitAmount,*AccountCode,*TaxType,TaxAmount,TrackingName1,TrackingOption1,TrackingName2,TrackingOption2,Currency
What is a bill import template?
A bill import template is a CSV that holds only the header row: the column names your accounting software expects. You add one row per bill line underneath, repeat the bill-level details on every row of the same bill, and import the file to create the bills in one go.
These two templates match the layouts BillToCSV writes. They are not Intuit's or Xero's own files. Verify the column headers against your QuickBooks or Xero import page, because vendors change them, and use the template your software offers if it differs.
Filling a blank template by hand
-
Download the template for your software
Use the QuickBooks one for QuickBooks Online and the Xero one for Xero. Keep the header row exactly as it is: do not rename, reorder or delete columns.
-
Add one row per bill line
A bill with five lines needs five rows. Repeat the bill number, supplier and dates on every one of them, spelled identically, so the import groups them into one bill.
-
Protect the dates and amounts
Spreadsheet apps love to reformat dates. Format the date columns as text before you type, or write them as YYYY-MM-DD and tell the import which format the file uses. Type amounts as plain numbers: no currency symbol, no thousands separator.
-
Save as CSV, comma separated
In Excel choose CSV UTF-8 (Comma delimited). Some regional settings save with semicolons, which the imports do not expect.
-
Test with two or three bills
Import a small file first, open the bills, and compare the totals with the paper. Then do the rest.
Blank template, generic OCR app, or BillToCSV
| What you compare | Blank template, by hand | A generic OCR app | BillToCSV |
|---|---|---|---|
| Who types the lines | You, from the paper. | The app fills a layout of its own. | The converter reads the PDF or photo and writes the rows. |
| Header names | As downloaded, if you keep them intact. | Its own, unless it has a QuickBooks or Xero mode. | The layouts on this page, written for you. |
| Arithmetic on the lines | Only what you do yourself. | Varies by app. Ask whether it checks. | Quantity × unit price, lines to subtotal, subtotal plus tax to total. |
| Dates in the right format | Spreadsheet apps may reformat them. | Depends on the app. | Written in the format you pick, ambiguous dates flagged. |
| Time for 40 bills | Hours. | Faster, but each bill still needs opening. | Drop the stack, clear the amber rows, download. |
What a filled file looks like
These are the first rows BillToCSV wrote for its clean sample bill (Harbor Point Office Supply, invoice HP-20417). One row per line; the bill number, supplier and dates repeat on each row, which is how the import knows the rows belong to one bill.
QuickBooks
BillNo,Supplier,BillDate,DueDate,Terms,Location,Memo,Account,LineDescription,LineAmount,LineTaxCode,LineTaxAmount,Currency HP-20417,Harbor Point Office Supply,10/14/2026,11/13/2026,Net 30,,PO 88213,,"Copy paper, 8.5 x 11, case of 10 reams",192.00,,,USD HP-20417,Harbor Point Office Supply,10/14/2026,11/13/2026,Net 30,,PO 88213,,"Ballpoint pens, box of 12",18.75,,,USD HP-20417,Harbor Point Office Supply,10/14/2026,11/13/2026,Net 30,,PO 88213,,"Stapler, heavy duty",29.98,,,USD
Xero
*ContactName,EmailAddress,POAddressLine1,POAddressLine2,POAddressLine3,POAddressLine4,POCity,PORegion,POPostalCode,POCountry,*InvoiceNumber,*InvoiceDate,*DueDate,Total,InventoryItemCode,*Description,*Quantity,*UnitAmount,*AccountCode,*TaxType,TaxAmount,TrackingName1,TrackingOption1,TrackingName2,TrackingOption2,Currency Harbor Point Office Supply,,,,,,,,,,HP-20417,14/10/2026,13/11/2026,329.73,,"Copy paper, 8.5 x 11, case of 10 reams",5,38.40,,,,,,,,USD Harbor Point Office Supply,,,,,,,,,,HP-20417,14/10/2026,13/11/2026,329.73,,"Ballpoint pens, box of 12",3,6.25,,,,,,,,USD Harbor Point Office Supply,,,,,,,,,,HP-20417,14/10/2026,13/11/2026,329.73,,"Stapler, heavy duty",2,14.99,,,,,,,,USD
Account, *AccountCode and *TaxType are blank because only you know your chart of accounts and tax rates. Drop your own bills to get a file like this, with every total checked.
Questions people ask
Are these the official QuickBooks and Xero templates?
No. They are independent files that match the layouts BillToCSV writes. Intuit and Xero publish their own templates, and the vendors change them from time to time, so verify the column headers against your QuickBooks or Xero import page before you rely on a file.
Why does the Xero template have more columns than the QuickBooks one?
The Xero layout carries contact address, tracking and inventory columns that the QuickBooks layout does not. BillToCSV fills the ones it can read from the bill and leaves the rest blank. The QuickBooks template has thirteen columns and the Xero template has twenty-six.
Do I have to fill every column?
No. Fill the columns your software marks as required. For Xero those are the headers that start with an asterisk. For QuickBooks, Intuit's help lists bill number, supplier, bill date, due date, account and line amount, plus a line tax code where sales tax is switched on. Leave the optional columns empty.
How do I put several lines on one bill?
Use one row per line and repeat the bill-level columns (number, supplier, dates) exactly on each row. The import groups rows with the same bill number into one bill.
Excel changed my dates. How do I stop that?
Format the date columns as Text before you type or paste, or enter dates as YYYY-MM-DD, and tell the import which date format your file uses. Opening a CSV by double-click and saving it again is the usual way dates get rewritten, so keep a copy of the original file.
Which file format and encoding do the imports want?
A plain CSV with comma separators and UTF-8 text. In Excel, choose CSV UTF-8 (Comma delimited). Files from BillToCSV use commas, quote every field that needs it and end rows with a carriage return and a line feed.
Can I use semicolons instead of commas?
Some spreadsheet apps in some regions save CSV files with semicolons, and the bill imports generally expect commas. If your file arrives as one long column, save it again as comma separated, or change the list separator in your system's regional settings.
What do the columns hold?
The QuickBooks page and the Xero page each list every column, what BillToCSV puts in it and what you do next.
Can BillToCSV fill the template for me?
Yes, that is what it is for. Drop the supplier bills on the home page and download a QuickBooks or Xero CSV with every line and total checked. The free allowance is 1 file per day, up to 10 pages, no account.
What does "verify the column headers" mean in practice?
Open the import page in your own QuickBooks or Xero, download or view the sample file it offers, and compare the header names, their spelling and their order with the template here. If they differ, edit the first row of the CSV to match, or map the columns during the import where your software lets you.