Automating Xero and QuickBooks: what's possible in 2026
A practical guide to automating accounting workflows with Xero and QuickBooks APIs. Invoice processing, reconciliation, and reporting.

Xero and QuickBooks are the two most popular accounting platforms for small businesses in the UK. Both have solid APIs. Both have built-in automation features that most businesses never touch. And both can be extended with custom integrations that save serious time.
Here's what's actually possible and where the limits are.
What you can automate without writing code
Before building anything custom, check what's already available. Both platforms have automation features that handle common tasks.
Xero built-in automation
- Bank rules: Automatically categorise transactions matching specific criteria (merchant name, amount range, description keywords). Set these up once and they handle the obvious stuff.
- Repeating invoices: Set and forget for recurring clients with fixed amounts.
- Invoice reminders: Automatic emails when invoices go overdue (3 days, 7 days, 14 days).
- Payment services: Connect Stripe or GoCardless for automatic payment collection.
QuickBooks built-in automation
- Bank rules: Same concept as Xero. Match transactions to categories and payees.
- Recurring transactions: Invoices, expenses, and journal entries on a schedule.
- Payment reminders: Configurable email sequences for overdue invoices.
- QuickBooks Workflows: No-code automation for internal tasks (notify when invoice is overdue, create a task when a new customer is added).
Zapier/Make integrations
Both platforms integrate with Zapier and Make:
- New sale in Shopify creates an invoice in Xero
- New expense receipt in Dext/Receipt Bank syncs to QuickBooks
- Monthly revenue summary posted to Slack
- New invoice triggers a notification in your project management tool
These cover the simple, event-driven automations without needing a developer.
What needs custom code
The built-in features handle individual events well. Custom code shines when you need to process data in bulk, apply complex logic, or connect to systems that don't have pre-built integrations.
Bulk invoice processing
Businesses that send hundreds of invoices per month often need to generate them from an external data source (a CRM, a project management tool, or a custom database). Both APIs support creating invoices programmatically.
# Xero API: create an invoice
import requests
headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
invoice = {
"Type": "ACCREC",
"Contact": {"ContactID": "abc123"},
"LineItems": [
{"Description": "Consulting: March 2026", "Quantity": 1, "UnitAmount": 2000}
],
"Date": "2026-03-01",
"DueDate": "2026-03-31",
}
resp = requests.post(
"https://api.xero.com/api.xro/2.0/Invoices",
json={"Invoices": [invoice]},
headers=headers,
)
Automated reconciliation
Matching bank transactions to invoices and expenses automatically. The built-in bank rules handle simple cases, but complex matching (fuzzy reference numbers, partial payments, multi-currency) needs custom logic. This ties into the invoice reconciliation approach I've written about.
Custom reporting
The standard reports in Xero and QuickBooks cover the basics. But if you need cross-platform reports (combining accounting data with CRM data, project hours, or inventory levels), you'll need to pull data from multiple APIs and build the report yourself.
# Pull profit and loss from Xero
resp = requests.get(
"https://api.xero.com/api.xro/2.0/Reports/ProfitAndLoss",
headers=headers,
params={"fromDate": "2026-01-01", "toDate": "2026-03-31"},
)
Expense categorisation with AI
This is where AI adds genuine value to accounting workflows. Bank transactions arrive with descriptions like "AMAZON MARKETPLACE" or "TFL TRAVEL CH." Categorising these into the right expense categories is tedious and error-prone when done manually.
A classifier trained on your historical categorisations can automate this. It's the same pattern: structured data, clear categories, enough historical examples to train on. The model suggests a category, a human reviews the uncertain ones.
Note
The Xero and QuickBooks APIs both use OAuth 2.0 for authentication. The initial setup is the fiddliest part of any integration. Once you have a valid token, the APIs themselves are straightforward.
The practical limits
You still need an accountant
Automation handles the data entry and categorisation. It doesn't handle tax strategy, year-end returns, or financial advice. These tools save your accountant time (and your money, if they charge by the hour) but they don't replace the accountant.
API rate limits
Both Xero and QuickBooks have rate limits. Xero allows 60 calls per minute per tenant. QuickBooks allows 500 calls per minute. For most small businesses this is plenty, but if you're processing thousands of transactions in a batch, you'll need to handle rate limiting in your code.
Data quality in, data quality out
If your bank feeds are messy, your descriptions are inconsistent, or your chart of accounts is poorly structured, automation will just replicate the mess faster. Clean up your accounting setup first: consistent categories, clear naming conventions, proper bank connections.
Permissions and security
API access to your accounting system means programmatic access to your financial data. Use separate API credentials (not your personal login), restrict permissions to only what's needed, and store tokens securely. Never commit API keys to version control.
Key Takeaways
- Start with built-in features: bank rules, repeating invoices, and payment reminders handle most common tasks.
- Zapier/Make covers simple event-driven automations between your accounting tool and other systems.
- Custom code is needed for bulk processing, complex reconciliation, and cross-platform reporting.
- AI-powered expense categorisation is a genuine time-saver for businesses with high transaction volumes.
- Automation speeds up data entry. It doesn't replace your accountant or fix messy data.
Want to automate your accounting workflows?
If your team spends hours on manual data entry, reconciliation, or reporting in Xero or QuickBooks, there's probably a way to automate it. Get in touch and I'll take a look at your setup.
Related reading:
- How I'd automate invoice reconciliation for a small business
- Building a data pipeline with Python: a practical guide
- My AI automation service: accounting workflow automation and integrations