Topolo Docs Topolo Platform
Open workspace

Books · Migrations

6 declared Migrations actions with worked requests and responses.

Migrations execution

Read the exact action guide for prerequisites, identifier discovery, supported input, effects, captured successful and refused responses, verification and recovery. Synthetic fixture results do not authorize a live mutation or establish a provider outcome.

  • Xero migration status: Whether Xero is connected to this workspace, which organisation is selected, the organisations granted, and the last import.
  • Connect Xero: Start the Xero OAuth connect: returns the Xero authorise URL to open. Tokens are stored in Nexus when Xero redirects back; Books never sees a password.
  • Choose the Xero organisation: When the Xero login granted more than one organisation, pick the one to import from.
  • Import from Xero: Pull the chart of accounts, tax rates, contacts, sales invoices, supplier bills, payments, bank history, manual journals and attachments from the connected Xero organisation. Books posts imported documents before rebuilding ledger history from each bank transaction account, retaining coding already delivered by a live feed. Transactions before the conversion date remain represented by the opening position. Manual journals preserve adjustments such as accruals, depreciation and reclassifications without requesting Xero Advanced general-ledger data. Attachments stay linked to the journal they support and are keyed by their Xero attachment id. The default dryRun preview reports counts without writing; dryRun false imports. Re-running skips or refreshes records by source identity instead of duplicating them.
  • Check Books against Xero: Fetch Xero's own trial balance as at a date and compare it with Books account by account. Returns whether they agree, and every difference worst first — including accounts Books has a balance on that Xero does not report. Read-only unless post is true, which carries every difference into one journal against opening balances and needs confirmation "POST"; it refuses to post when any Xero account cannot be matched, because a difference coded to the wrong account is worse than one left visible. Use this before trusting a migration or leaving Xero.
  • Disconnect Xero: Revoke the stored Xero tokens in Nexus. Imported records stay.

Evidence

Actual Books route handlers and the exported Worker were exercised against five local SQLite D1 concern databases with all committed migrations, the real posting Durable Object and local R2. Route captures use synthetic verified Auth; Worker captures use synthetic Auth transports. Nexus, Brand, Notify, Pay, Mercury and Xero responses are explicitly simulated at the provider transport boundary. Captures prove local request/response behavior and canonical SDK projection, not live bank access, payment movement, email delivery, provider eligibility, tax compliance, encrypted custody, scheduled execution, deployment or production completion. Fixture identities, credentials, addresses and records authorize no live operation.