Xero is built for small businesses and it shows in the best sense: bills are straightforward, the API is clean, and the bank feed does a lot of quiet work. The friction appears when a business outgrows the assumption behind that design. That someone has time to enter each bill by hand. This page covers how bills actually reach Xero, the contact and tracking mechanics that decide whether your reports hold together, and the specific constraints worth knowing before you plan anything.
Reads digital PDFs, scans and phone photos. Exports to Excel, CSV and JSON.
Compare the extracted fields and line items against your own document.
Upload your invoices
Drop files here or click to upload
Up to 50 files
Uploading...
In Xero a supplier invoice is an Invoice record of type ACCPAY. It carries a contact, an issue date, a due date, an optional reference, a currency, a status, and line items with account codes, tax types and amounts.
Status is the field that matters most operationally. A bill can be created as DRAFT, SUBMITTED for approval, or AUTHORISED and awaiting payment. Creating everything as authorized is fast and removes a control; creating everything as draft is safe and creates a queue someone has to clear. The right choice depends on whether approval happens before the bill reaches Xero or inside it.
Xero has no separate purchase-order matching workflow of the kind an ERP provides. It has purchase orders, and a PO can be copied to a bill, but line-level matching with tolerances is not part of the product. For businesses that genuinely order against POs, that check has to happen before the bill is created.
Xero contacts are shared between sales and purchases, and they are easy to create. Which is exactly why contact lists get messy. Nothing prevents "British Gas", "British Gas Business" and "BRITISH GAS BUSINESS LTD" all existing, each with a slice of your history.
Automation should match against existing contacts using more than the trading name: the contact's email address, the tax or company number where it is recorded, and previous bills from the same supplier. Where nothing matches confidently, the correct behavior is an exception for a person to resolve, because a system that creates contacts on uncertainty will fragment your supplier history faster than any human.
It is also worth setting default account codes on frequently used contacts in Xero itself. Those defaults give coding a reliable starting point and mean the automation is confirming a decision you already made rather than inventing one.
Xero gives you two tracking categories, each with its own options. Commonly used for department, region, site, or project. They sit alongside account codes rather than replacing them, and they are the mechanism behind most of Xero's useful segmented reporting.
Two is a real limit and it shapes design. Businesses that want department, location and project simultaneously have to pick two, or encode a combination into one category's options, which becomes unwieldy quickly. If you are approaching that point it is worth knowing early, because it is a common reason growing businesses look beyond Xero.
Like classes elsewhere, tracking values cannot be read from the invoice. The supplier does not know your departments. They come from rules, by contact, by account code, by the person who submitted the bill, and if your management reporting depends on them, a missing tracking value should be treated as an incomplete bill rather than an optional extra.
Xero's bank reconciliation is where many small businesses spend most of their bookkeeping time, and it interacts with bills in a way worth understanding before automating anything.
When a payment leaves the bank, Xero suggests a match against an authorized bill for the same amount and payee. If the bill exists, reconciliation is one click and the supplier account clears correctly. If it does not exist, the temptation is to code the payment straight to an expense account, which balances the books and destroys the payables record. The spend is captured but there is no bill, no document, and nothing showing what you owed and when.
Getting bills into Xero promptly therefore improves reconciliation as a side effect. It also keeps the aged payables report meaningful, which matters the moment anyone needs to know what is actually owed rather than what has already been paid.
Xero applies API rate limits per organization and per application, which is invisible at ten bills a day and very visible when someone uploads eight hundred documents at month end. A sensible integration paces its writes rather than discovering the ceiling during close.
File attachments are supported on bills, with size limits per file and a cap on total storage per organization. Attaching the source PDF to each bill is worth doing because it makes the record self-contained, but for high-volume, image-heavy scanning it is worth checking those limits against your actual document sizes rather than assuming.
None of these are objections to Xero. They are the ordinary constraints of a product designed for small business volume, and they only matter when you are pushing past what that design assumed.
Xero includes document capture that reads key fields from bills and receipts and creates a draft. It works well for modest volume and simple documents. The differences at scale are line-item detail, purchase-order checking, approval routing before the bill reaches Xero, and batch handling of several hundred documents at once.
Either, and it should follow where approval happens. If budget holders approve before the bill reaches Xero, creating it as authorized avoids a second queue. If you prefer approval inside Xero, bills arrive as drafts or submitted and follow your existing process.
By rule, since the supplier does not know your tracking structure. Common rules assign tracking by contact, by account code, or by whoever submitted the bill. Where a rule cannot determine a value and your reporting requires one, the bill is held rather than created without it.
Yes, the source document can be attached to the bill record so it is visible from the transaction. Xero applies per-file size limits and an overall storage allowance per organization, which is worth checking if you scan large image-based documents at volume.
Xero supports purchase orders but does not provide line-level matching with tolerances the way an ERP does. Where matching matters, the comparison is done before the bill is created, so what reaches Xero has already been checked against the order.
How AP automation works with QuickBooks Online and Desktop: how bills enter the file, how vendors are matched, how expense coding and class tracking are applied, and where QuickBooks stops being enough.
Accounts payable automation that reads every supplier invoice, matches it to your purchase orders, routes it for approval and posts it to your ledger. See how AP automation works end to end.
What accounts payable software should do, how it differs from your accounting system, and the questions worth asking before you buy. A practical buyer’s guide.
Invoice processing software for teams handling steady invoice volume: automatic capture, validation rules, exception queues and clean export to your accounting system.
Design an accounts payable approval workflow that clears invoices instead of stalling them: routing rules, thresholds, delegation, escalation and a defensible audit trail.
Upload a few of your least tidy supplier invoices and compare the extracted fields against the documents. That tells you more than any feature list.