Before you start
Before setting up the QuickBooks Online integration, make sure you have:
- A Perk Premium or Pro plan.
- Admin access to both Perk and your QBO account.
- All employees who submit expenses already created in Perk. The employee sync matches existing Perk users to QBO vendors, it does not create new users in Perk.
- Each QBO vendor assigned an email address. Vendors without an email address cannot be matched to Perk users.
To learn more about this integration, see Integrate with QuickBooks Online for expenses.
Connecting QuickBooks Online
The QuickBooks Online integration uses OAuth to authenticate, so no passwords are shared between systems. The connection is set up per entity — each company connects its own QBO account separately.
- In Perk, go to Settings > Integrations.
- Select the Integrations tab.
- Find QuickBooks Online and select Connect.
- Sign in to your QBO account when prompted and authorize the connection.
Once connected, you can disconnect QBO at any time without affecting historical data already exported.
Importing accounting data
Once QBO is connected, import your accounting master data into Perk. You can import accounting categories, tax rates, and tracking categories.
Importing accounting categories
- In Perk, go to Settings > Expense settings > Expense categories.
- Select Import from QuickBooks Online.
- Review the accounts listed from your QBO Chart of Accounts. Expense-type accounts are pre-selected by default. Bank accounts are excluded.
- Select the accounts you want to use in Perk, then confirm the import.
Importing tax rates
Note: US QBO accounts do not include purchase tax rates. If your company operates in the US only, skip this step.
- In Perk, go to Settings > Expense settings > Tax rates.
- Select Import from QuickBooks Online.
- Confirm the import. Perk imports tax rates by their QBO ID to keep tax handling consistent between both systems.
Importing tracking categories (Classes and Departments)
Note: Classes and Departments are only available on QuickBooks Online Plus and Advanced plans. If your QBO account is on Simple Start or Essentials, skip this section.
QBO uses two tracking dimensions — Classes and Departments — which map to different fields in Perk:
- Classes map to Perk cost objects.
- Departments map to Perk custom fields. QBO may also call Departments "Locations", "Divisions", or "Business Units" depending on your account settings.
- In Perk, go to Settings > Expense settings > Cost objects.
- Select Import from QuickBooks Online to import Classes as cost objects.
- Go to Settings > Expense settings > Custom fields.
- Select Import from QuickBooks Online to import Departments as custom fields.
Note: Importing Classes does not automatically assign a cost object owner in Perk. After import, assign cost object owners manually in Perk.
Mapping Classes and Departments
How you set up cost objects and custom fields in Perk depends on which tracking dimensions your QBO account uses. Follow the scenario that matches your setup.
| QBO set up | What to do in Perk |
|---|---|
| Classes and Departments | Import Classes as cost objects and Departments as custom fields. No extra settings needed. |
| Classes only | Import Classes as cost objects. Custom fields are not used. |
| Departments only | Import Departments as custom fields. Turn on Do Not Export Cost Objects in Perk. |
| Neither classes nor departments | Turn on Do Not Export Cost Objects in Perk. |
Warning: If your QBO account uses Departments only (no Classes), you must turn on Do Not Export Cost Objects in Perk before running any export. Without this setting, all exports will fail.
To turn on Do Not Export Cost Objects:
- In Perk, go to Settings > Expense settings.
- Turn on Do Not Export Cost Objects.
Note: This setting controls whether cost object data is included in the QBO export. It does not remove the requirement to assign a cost object to an expense in Perk.
Class assignment mode
In QBO, you can set Classes to be assigned either per line item or to the whole transaction, controlled by the Assign class setting in QBO. If QBO is set to One to entire transaction and an expense in Perk has more than 1 cost object, the export will fail.
To avoid this, do one of the following:
- Change the Assign class setting in QBO to allow per-line-item assignment.
- Make sure each expense has only 1 cost object before exporting.
Syncing employees
The employee sync matches QBO vendors to existing Perk user accounts by comparing email addresses. Employees must already exist in Perk before they can be synced.
- In Perk, go to Settings > Integrations > QuickBooks Online.
- Select Sync employees.
- Review the matches and confirm the sync.
Warning: Expenses from employees who are not matched to a QBO vendor will fail to export. Make sure all employees who submit expenses are synced to a QBO vendor before running an export.
Note: The employee sync does not assign line managers. After syncing, assign line managers in Perk — either through a connected HRIS integration or manually.
Exporting expenses
You can export the following expense types from Perk to QBO:
- Private paid expenses
- Card expenses
- Travel expenses
- Credit notes
Note: To export card expenses, set up a transfer account in Settings > Expense settings > Travel bookings before export.
- In Perk, go to the Expenses area and select the expenses you want to export.
- Select Export to QuickBooks Online.
- Confirm the export.
Receipts and attachments are exported automatically alongside each expense — no extra steps are needed.
Multi-currency exports
If your QBO account uses multi-currency mode, the posting currency for each expense is controlled by the Posting currency setting in Perk at Settings > Companies > Company > Spend company settings > Posting currency. If your QBO account is single-currency, expenses are always posted in the company's base currency.
Troubleshooting export errors
If an export fails, check the following common causes:
| Error | Likely cause | Fix |
|---|---|---|
| Export fails for all expenses | Employees not matched to QBO vendors | Run the employee sync and make sure all expense submitters are matched. |
| Export fails for all expenses | Departments only, no Classes, and Do Not Export Cost Objects is off | Turn on Do Not Export Cost Objects in Perk settings. |
| Export fails for specific expenses | Expense has multiple cost objects and QBO Assign class is set to one per transaction | Change the Assign class setting in QBO to allow per-line assignment, or ensure each expense has only 1 cost object. |
| Card expenses fail to export | No transfer account set up | Set up a transfer account in Settings > Expense settings > Travel bookings. |