Integrations
Connect QuickBooks or Xero to import your accounting data directly — no manual file uploads required.
QuickBooks Online
Connecting
- Go to Integrations → QuickBooks.
- Click Connect to QuickBooks.
- You'll be redirected to Intuit's OAuth2 login page.
- Sign in and authorise the AI CFO Assistant.
- You'll be redirected back with an active connection.
Sandbox mode: The integration supports QuickBooks Sandbox environments for testing. No production data is accessed until you connect a live company.
General Ledger Query
Once connected, you can pull your General Ledger report. The following parameters are used:
| Parameter | Type | Default | Notes |
| Start Date | Date | 2025-03-01 | The start of the reporting period. |
| End Date | Date | 2025-03-31 | The end of the reporting period. |
| Accounting Method | Text | Accrual | Accrual or Cash basis. |
What Gets Imported
- General Ledger journal entries for the selected period
- Account codes and names are mapped to the platform's chart of accounts
- Amounts are converted if a different currency is used
Xero
Connecting
- Go to Integrations → Xero (or click Go to Xero Integration from the Integrations page).
- On the Xero dashboard, click Connect to Xero.
- You'll be redirected to Xero's OAuth2 login page. Sign in and authorise the application.
- If your Xero account has multiple organisations, you'll be shown a selection screen — pick the one you want to connect.
- You'll be redirected back to the Xero dashboard showing your connected organisation name, currency, and connection date.
Permissions Requested
The following Xero API scopes are requested during authorisation:
- Offline access (refresh token for background sync)
- User profile (openid, profile, email)
- Accounting — Transactions (read)
- Accounting — Journals (read)
- Accounting — Reports (read) — used for Trial Balance
- Accounting — Settings (read)
- Accounting — Contacts (read)
- Accounting — Attachments (read)
- Accounting — Budgets (read)
Importing a Trial Balance
- From the Xero dashboard, click Import TB.
- Enter a TB Name, select Period Start and Period End dates, and choose the Currency.
- Click Fetch from Xero. The system calls the Xero Trial Balance report at both dates to compute opening balances, turnover, and closing balances.
- A preview table is shown with all accounts and their auto-detected Balance Sheet / Income Statement categories.
- Review and adjust any category assignments, then click Confirm Import.
- The Trial Balance is saved and you are redirected to its detail view.
Account categories are auto-detected from Xero account types (e.g. REVENUE → Net Sales, BANK → Cash, CURRLIAB → Current Liabilities). You can override any assignment on the preview screen.
Importing a Budget
- From the Xero dashboard, click Import Budget.
- A list of budgets from your Xero organisation is shown. Select one and choose a currency.
- Click Fetch Budget to see a month-by-month preview of all budget lines.
- Confirm the Fiscal Year and click Confirm Import.
- The budget is saved with all monthly line amounts and account-code mappings pre-filled.
Background Sync
After connecting, you can enable automatic sync so your TB and Budget data stays current without manual imports:
- Click Settings on the Xero dashboard.
- Toggle Enable Automatic Sync and choose an interval (every hour, 6h, 12h, daily, or weekly).
- Click Save Settings.
Each automatic sync imports:
- Previous year — 4 quarterly Trial Balances (Q1–Q4)
- Current year — one monthly Trial Balance per elapsed month
- All Xero budgets with at least one non-zero line
You can also trigger a sync immediately with the Sync Now button on the dashboard. All sync attempts are logged in the Sync History table showing status, duration, and number of records updated.
Disconnecting
Click Disconnect in the top-right corner of the connected Xero dashboard card. This removes all stored tokens and sync settings. Imported Trial Balances and Budgets are not deleted.
Important Notes
- You can connect one QuickBooks company and one Xero organisation per account.
- OAuth tokens are encrypted at rest using Fernet symmetric encryption (AES-128-CBC + HMAC-SHA256) and never shared with the AI engine.
- If your Xero token expires, the system attempts an automatic refresh. If it fails, you'll be prompted to reconnect.
- Xero-imported Trial Balances and Budgets are tagged with
source = xero so they can be distinguished from manually uploaded data. All analysis modules work with them identically.
- To disconnect, go to the Xero integration page and click the disconnect button.