Integrate with QuickBooks Online for expenses

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.

Plans: The QuickBooks Online integration is available on Premium and Pro plans only.

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.

ObjectPerk fieldQBO field
Expense categoryNameAccount name (Chart of Accounts)
Expense categoryAccount reference codeAccount number (AcctNum)
Expense categoryActive / inactiveActive status
Tax rateNameTax rate name
Tax rateRateRate value
Tax rateActive / inactiveActive status
Cost objectNameClass name
Custom fieldNameDepartment / Location / Division / Business Unit name
Note: Importing Classes from QBO does not automatically assign a cost object owner in Perk. After import, cost object owners must be assigned manually in Perk.

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.

Note: The employee sync does not determine line manager assignment. After employees are matched to QBO vendors, line managers must be assigned in Perk — either through a connected HRIS integration or manually by an admin.

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 typeExampleWho actsWhat to do
Data mismatch between QBO and PerkA Perk user’s email doesn’t match their QBO vendor’s email, so they can’t be matched.AdminUpdate the data in QBO or Perk so the two match, then check that the error clears.
Account not foundA company card exists in Perk but has no matching account in QBO.AdminAdd the account in QBO, or update the data in Perk, then check that the error clears.
QBO or provider issueQBO didn’t respond in time.Perk supportTry again later. If the error stays, contact customer support.
Internal import failureAn import job failed unexpectedly.PerkNo 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.

Note: The completion email uses the same template as the email you get after your first import. Automatic imports, including the nightly reconciliation, don’t send an email. If an Import now run finishes with nothing to process while QBO is still syncing, you won’t get an email either.

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
Warning: To export card expenses, set up a transfer account in Settings Expense settings Travel bookings before export.

Each exported expense carries the following data into QBO:

Perk fieldQBO field
Expense categoryAccount (Chart of Accounts)
Tax rateTax rate
Cost objectClass
Custom field (tag)Department / Location / Division / Business Unit
CurrencyTransaction currency
Receipts and attachmentsAttachments

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.

Was this article helpful?