Integrations
QuickBooks Integration
Topkey's accounting integration keeps your books up to date by pushing card transactions, bills, and invoices from Topkey directly into your accounting system — and pulling your vendors and GL codes back into Topkey. This page covers how to connect QuickBooks Online, configure the integration, and manage your ongoing sync. Topkey also supports QuickBooks Desktop, Xero, and Sage Intacct; connection steps for each are included below.
What the Integration Does
Once connected, Topkey and your accounting system work together in two directions:
- Topkey pushes card transactions, bills, and invoices to your accounting ledger.
- Topkey pulls your vendor list and chart of accounts (GL codes) from your accounting system, so you can use them when coding transactions in Topkey.
This eliminates manual journal entries. Once expenses are approved in Topkey, you push them to your accounting system with a single action — no re-keying data.
Neither card transactions nor bills sync to your accounting system automatically after approval. Both require a manual push. See Syncing Transactions and Bills below for details.
Supported Accounting Systems
Topkey supports the following accounting integrations:
- QuickBooks Online
- QuickBooks Desktop
- Xero
- Sage Intacct
- Oracle NetSuite

Setting Up the Connection
QuickBooks Online
QuickBooks Online uses an OAuth authorization flow — you'll leave Topkey briefly to sign in to QuickBooks and approve access, then return automatically.
- In the left navigation, click Connections, then select Integrations.
- Under Accounting Integrations, find Intuit QuickBooks Online and click Connect.
- You are redirected to QuickBooks. Sign in to your QuickBooks account and approve Topkey's access request.
- After approving, you are returned to Topkey. The QuickBooks Online tile now shows Settings, confirming the connection is active.
If you manage a sandbox environment for testing, use the Intuit QuickBooks Online Sandbox tile instead — the authorization flow is identical.
QuickBooks Desktop
QuickBooks Desktop uses a connector link flow. The steps are the same as QuickBooks Online — navigate to Integrations, click Connect on the Intuit QuickBooks Desktop tile, and follow the on-screen prompts to authorize access and install the connector on your desktop machine.
Xero
Xero uses the same OAuth authorization flow as QuickBooks Online.
- In the left navigation, click Connections, then select Integrations.
- Under Accounting Integrations, find Xero and click Connect.
- You are redirected to Xero. Sign in and approve Topkey's access request.
- After approving, you are returned to Topkey and the Xero tile confirms the connection is active.
Sage Intacct
Sage Intacct uses direct credential entry rather than an OAuth flow.
- In the left navigation, click Connections, then select Integrations.
- Under Accounting Integrations, find Sage Intacct and click Connect.
- On the Sage Intacct setup page, enter your Sage Username, Password, and Company ID.
- Save your credentials to complete the connection.
Your Sage Company ID is found in your Sage Intacct account settings, typically listed under Company Information.
Configuring the Integration (One-Time Setup)
After connecting your accounting system, complete the configuration steps in Settings → Accounting before pushing any data. This is a one-time setup.
Chart of Accounts
The Chart of Accounts page (navigate to Accounting → Chart of Accounts in the left navigation) shows the full list of GL accounts pulled from your connected accounting system. Each account has a Nominal Code, a Chart of Account Name, an Account Type, and an Active toggle.

Use this page to control which accounts are available when coding transactions in Topkey:
- Toggle accounts on (active) to make them available for selection when coding card transactions, bills, and payments.
- Toggle accounts off (inactive) to hide outdated or irrelevant accounts from staff — they won't appear as options when coding transactions or assigning properties.
- Use your accounting system's clearing accounts and expense accounts as appropriate for each transaction type.
When you're done, click Save Changes.
Changes made here do not affect your accounting system. They only control what Topkey displays to your team when coding transactions.
You can also map specific QuickBooks GL accounts to particular transaction types — for example, designating separate accounts for card transactions, bills, invoices, and reservation income — from the QuickBooks integration settings page (Connections → Integrations → QuickBooks Online → Settings).
Tracking Categories
The Tracking Categories page (navigate to Accounting → Tracking Categories) shows the list of categorization options pulled from your connected accounting system. Each category has a Name and an Active toggle.

