Accounting exports
How to get receipts into Xero
Every way to get receipts into Xero (the Documents inbox, emailed bills, Hubdoc, the bills CSV import and precoded bank statements), with the columns each needs and the mistakes that double-count expenses.
Xero has more ways to bring in receipts than most accounting tools. That's useful, but it also makes it easy to choose one that creates the wrong kind of transaction, or the same one twice. Here's what each route does and when to use it.
Short answer Receipt files: send them to Xero's Documents inbox (upload or email) and attach them to the bank transactions they belong to. Or forward supplier invoices to your bills email address. A spreadsheet of expenses: import it with Purchases → Bills → New bill → Import from CSV if they're bills, or as a precoded bank statement for a card or account Xero has no feed for. Don't import expenses that your bank feed already brings in.
Receipt files: Documents inbox
Xero recently renamed Files to Documents, and it now sits under the Accounting menu.
- Upload: Accounting → Documents → upload to the Documents inbox. Files must be under 25 MB.
- Email: choose Email to Documents Inbox and copy your organization's unique address. Anything you forward there lands in the inbox.
- Mobile: the Xero app uploads up to 10 photos or files at once, as separate documents or combined into one.
Then, when you reconcile a bank line, attach the matching receipt from the inbox. Once a document is attached to a transaction it moves to the archive, so the inbox doubles as your "still to file" list.
Xero has also been rolling out Smart Document Capture, which reads documents and suggests matches to existing transactions. Check whether it's available for your organization.
Supplier invoices: email them in as bills
For invoices you pay after receiving them (rent, contractors, utilities on terms), Xero can turn each emailed PDF into a draft bill:
- Go to Purchases → Bills → New bill and choose Copy your forwarding email address.
- Forward invoices to that address with the PDF attached. Xero doesn't read invoices pasted into the email body. Up to 10 bills per email, 25 MB in total.
- Each one becomes a draft Forwarded bill for you to check and approve.
Xero describes this as "a simpler version of Hubdoc".
Hubdoc: high-volume capture
Hubdoc is Xero's document capture app, included with Xero business plans. You can upload up to 50 documents at a time on the web, email them to your organization's Hubdoc address or snap them in the mobile app, up to 1,000 documents a day. Hubdoc reads each document and publishes it to Xero as a bill, invoice, credit note or spend money transaction with the document attached. If you have a steady flow of receipts every month, this is the heavy-duty option.
Xero Expenses is different. It's for reimbursing employees who paid with their own money, not for business-card receipts.
Spreadsheets: import bills from CSV
If you have expenses in a spreadsheet, Xero's bills import takes a CSV:
- Go to Purchases → Bills → New bill → Import from CSV and download the Xero import template.
- Fill it in without renaming the headings. Only ContactName is required, but you'll want most of these:
| Xero column | What goes in it | From a What Receipt? export |
|---|---|---|
ContactName |
The supplier | vendor |
InvoiceNumber |
Rows with the same number become one bill | RB- + id |
InvoiceDate |
DD/MM/YYYY, even in the US |
txn_date, reformatted |
DueDate |
DD/MM/YYYY |
same as the date for already-paid receipts |
Description |
Line description | notes, or the vendor name |
Quantity |
1 |
— |
UnitAmount |
The amount | total_amount |
AccountCode |
A code from your chart of accounts | map from category |
TaxType |
The tax rate's display name in your Xero | match to your tax rates |
- Choose whether the amounts are tax inclusive or exclusive. The whole file has to be one or the other.
- Import. Keep each file under 500 items. Bills arrive as drafts to approve.
One catch: a bill is something you owe. Receipts you've already paid will also show up as payments in your bank feed. After approving the bills, reconcile each bank line against its bill so the payment and the bill cancel out. Ask your accountant whether they'd rather see bills or spend money for these.
Spreadsheets: precoded bank statements
For a card or account with no bank feed in Xero, a precoded statement creates spend money transactions and reconciles them in one step:
- Go to Accounting → Bank accounts, open the menu on the account and choose Import a Statement.
- Upload a CSV with these mandatory columns: Date, Amount (money out negative), Account code and Tax rate (the display name, mapped to Tax Type). Payee, Description and Reference are optional.
- Map the columns, confirm the date format and complete the import.
Xero warns that if these lines match bills, invoices or transactions already in Xero, a precoded import will introduce errors. Only use it for transactions that aren't in Xero any other way.
A plain bank statement CSV (just Date and Amount, plus optional payee and description) imports statement lines for you to reconcile by hand. Xero skips lines that match transactions it already has.
Don't count it twice
- An account with a bank feed: attach receipts (Documents inbox, Hubdoc) to the feed's transactions. Don't import a CSV of the same expenses.
- An account without a feed: a precoded statement or a CSV of bills, but not both.
- Bills for already-paid receipts: reconcile them against the bank payments, or they'll look unpaid.
Where What Receipt? fits
What Receipt? collects receipts before they reach Xero. It photographs them, pulls them from Gmail automatically (including a whole past tax year), reads the vendor, date, total and tax, and files them by category and project. From there you can:
- forward the originals to your Xero Documents inbox or Hubdoc, or
- export a CSV and use the column mapping above for a bills import or a precoded statement.
A native Xero export is on the roadmap.
Questions
How do I import expenses into Xero from a spreadsheet?
Use Purchases → Bills → New bill → Import from CSV with Xero's template, where only ContactName is required. Or, for a card or account Xero has no feed for, import a precoded bank statement with Date, Amount, Account code and Tax rate. Precoded statements create spend money transactions.
Can I import spend money transactions into Xero?
Not with a standalone import. The usual routes are a precoded bank statement, which creates spend money transactions and reconciles them, or publishing receipts from Hubdoc as spend money.
What date format does Xero's bill import use?
The bills template uses DD/MM/YYYY for InvoiceDate and DueDate, including for US organizations. Bank statement imports accept several formats and ask you to confirm when a date is ambiguous.
How do I attach receipts to transactions in Xero?
Upload or email them to the Documents inbox (formerly Files), then attach the matching document when you reconcile the bank line. Hubdoc and emailed bills attach the document automatically when they create the transaction.
Menus follow Xero Central as of October 2026. Xero renamed Files to Documents in September 2026, and some screens may still show the old name. This guide is general information, not accounting advice.