Select which organisations to send. Chart of accounts, trial balance and fixed asset register will be fetched when Cashbook pulls the transfer.
No organisations connected. Connect a Xero org first.
Export Chart of Accounts and Trial Balance from any Xero organisation in open formats.
Secure OAuth
Industry-standard authentication
Read-only Access
We never modify your data
Bank-grade Security
Your data is encrypted end-to-end
Signing in with Xero…
Select which organisations to send. Chart of accounts, trial balance and fixed asset register will be fetched when Cashbook pulls the transfer.
No organisations connected. Connect a Xero org first.
Manage your Xero organisation connections and exports
Sending you back to Cashbook…
Ledger Vault is redirecting you to the callback Cashbook supplied.
Select a cashbook to manage your accounts and transactions, or create a new one to get started.
| Name | Status | GST Return Status | No. Unrecon. Transactions | Actions |
|---|---|---|---|---|
| No cashbooks found | ||||
|
|
Connected
Activated
Connection lost Go live did not finish |
|
||
No cashbooks are waiting for setup
Imported cashbooks appear here until the client is invited and the financial settings are finalised.
Action required — invite your clients to connect their bank feeds
Download the CSV
Fill in client details
Open the CSV and fill in the Client first name,
Client last name, and
Client email columns for each cashbook.
Upload & send invites
Re-upload the completed CSV. Invitation emails will be sent automatically to each client.
| Xero Organisation | Imported from Xero | Client Invited | Settings finalised | Actions |
|---|---|---|---|---|
| No cashbooks match your search | ||||
|
|
Import failed
LedgerVault could not read this organisation. |
|
Importing | |
Cashbook overview. The screens PRD-101 changes are Cashbook Settings (Xero connection) and Push back to Xero.
Unreconciled transactions
Lifecycle
Lock date
Manage your cashbook settings.
The Xero connection for this cashbook is held in LedgerVault. CashBook uses it to import, to re-import at go-live, and to push back to Xero.
Connection active
Connection lost
Xero access was revoked in LedgerVault
Go live did not finish
Xero stays the source of truth until you go live. Going live re-imports this cashbook as at the date you choose and hands the ledger to CashBook.
CashBook is the source of truth for this cashbook. It is never imported from Xero again — the connection is kept so reconciled transactions can be pushed back to Xero.
This cashbook was created in CashBook, not imported from Xero, so it has no Connected or Activated status. The connection is used for pushing back to Xero only.
No Xero connection
This cashbook has no LedgerVault connection, so CashBook cannot read from or write to Xero for it. Connecting is done through LedgerVault, which holds the Xero connections.
Import your accounts from a CSV file.
Upload a CSV file exported from Xero to import your accounts.
Import opening balances from a CSV file exported from Xero.
Bring the client's Xero organisation up to date with CashBook — for GST returns, the annual tax return, or branded reports. CashBook sends the journals through LedgerVault, which holds the Xero connection.
The push sends reconciled transactions from the activation date. This cashbook is still Connected — Xero is the source of truth and nothing has been activated yet, so there is nothing to send back.
The Xero connection was revoked
CashBook sends reconciled bank transactions from the activation date forward, as one journal per month, through the Xero connection held in LedgerVault. The connection is kept for the next push.
No successful push yet for this cashbook.
CashBook is the source of truth.
Pushing overwrites what is in Xero. Keep editing the figures in CashBook only, never in Xero. If something needs to change, fix it in CashBook and send it to Xero again.
CashBook pushes reconciled bank transactions only, from the activation date forward, as one journal per month.
| Include | Month | Reconciled transactions | Amount | Status |
|---|---|---|---|---|
| No months to push yet — this cashbook went live today. | ||||
| Will be pushed | ||||
The current month can be pushed part-way through. Sending it again later replaces the month's journal in Xero.
Choose at least one month to push.
CashBook uses the connection LedgerVault holds for this cashbook. No sign-in is needed.
Connected. This connection is kept for future pushes.
This cashbook has no Xero connection yet. LedgerVault holds the Xero connections — you will sign in there, choose the organisation, and be brought straight back. CashBook keeps the connection for future pushes.
These are the Xero organisations LedgerVault has connected for you. The one linked to this cashbook is selected.
Need a different organisation? Add it in LedgerVault and it appears here.
You are about to overwrite data in the Xero organisation . This replaces monthly journals covering reconciled transactions. CashBook cannot undo this for you — anything written into Xero has to be put right in Xero.
Tick the box and type OVERWRITE to enable.
This usually takes a minute or two. You can leave this page — come back any time and the progress will still be here.
Push complete. in Xero is now up to date with CashBook.
| Month | Reconciled transactions | Amount | Journal |
|---|---|---|---|
| Pushed | |||
Connection kept
The Xero connection stays in LedgerVault, so the next push needs no sign-in. To revoke it, use the LedgerVault app.
The push did not finish
Xero said: the account 429 Rates is archived in this organisation and cannot be posted to.
The Xero connection is kept — you do not need to sign in again to retry.
To import data from multiple Xero organisations, you'll be redirected to LedgerVault, our secure internal Xero data backup service.
In LedgerVault, you will:
This is the test import
Bring across the fixed asset register for every organisation you import. Your chart of accounts and balances are imported either way.
Once completed, you'll be automatically redirected back to Cashbook AI to continue.
Important:
Enter a name to continue.
After you create this cashbook, you'll be sent to LedgerVault to choose the Xero organisation and authorise access. You will be brought straight back.
This is the test import
CashBook imports from the start of the organisation's current financial year and bank feeds start capturing now. The cashbook lands as Connected. You choose the real cut-over date later with Go live now.
The cashbook will be created with the generic chart of accounts template. No Xero connection is made, so it will not show a Connected or Activated status.
Everything up to and including this date stays in Xero. CashBook takes over from the next day, and the trial balance as at this date is re-imported as the opening position.
will be re-imported from Xero as at , and CashBook takes over from .
What will be removed
What is kept
Tick the box and type GO LIVE to enable.
This usually takes under a minute. Do not close this window.
LedgerVault could not fetch the trial balance for as at .
Retry, or check the connection in LedgerVault if the organisation's access was revoked there.
PRD-101 — Live Xero connections: Connected vs Activated, go live, and push back. Accountants import each client from Xero twice. The first import is the test import: bank feeds start capturing, Xero stays the source of truth, and the cashbook is Connected. The second is Go live now on one cashbook with its own last-Xero date: CashBook clears the test accounting data, re-imports from Xero as at that date, keeps the bank accounts, feeds and captured transactions, and the cashbook becomes Activated — CashBook is the source of truth, never imported from Xero again. Billing is out of scope for PRD-101: Activated is not wired to Stripe, and Nova's Billing Mode is switched by hand (decision 2026-09-04-prd-101-billing-stays-manual).
LedgerVault is a separate product (~/Work/ledger-vault), and the hand-off
shows its own screens, reproduced here from the real components with LedgerVault's chrome, tokens and font:
Sign in ("Back up your Xero data" — Welcome.tsx), Transfer consent
("Cashbook wants to import your Xero data" — TransferConsent.tsx) and Organisations (the
connections table — Dashboard.tsx), which is where a connection is added or reconnected. The real consent
page lists an organisation name and a checkbox only, so the prototype adds no status badge, no connected
date and no "already in Cashbook" marker. What PRD-101 needs from LedgerVault is invisible on those screens:
a connection identifier in the transfer payload, a connection-status endpoint, a trial-balance-as-at-date
endpoint, and a push endpoint with write scopes (which also changes LedgerVault's "Read-only Access" claim).
See PROTOTYPE.md.
Every Xero interaction now goes through LedgerVault, which holds the Xero connections. CashBook stores a connection identifier per cashbook and calls LedgerVault server to server for go-live and push. There is no "Disconnect from Xero" in CashBook — consent is revoked in LedgerVault.
Screens in this prototype
Where to click
Variants (URL, not UI controls)
Faked here, real on build: the whole cashbook list and its counts, the LedgerVault
redirect (an in-page interstitial), all timed progress, the seeded go-live failure (Mahoe Orchards Ltd) and
push failure (Ridgeline Earthworks 2019 Ltd). See PROTOTYPE.md for the
full table.
Rules the screens follow. The irreversible action is never the loudest: Open keeps today's gradient primary, while Go live, Retry go live and Reconnect to Xero are outline buttons placed before it. Red-filled buttons are reserved for the two destructive confirmations. Lifecycle and connection are two separate facts — a revoked consent never replaces the Connected or Activated pill, it adds a red line underneath. Go live and push share one confirmation pattern: a tick box plus a typed confirmation.
Open / critic residue — judgement calls left for the human reviewer: the pending banner is louder than the tab badge it duplicates; Connect Xero and Choose org are pass-through steps when a cashbook has exactly one authorised organisation; toasts duplicate the go-live and push success panels; the main table and the Pending setup table use two different paginator styles; the import dialog's bullet lists are long; the Pending setup screen offers a CSV flow and a per-row Invite with no guidance on which to use; the push summary carries no Xero journal references; and the LedgerVault interstitial has no timeout and no cancel. Kit limits, not design choices: the native date input (the kit has no DatePicker) and the top nav collapsing below about 1024px.