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