Help centre

How can we help?

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:

  1. You: live in Frank for personal finance + categorise transactions as you go.
  2. Frank: stores receipts, OCRs them, holds the audit trail.
  3. Bookkeeper: monthly, exports the CSV from Frank, imports into Xero, reconciles.
  4. 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?