Xero CSV Export for Your Bookkeeper
Last updated 2026-05-04
What it does
Frank can export your categorised transactions for any date range as a CSV sized for Xero AU's Bank Statement import format. Your bookkeeper drops it into Xero, builds a one-time mapping rule (Frank category → Xero Chart-of-Accounts code) on the first import, and from that point forward your monthly export flows straight in.
Format
Five columns, Xero AU defaults:
| Column | Source | Notes | |---|---|---| | Date | transaction.date | DD/MM/YYYY | | Amount | transaction.amount | Signed (negative = money out) | | Payee | transaction.description (first part) | Capped at 60 chars | | Description | transaction.description (full) | | | Reference | transaction.category | Frank's budget category |
The Reference column is the trick — your Xero rule reads it and routes each transaction to the right Chart-of-Accounts code. Frank category "Groceries" → Xero "Groceries / 311". Frank category "Subscriptions" → Xero "Software & subscriptions / 425". Etc.
How to export
API endpoint:
GET /api/finance/transactions/xero-csv?from_date=2026-01-01&to_date=2026-03-31
Optional entity_id=… to scope to one entity if you have multiple. Returns a downloadable frank-xero-2026-01-01_to_2026-03-31.csv.
UI surface coming — for now your bookkeeper can hit the URL directly while authenticated.
What this enables for the bookkeeper relationship
The flow becomes:
- You: live in Frank for personal finance + categorise transactions as you go.
- Frank: stores receipts, OCRs them, holds the audit trail.
- Bookkeeper: monthly, exports the CSV from Frank, imports into Xero, reconciles.
- Xero: payroll, BAS prep, financial statements (their core platform).
You don't replace your bookkeeper's Xero workflow — you remove the email-and-Dropbox dance for source documents.
Was this article helpful?