Scan Receipts Into Xero Automatically
Most of your receipts already arrive by email. ExpenseBot is a Xero receipt scanner that reads them straight from Gmail, codes each one to your Xero accounts, and pushes them to your Xero integration as Draft Bills you approve — no photographing, no forwarding, no typing. The original receipt image rides along, attached to the Bill.
Free forever for accountants · Works with the Gmail and Xero you already use
Your receipts are already in Gmail
The subscription invoice from your SaaS tools, the Amazon order confirmation, the rideshare receipt, the supplier PDF — nearly all of it lands in your inbox. A traditional Xero receipt scanner like Hubdoc or Dext still makes you do the fetching: photograph the paper, or forward the email into a capture inbox. That's a step for every single receipt, and the ones you forget to forward simply never make it into the books.
ExpenseBot starts from where the receipts already are. It reads your Gmail directly, pulls out the receipts and invoices, and codes them to your Xero Chart of Accounts — so getting a month of expenses into Xero is a review, not a data-entry marathon.
How receipts get into Xero
Paper and cash receipts aren't left out. Snap a photo with your phone or email it to yourself and it's read, categorized, and ready to push alongside everything else. The same engine powers our general Gmail receipt scanner — the Xero connection is what turns those captured receipts into coded Draft Bills.
What actually lands in Xero
When you push, ExpenseBot connects to Xero over its direct API — not a CSV import — and creates a Draft Bill for the receipt. Each one carries:
- The vendor, matched to an existing Xero contact or created for you
- The correct GL account code, mapped by AI from your Xero Chart of Accounts
- The right tax rate, read from your Xero organisation (GST/VAT handled per region)
- Tracking categories and multi-currency, when you use them
- The original receipt image, attached to the Bill so the proof is right there
Because it lands as a Draft, nothing hits your ledger until you review and authorise it in Xero. You get the speed of automation with the final say on every entry.
Built for Xero businesses and bookkeepers
If you run your books in Xero — or run other people's — the receipt-capture step is where the hours go. ExpenseBot is free forever for accountants and bookkeepers, with unlimited clients, so a whole practice can standardise on Gmail-first capture without per-seat fees. Each client's data stays in that client's own Google Drive. See how accountants and bookkeepers use ExpenseBot across a client book, or read the full Xero integration overview.
Choosing a receipt add-on for Xero
The add-ons built around Xero fall into a few groups: receipt and bill capture tools that get source documents into the ledger, bank-feed and reconciliation tools, bill payment tools, and practice tools for workflow and reporting across a client book. ExpenseBot is in the first group — it captures receipts and bills and codes them, and it is not a bank feed, a payments tool or a general ledger. If you are shopping for something else on that list, this is not the add-on for you.
ExpenseBot is a connected app that works with Xero through Xero's API. You connect it from inside ExpenseBot when you push a report, not from a marketplace listing.
What to compare when you shortlist Xero add-ons
These five questions separate receipt add-ons from each other more than any feature list does. They apply to any tool in the category, not just this one.
| What to ask | Why it matters | Where ExpenseBot lands |
|---|---|---|
| Does the client have to upload anything? | Some add-ons only read what you feed them — a photo, or a forwarded email. Others read the mailbox directly. This is the difference between chasing a client every month and not. | ExpenseBot scans Gmail directly, so anything that arrived by email needs no forwarding or photographing. Paper and cash receipts are snapped or emailed in. |
| Line-item extraction, or header total only? | A header-only tool gives you a supplier and a total. Line-item extraction matters when one receipt spans several account codes. | Receipts are read in full and coded before they reach Xero, with the original image attached to the Bill. |
| Where does the data live? | Some tools hold your documents on their own servers. For a practice, that decides what happens to a client's records if you stop paying. | Each client's data sits in that client's own Google Drive and Google Sheet, not on our servers. |
| Is the GL account and tax rate coded before the push, or after? | Coding after the fact means someone recodes every line inside Xero. Coding before means you are reviewing, not typing. | ExpenseBot reads your Chart of Accounts and tax rates from your connected Xero organisation and codes each receipt before the push. |
| What lands in Xero, and do you approve first? | Draft Bill, Spend Money or Manual Journal are very different in how reversible they are. Ask what posts and whether it posts as a draft. | Bills and Manual Journals arrive as drafts you review in Xero. Spend Money has no draft state in Xero and posts straight to the bank ledger, so ExpenseBot warns you before using it. |
For practices, the other question is price per client. ExpenseBot is free forever for accountants and bookkeepers, with unlimited clients.
Australia and the UK
Most of the add-on shopping for Xero happens in Australia and the UK, and the thing that differs there is the tax line on an expense claim. ExpenseBot carries no tax table of its own — it codes each supplier receipt against the GST or VAT rates already configured in your own Xero organisation. The section below on Xero in Australia, the UK and New Zealand covers how that works per region.
Comparing specific tools instead? We have written up how we compare to Hubdoc and how we compare to Dext.
Xero in Australia, the UK and New Zealand
Xero is the default ledger for a large share of practices in Australia, the UK and New Zealand, and the receipt-capture problem looks the same in all three — the difference is the tax line. ExpenseBot does not carry its own tax table. It reads the tax rates configured in your connected Xero organisation and codes each receipt to one of them, so the rates that come back are the ones your organisation already uses.
- Australia (Xero AU): receipts are coded against your GST rates — GST on Expenses, GST Free Expenses, BAS Excluded — so the Bills feed straight into the activity statement you prepare from Xero. Amounts stay in AUD as they appear on the receipt.
- United Kingdom (Xero UK): receipts are coded against your VAT rates, including the reduced and zero-rated ones, and the receipt image is attached to the Bill — which is the part that matters when you are keeping digital records for Making Tax Digital and need the source document to sit with the transaction.
- New Zealand (Xero NZ): the same GST handling, coded from your own Xero tax rates, with amounts kept in NZD.
ExpenseBot does not file returns — it makes sure the transactions and their receipt images are in Xero and correctly coded before you file. Confirm the treatment of any individual expense with your accountant or tax professional.
Stop forwarding receipts. Start reviewing Drafts.
Connect Gmail and Xero, let ExpenseBot read your inbox, and push a batch of coded Draft Bills whenever you're ready. Free to start, free forever for accountants. Full details on the Xero integration page.
Xero receipt scanning — FAQ
How do receipts get from Gmail into Xero?
ExpenseBot scans your Gmail every day for receipts and invoices, reads each one, and drops it into your own Google Sheet already categorized. When you're ready, one click pushes the receipts to Xero over the direct API as Draft Bills — with the vendor, amount, tax rate, and your correct GL account code already applied, and the original receipt image attached. They arrive as Drafts in Xero for you to review and approve before anything posts.
Do receipts post to Xero automatically, or do I approve them first?
You approve them. The Gmail scan runs automatically, but the push to Xero is a step you control — nothing goes to Xero until you click. And what lands in Xero is a Draft Bill, so you review and authorise it inside Xero before it hits your ledger. You stay in control of both the timing and the final posting.
How is this different from Hubdoc or Dext?
Hubdoc and Dext capture what you feed them — you photograph a receipt or forward the email, and they read it. ExpenseBot reads Gmail directly, where most of your receipts already are, so there's nothing to forward or photograph for anything that arrived by email. It maps each receipt to your Xero Chart of Accounts with AI (no per-vendor rule setup), attaches the receipt image to the Bill, and is free forever for accountants and bookkeepers. Paper and cash receipts still work too — snap a photo or email it in.
Does it map receipts to my Xero account codes and tax rates?
Yes. ExpenseBot reads your Xero Chart of Accounts and tax rates directly from your connected organisation, then uses AI to code each receipt to the right GL account and tax rate. It also matches or creates the Xero contact for the vendor, and supports Xero tracking categories and multi-currency. You review the Draft in Xero before posting, so you always have the final say on the coding.
How do I connect ExpenseBot to Xero?
Sign in with your Google account, then connect Xero once with a standard OAuth authorisation — no passwords shared, and you can disconnect any time from Xero or ExpenseBot. ExpenseBot uses your most recently authorised Xero organisation for the push.
What if I push the same receipts twice by accident?
ExpenseBot tracks whether a report has already been pushed and blocks an accidental re-push, warning you first if you try. If you deliberately choose to push again, it will create a new entry — so the guard protects against slips, not intentional re-sends. As always, Bills land as Drafts, giving you a review step in Xero before anything is final.
Is it really free for accountants and bookkeepers?
Yes — free forever for accountants and bookkeepers, with unlimited clients. Your data stays in your own Google Drive rather than on a vendor's servers. See the full picture on our Xero integration page.
Does ExpenseBot work with Xero?
Yes. ExpenseBot connects to Xero directly over the Xero API using standard OAuth — no file exports, no CSV imports. It reads your Chart of Accounts, tax rates and contacts from your connected Xero organisation, then pushes receipts in as Draft Bills with the GL code, tax rate and receipt image already applied. It works with any Xero plan and any Xero region, including Xero AU, Xero UK, Xero NZ and Xero US.
Does it handle Xero expense claims?
Not as Xero's Expense Claims module — ExpenseBot posts to Xero as Draft Bills, Spend Money transactions, or a Manual Journal, and you pick which one at the point of sharing. For most practices that covers the same ground: reimbursable staff spend goes through as a Bill against the employee as a contact, and company card spend goes through as Spend Money against the card's bank account. Bills and Manual Journals arrive as drafts for you to review; Spend Money posts immediately, so ExpenseBot warns you before using it.
What are the best apps for Xero for receipt capture?
The add-ons around Xero split into receipt and bill capture, bank feeds, bill payment, and practice tools. For receipts specifically, compare on five things: whether the client has to upload anything, line-item versus header-total extraction, where the data is stored, whether GL accounts and tax rates are coded before the push or after, and what actually lands in Xero for approval. ExpenseBot reads receipts out of Gmail automatically, codes them to your Chart of Accounts and tax rates, and creates Draft Bills you approve with the receipt image attached.
Is ExpenseBot listed in the Xero App Store?
ExpenseBot connects to Xero through Xero's API as a connected app. You connect it from inside ExpenseBot when you push a report, not from the Xero App Store.
What Xero add-ons do bookkeepers use for client expense claims?
Practices generally want three things from a receipt add-on: it should work across a whole client book without per-seat fees, it should not put the practice in the middle of every upload, and each client's records should stay with that client. ExpenseBot is free forever for accountants and bookkeepers with unlimited clients, reads each client's Gmail directly rather than waiting on uploads, and keeps each client's data in that client's own Google Drive. Reimbursable staff spend can go into Xero as a Bill against the employee as a contact; company card spend can go as Spend Money against the card account.
Does ExpenseBot work with Xero in Australia and the UK?
Yes, and with Xero NZ and Xero US. ExpenseBot codes each receipt against the GST or VAT rates configured in your own Xero organisation rather than carrying its own tax table, so an AU organisation gets your GST rates and a UK organisation gets your VAT rates. See the section on Xero in Australia, the UK and New Zealand for the per-region detail.
Does it handle GST and BAS in Australia, or VAT and Making Tax Digital in the UK?
ExpenseBot reads the tax rates configured in your own Xero organisation and codes each receipt to one of them, so an AU organisation gets your GST rates and a UK organisation gets your VAT rates — including the reduced and zero-rated ones you already use. Because the receipts land in Xero as normal Bills with the tax correctly applied, they flow into whatever return you run from Xero, whether that's your BAS in Australia or your MTD VAT return in the UK. ExpenseBot does not file returns itself; it makes sure the underlying transactions and receipt images are in Xero and coded before you file. Check the treatment of any individual expense with your accountant or tax professional.