Skip to main content
All CollectionsIntegrationsAccounting
Xero Integration: Setup and Sending Invoices to Xero
Xero Integration: Setup and Sending Invoices to Xero

You can link your Productive account to Xero with a couple of clicks. Send invoices from Productive straight to Xero.

Updated this week

Integrating Xero with Productive allows you to send invoices from Productive to your Xero account. When configuring the integration, you can also enable additional features to keep your financial data in sync between both platforms:

  • Invoice payment synchronization

    When you mark an invoice as paid in Xero (including partial payments or tranches), the status can automatically be updated in Productive. Find out more about it here.

  • Send expenses to Xero

    Send budget expenses from Productive to Xero to ensure accurate financial tracking and reporting.

  • Expense payment synchronization

    When an expense is marked as paid in Xero, it can also be marked as paid in Productive.

In this article, we'll cover the initial setup and show what sending invoices to Xero looks like.

Integrating your Xero account with Productive is available on the Professional and Ultimate subscription plans.


Linking Your Xero Account To Productive

To link your Productive account to Xero:

  1. Log into Productive

  2. Go to Settings > App Marketplace

  3. Find Xero in the list and click Connect App

A new window will open, asking your permission to connect to Xero and as soon as you add your Xero credentials, the accounts will be connected.

Setting Up The Integration

After completing the authentication process in Xero, you'll need to make several decisions:


​1) Mapping Tax Rates

Tax rate mapping is mandatory in the integration setup and cannot be skipped.


By mapping your tax rates from Productive to Xero, you enable tax details to be sent directly to your accounting tool per invoice line item, eliminating the need for manual tax entry during the invoice export.

  • Each tax rate in Productive must be mapped to a corresponding tax rate in Xero.

  • All tax rates defined in Productive must be mapped to avoid errors during the export.

Important: Mapping Tax Rates and Avoiding Errors

When mapping tax rates between Productive and Xero, it’s essential to understand the restrictions certain tax types have in Xero.

For instance, when trying to export your invoice to Xero, a common error like "The TaxType code 'GSTONIMPORTS' cannot be used with account code '200'" occurs because each tax type in Xero is configured to work only with specific account types.

This is because Xero provides predefined tax rates for each market, with constraints outlining which account types (e.g., Revenue, Expenses, Assets) they can apply to.

To minimize errors, name your tax rates in Productive to match the names and types defined in Xero.

For any custom tax rates, consult your accountant to ensure compliance with local tax regulations. For more information on tax rate constraints, visit Xero’s documentation.


​2) Invoice Number Generation

Determine whether Xero or Productive will be responsible for generating invoice numbers.

3) Invoice PDF Generation

Choose whether Xero or Productive should generate the PDFs for your invoices.

4) Payment Synchronization

Decide whether payments should be synchronized. Please note that this synchronization is unidirectional, happening only from Xero to Productive, not the other way around.

5) Initial Invoice Status

Specify the initial invoice status in Xero upon copying: Draft, Submitted, Approved, or Manual (meaning you define a status for every invoice when copying it).

6) Send to Xero— Reference Field

Define which value to send to the Xero reference field: Invoice subject or Purchase order number.

7) Send to Xero— Internal Note

To send internal notes from Productive to Xero, specify the custom field you'd like to use. This custom field should be added in Settings > Custom Fields > Invoices in Productive.

For example, you can create a text custom field titled "Private Note for the Accountant" to store any internal notes you wish to send to Xero. This field will then be included in the data sent from Productive to Xero, helping to keep your accounting notes organized.

Default Account Code and Mapping Service Types

1) Default Invoice Account Code

A Xero account code is a unique identifier assigned to accounts in Xero’s Chart of Accounts.

These codes organize financial data by categorizing transactions (e.g., revenue, expenses, assets). Account codes are typically numeric (e.g., 200 for Sales Revenue).

  • When integrating Productive with Xero, account codes map transactions—such as invoices and expenses—to the appropriate accounts in Xero.

  • To avoid errors when exporting your invoices, make sure that the tax rates selected in the first step of the integration setup match the account code selected.

2) Mapping Productive Service Types to Xero Accounting Codes (Optional)

  • Service types not mapped will use the default Xero account.

  • Only account codes set as Revenue in Xero will appear in Productive as mapping choices.

What Is Mapped Between the Platforms? (Click to Expand)

A) Integration settings

B) When copying an invoice

* If set as Manual in the Integration settings

Copying Invoices To Xero

After you have integrated Xero with Productive, when creating an invoice, a new button "Copy to Xero", will be accessible on the invoice creation screen.


Clicking the Copy to Xero button starts the process of sending your invoice to Xero. Before proceeding, ensure the following:

  • Select an existing customer: If no customer is selected, a new one will automatically be created in Xero.

  • Specify the invoice status: If not set in the integration settings, the default status you selected during setup will be applied.


Copying An Invoice To Xero After It Has Already Been Copied

If you've previously copied an invoice to Xero and need to make updates or create a new one, open the invoice and hover over the "Invoice copied" option.

From there, you can choose to update the existing invoice or create a new one.

A) Choosing "Update existing" will modify the previously copied invoice in Xero. If the invoice has been copied multiple times, only the last copy will be updated.

B) Selecting "Create new" will generate a new invoice in Xero, even if a copy already exists.

Enabling Sending Expenses to Xero

To send your budget expenses from Productive to Xero, follow these steps:

  1. When setting up your Xero integration, navigate to the Expenses card and enable exporting expenses to Xero.

  2. Select the Default Xero expense account code where you want the expenses to land when copied from Productive.

  3. Optionally, map certain service types to your Xero account code for more flexibility and organization.

For detailed steps, refer to our guide on setting up expense syncing with Xero.

Invoice and Expense Payment Sync

If you have not enabled it while setting up the integration, enable the payments sync at a later date by:

1) Navigating to Settings > App Marketplace > Xero
2) Clicking the pencil icon to edit the integration

3) Toggling the "Synchronize payments from Xero to Productive" option on

💡 What happens when you enable payment sync:

  • When an invoice or expense is marked as paid in Xero, the status is automatically updated in Productive.

  • Any payment edits or deletions made in Xero will also be reflected in Productive.

⚠️ Please note:

  • The payment sync is one-way (Xero → Productive).

  • Changes made in Productive, such as marking an invoice or expense as paid, will not sync back to Xero.

Disconnecting Xero From Productive

If you want to disconnect your Xero account from Productive, follow these steps:

  1. Go to Settings > App Marketplace

  2. Find your Xero integration

  3. Click the bin icon to disconnect 

FAQ

Have any other questions? Please take a look at the FAQ or feel free to start a chat conversation if you have any other questions.

Did this answer your question?