Skip to main content

How to Send Expenses to Xero

Send your expenses from Productive to Xero for accurate financial tracking, including automatic payment updates when marked as paid in Xero.

Updated this week

After setting up the Xero integration in Productive and enabling expense sync, you can start sending your expenses to Xero for accurate financial tracking across both platforms.

Sending expenses from Productive to Xero ensures your records stay up-to-date and aligned, reducing manual entries and minimizing discrepancies. This includes the ability to sync expense payments as well.

Follow the steps below to create, review, and send your expenses from Productive to Xero, and automatically mark them as paid in Productive once they are marked as paid in Xero.

The option to export expenses to Xero and sync their payments back to Productive is available on the Professional and Ultimate plans.

1) Create an Expense in Productive

Before sending the expense to Xero, you must first save it (after which, the "Copy to Xero" option will appear in the upper-right corner of the expense input screen).

To make sure the expense form is filled in properly, here's a checklist of all the information you need to add:

  • Date

    Add the expense creation date.

  • Service

    Ensure at least one service within the budget allows expense tracking and then select it from the service dropdown.

  • Tax rate
    Select the tax rate applied to the expense you are paying.

  • Cost and Markup

    Add the cost of the expense and optionally, add the markup. The "Total cost" is transferred to Xero as net value, and the applicable tax rate is selected from a dropdown menu after initiating the integration ("Copy to Xero").


    The "Markup" field does not affect this integration because that amount is intended for the client. Here, we are focusing on supplier costs.

  • Expense Description

    Provide a description of the expense.

  • Attachment (optional)

    Attach relevant receipts or scans. They will be sent to Xero if added.

  • Vendor

    Select the vendor from your clients' list. This step is optional in Productive but mandatory for the sync with Xero.

    E.g. if your expense is a client lunch, the Vendor will be the restaurant you visited.

  • Payment Due Date

    Obligatory to push the expense to Xero.

  • Expense Approval

    If you have expense approvals switched on, the expense needs to be approved first to be sent to Xero.


2) Copy the Expense to Xero

1) After saving the changes to your expense, Select "Copy to Xero" in the upper right.

2) A pop-up will appear, allowing you to adjust the supplier (vendor). You'll also see the default expense status set in the integration settings.

3) Click "Copy" to finalize the sync to Xero.

4) The expense will land on your Bills section in Xero (Awaiting payment).

Tip: Ensure Correct Subsidiary Selection

If you set up multiple subsidiaries in your account, ensure the correct subsidiary is chosen in the budget to match the sync. If you have only one subsidiary, this step can be disregarded.

Editing and Syncing the Modified Expense

If you need to update the expense, edit it in Productive and save the changes by selecting the "Update expense" button in the lower left.

Then, hover over the "Copied" badge in the expense input screen, and select "Update existing".

Expense Sync and Purchase Orders

If you created your expense by issuing a purchase order, you can still copy it to Xero.


After opening such an expense, you will notice a link to the PO alongside the "Copy to Xero" badge in the upper right corner.

Syncing Expense Payments from Xero to Productive

If you enabled payment synchronization in your integration settings, the expense payments will sync from Xero to Productive as well.

Important to Note

  • When you mark an expense as paid in Xero, it will automatically be marked as paid in Productive.

  • The payment date will be pulled into Productive when the full expense amount is paid (partial payments are not supported).

  • Note: The “Paid” status is triggered when the payment date is set (i.e., it’s not null).

  • Productive will display an indicator next to the payment status to show that the payment has been pulled from the external integration.

Fields Disabled After Payment

Once an expense is marked as paid, the following fields in the expense will be disabled for editing:

  • Quantity

  • Cost

  • Currency

  • Payment Date

  • Due Date

Common Sync Errors and How to Fix Them

If you see errors like: “The TaxType code is not valid for this account code” or “This account code cannot be used with this tax type”.

It usually means:

  • You're using a sales tax rate on an expense

  • Or the Xero account code isn’t allowed for purchases

How to resolve it:

  1. Create a separate tax rate in Productive for expenses, even if the rate is the same as your income tax (e.g. two versions of a 10% GST).

  2. In the integration setup, map the expense tax to a purchase-type tax rate in Xero.

  3. Make sure the Xero account code you're using for expenses is set to allow purchases. In Xero:

    • Go to Accounting > Chart of Accounts

    • Edit the account and check “Enable payments to this account”

📌 Tip: Align the names of your Productive tax rates with Xero's naming conventions, like VAT Sales 20% and VAT Purchases 20%.

👉 Read more about the integration setup in Xero Integration: Setup and Sending Invoices to Xero.

Did this answer your question?