Tracking categories are how your accounting system organizes transactions beyond standard GL codes — for example, by property, cost center, department, or location. The terminology varies by platform:
| Accounting System | Tracking Categories Are Called |
|---|---|
| QuickBooks Online | Classes & Locations |
| QuickBooks Desktop | Classes & Departments |
| Xero | Tracking categories |
| Sage Intacct | Dimensions / Locations |
| Oracle NetSuite | Classes / Departments |
When your accounting system has many categories — some of which are unused or no longer relevant — this page lets you deactivate the ones you don't need. Only active categories appear as options when your team codes transactions or assigns properties in Topkey.
For example, if your QuickBooks account has 50 classes but you only actively manage 20 properties in Topkey, you can deactivate the other 30 classes. This keeps the categorization list focused and reduces the chance of transactions being coded to the wrong property or cost center.
To update tracking categories:
- Navigate to Accounting → Tracking Categories.
- Toggle each category on or off using the Active switch.
- Click Save Changes.
Changes on the Tracking Categories page do not affect your connected accounting system in any way. They only control what Topkey displays to your team.
Vendor Sync
To keep your vendor records consistent between Topkey and your accounting system:
- Navigate to Connections → Integrations, then open your accounting integration's Settings.
- Enable Pull vendors from accounting to import your accounting system's supplier list into Topkey's Bill Pay vendor records.
This ensures vendor details stay in sync and prevents duplicate entries when creating bills.
Syncing Transactions and Bills
Card Transactions
Card transactions do not push to your accounting system automatically after approval. To push card transactions:
- Navigate to Accounting → Transactions (under the Accounting section in the left navigation).
- Select the transactions you want to push using the checkboxes.
- Click Sync to QuickBooks (or the equivalent button for your connected accounting system).
Bills
Bills do not push to your accounting system automatically when approved or paid. To push bills:
- Navigate to Accounting Sync → Bills, select the bills you want to push, and initiate the sync. Or:
- Navigate to Bill Pay → Bills, select the relevant bills, and push them from there.
Always confirm that a transaction or bill has been fully coded with a GL account before pushing it. Incomplete records may result in sync errors.
Reservations and Owner Charges
Reservation line items and owner charges can be mapped to QuickBooks income accounts. You can edit the GL code, tracking class, or location on individual reservation line items directly from the Accounting Sync → Reservations detail view. To update multiple line items at once, use the bulk-update option available in the same view — select the line items you want to update and apply the GL code, class, or location across all of them simultaneously.
On-Demand Data Sync
If you need to refresh a specific type of data from your accounting system — for example, to pull in newly added bills or bill payments — you can trigger an on-demand sync directly from your accounting integration's settings page.
- Navigate to Connections → Integrations and open your accounting integration's Settings.
- Find the data type you want to sync (for example, Bills or Bill Payments).
- Click the sync button for that data type to trigger an immediate refresh.
Use on-demand sync after making changes in QuickBooks — such as adding new vendors or updating your chart of accounts — to make those changes available in Topkey right away without waiting for the next scheduled pull.
Exporting Transactions to CSV
If you need to review transactions offline or import them into another system, you can export your accounting sync queue to a CSV file.
- Navigate to Accounting → Transactions (or the relevant sync queue page).
- Use the export option to download the current list of transactions as a CSV file.
Tips for a Smooth Setup
Run a test sync with a single transaction before pushing a full month of data. This lets you confirm your GL code mappings are correct and catch any configuration issues early.
If a sync fails, navigate to Accounting → Sync to view the sync queue. Error details are shown inline next to the affected record, so you can identify and resolve the issue before retrying.
Frequently Asked Questions
Do my transactions sync automatically once they're approved in Topkey?
No. Card transactions and bills both require a manual push. Card transactions are pushed from Accounting → Transactions, and bills are pushed from Accounting Sync → Bills or Bill Pay → Bills. Nothing syncs to your accounting system automatically after approval or payment.
I connected QuickBooks but my vendors aren't showing up in Topkey. What do I do?
Make sure the Pull vendors from accounting setting is enabled in your accounting integration settings. Once enabled, Topkey will import your QuickBooks supplier list into the Bill Pay vendor records. You can also trigger an on-demand sync from the integration settings page to pull the latest vendor data immediately.
Can I use tracking categories from Xero or Sage Intacct, or is that only for QuickBooks?
Tracking categories work across all supported accounting systems — QuickBooks Online, QuickBooks Desktop, Xero, Sage Intacct, and Oracle NetSuite. The categories are pulled from whichever system you have connected, and you manage which ones are active from Accounting → Tracking Categories.
For additional help, Contact Support.