Xero integration for Perk expenses

The Xero integration for Perk expenses automates the flow of spend-management data between Perk and Xero. In short, Perk pulls reference data out of Xero—accounts, tracking categories, tax rates, and contacts—and pushes finished expenses back in as approved Bills, Vendor Credits, or bank transactions, depending on how the expense was paid. The approval flow itself always stays inside Perk.

What the integration does

The Xero integration for Perk expenses keeps your expense data in sync between the two systems so your finance team works from one source of truth. Perk pulls reference data out of Xero and pushes finished expenses back in, while the expense approval flow stays entirely inside Perk.

On the import side, Perk brings in your Xero chart of accounts, tracking categories, tax rates, and contacts. On the export side, Perk sends approved expenses and credit notes to Xero. How an expense exports depends on how it was paid:

  • Privately paid (reimbursable) expenses export as approved Bills.
  • Privately paid credit notes export as Vendor Credits.
  • Company card and travel expenses export as Spend Money Bank Transactions.
  • Company card and travel credit notes export as Receive Money Bank Transactions.

You can link only one Xero tenant per Perk company (legal entity). Connections are made per company, so an account (your top-level entity) with several companies runs a separate setup for each one.

Note: Throughout this article, "Perk account" means your top-level customer entity in Perk. A "Xero account" or "GL account" means an account in your Xero chart of accounts. The two are different things, so the wording stays specific each time.

How Perk and Xero data map

How an expense exports to Xero depends on how it was paid:

Xero data Maps to in Perk
Xero account (chart of accounts) Expense category
Xero tracking category Cost object or custom field
Xero tax rate Perk tax rate
Xero contact Perk user
Xero Credit Card Account Perk company card

An expense category is where an expense is coded in Perk. A cost object is a value employees pick when coding an expense — it drives cost allocation and approval routing (a cost center is one example type of cost object). A custom field stores a secondary classification on the expense. A tracking category is the Xero concept that can become either a cost object or a custom field in Perk.

The integration needs these permissions in Xero:

  • Read: Accounts, Company information, Contacts, Items, Attachments, Tracking categories, Tax rates.
  • Write: Invoices, Accounts, Attachments, Expenses, Vendor credits.

For the full field-by-field mapping of what Perk sends to Xero on export, see Xero and Perk data exchange

Good to know

A few behaviors are worth knowing up front so you can set the right expectations.

  • Sync visibility. After setup, Perk shows a single info banner confirming the import has started—there's no sync log, progress indicator, or completion notification yet. If a sync doesn't go through, you'll usually notice when an export fails. A sync dashboard is planned for a future release.
  • Tax rate selection. Perk selects all your Xero tax rates by default. Review the list and unselect any you don't need—in particular, sales-class (OUTPUT) rates, which are meant for invoices, not expenses.
  • Bank account check. Perk doesn't check that a Xero bank account exists during setup. Card and travel expenses need one in place before you export, or exports fail at runtime.
  • Deleted Xero data isn't detected. If you delete or archive an account or tracking category in Xero, Perk doesn't find out, so the matching expense category, cost object, or custom field stays active until you deactivate it manually. Tax rate deletions are detected and deactivate automatically. An expense posted to an account that was deleted in Xero fails to export.
  • Custom field creation. Mapping a tracking category to a custom field creates a new Perk custom field named after the category.
  • Supplier invoices. Exporting Perk supplier invoices to Xero isn't supported.
  • Contact matching. A new Perk user whose Xero contact already existed may not match automatically until you change a field on the Xero contact. See "Adding new employees after setup" in "Set up the Xero integration for Perk expenses".

For setup instructions, see Set up the Xero integration for Perk expenses. For troubleshooting information and export-related errors, see Xero integration export errors and troubleshooting

Was this article helpful?