The QuickBooks Online (QBO) integration connects Perk to your QBO account so that accounting data stays consistent across both systems. Use this article to understand how the integration works, what data moves between Perk and QBO, and what to expect before you set it up.
Within QBO, Classes and Departments (tracking categories) are only available on QBO Plus and Advanced plans. If your QBO account is on Simple Start or Essentials, tracking categories are not available and the Classes and Departments mapping does not apply to your account.
What the integration does
The QuickBooks Online integration keeps expense data in sync between Perk and QBO. Once connected, admins can import accounting master data from QBO into Perk, sync employees between the two platforms, and export expenses from Perk back into QBO. The integration is designed for company admins and finance users who manage expense accounting in QBO.
How data flows between Perk and QBO
Data moves in two directions between Perk and QBO:
- Import (QBO → Perk): Accounting categories, tax rates, and tracking categories are pulled from QBO into Perk to keep your master data consistent.
- Sync (QBO ↔ Perk): Employees in Perk are matched to vendors in QBO by email address.
- Export (Perk → QBO): Approved expenses are pushed from Perk into QBO, including category, tax, cost object, and attachment data.
The integration uses OAuth to authenticate, so no passwords are shared between systems. Each company connects its own QBO account separately, and disconnecting QBO doesn’t affect historical data already exported.
Importing accounting data from QBO
Perk imports three types of master data from QBO.
Accounting categories
QBO’s Chart of Accounts is the source for Perk’s expense categories. All account types are available to import, with expense-type accounts pre-selected by default. Admins choose which accounts to include.
Tax rates
Perk imports tax rates from QBO by their QBO ID. US sales tax rates are supported. Rates for other regions, such as the UK, may also work, but region-specific tax rules can apply.
Dimensions (Classes and Departments)
QBO uses two tracking dimensions: Classes and Departments. QBO also refers to Departments as Locations, Divisions, or Business Units depending on your account settings. You can import both into Perk, where they map to different fields:
- Classes map to Perk cost objects.
- Departments map to Perk custom fields.
The table below shows the full set of attributes imported from QBO and where they appear in Perk.
| Object | Perk field | QBO field |
|---|---|---|
| Expense category | Name | Account name (Chart of Accounts) |
| Expense category | Account reference code | Account number (AcctNum) |
| Expense category | Active / inactive | Active status |
| Tax rate | Name | Tax rate name |
| Tax rate | Rate | Rate value |
| Tax rate | Active / inactive | Active status |
| Cost object | Name | Class name |
| Custom field | Name | Department / Location / Division / Business Unit name |
Syncing employees between Perk and QBO
The employee sync links QBO vendors to existing Perk user accounts — it does not create users in Perk. Employees must already exist in Perk before the sync can match them to QBO vendors.
Perk matches employees by comparing vendor email addresses in QBO to user email addresses in Perk. When a match is found, Perk links the user to the corresponding QBO vendor. Vendors without an email address in QBO can’t be matched and won’t sync.
Admins can provision users in Perk in 3 ways: automatically via a SCIM integration, via an HRIS integration such as BambooHR or Workday, or manually.
Monitoring sync status
Perk fetches changes from QBO at least once a day (a nightly reconciliation at 00:00 UTC) and also imports updates when new data from QBO becomes available. The time it takes for a change in QBO to appear in Perk can vary. After you complete import setup, you’ll get an email when your first import completes.
The Import settings page shows what has imported from QBO, whether anything failed, and when the next import runs. Check it first when something looks out of date, before you contact support.
Object summary
Import settings shows a card for each kind of data you import: accounting categories, tracking categories (Classes and Departments), tax rates, and employees. Each card shows:
- The total number of records imported.
- The number of records that failed to sync, with access to the failures.
- A link to the matching data in Perk.
- A link to edit your import settings.
The employees card shows how many Perk users matched a QBO vendor and how many failed, with a link to Employees.
Import error logs
Click a card that shows an error to open the Import error logs panel. That object’s error group opens already expanded and scrolled into view. The groups for other objects stay collapsed until you click them.
Errors are grouped by object and error type. Each error shows the affected object, the affected record where available, the reason, a suggested action, and a timestamp. When the fix is on your side, the suggested action tells you what to update in QBO or Perk. When nothing is needed from you, it asks you to contact support. Once an error is resolved, it’s removed from the list.
Import errors and what to do
The table below lists the errors you may see in the Import error logs panel, who needs to act, and what to do. The list grows as new errors are added.
| Error type | Example | Who acts | What to do |
|---|---|---|---|
| Data mismatch between QBO and Perk | A Perk user’s email doesn’t match their QBO vendor’s email, so they can’t be matched. | Admin | Update the data in QBO or Perk so the two match, then check that the error clears. |
| Account not found | A company card exists in Perk but has no matching account in QBO. | Admin | Add the account in QBO, or update the data in Perk, then check that the error clears. |
| QBO or provider issue | QBO didn’t respond in time. | Perk support | Try again later. If the error stays, contact customer support. |
| Internal import failure | An import job failed unexpectedly. | Perk | No action needed. Perk is looking into it. |
After you fix an error, click Import now to confirm it cleared without waiting for the next automatic run.
Import now
If you’ve changed something in QBO or Perk and want to see it sooner, click Import now on the import history card instead of waiting for the next automatic run. Import now refreshes all your objects and updates the last-updated date. When you click it, Perk tells you that you’ll get an email when the import completes.
After you click Import now, there’s a one-hour cooldown before you can use it again. During the cooldown, the button is disabled and Perk shows that Import now isn’t available yet. It’s also unavailable if your QBO connection doesn’t allow it, and Perk shows that too, so you’ll always see why it didn’t run.
Import history and next sync
The import history table shows the last five imports for your company. Each row shows the date and time, the total number of records processed, the errors, and the sync type. If you need to reconnect QBO, failed syncs aren’t added to the history.
The next scheduled sync time appears below the table. If syncs are failing, a message tells you so.
Exporting expenses to QBO
These expense types can be exported from Perk to QBO:
- Private paid expenses
- Card expenses
- Travel expenses
- Credit notes
Each exported expense carries the following data into QBO:
| Perk field | QBO field |
|---|---|
| Expense category | Account (Chart of Accounts) |
| Tax rate | Tax rate |
| Cost object | Class |
| Custom field (tag) | Department / Location / Division / Business Unit |
| Currency | Transaction currency |
| Receipts and attachments | Attachments |
Credit notes support both Classes and Departments in exports — both fields appear on credit note exports.
Multi-currency
QBO accounts can operate in single-currency or multi-currency mode, and Perk handles both:
- Single-currency QBO account: expenses are always posted in the company’s base currency.
- Multi-currency QBO account: expenses can be posted in any currency. The posting currency is controlled by the Posting currency setting in Perk at Settings Companies Company Spend company settings Posting currency.
Receipt attachments are exported alongside expenses — no extra steps are needed.