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 over a week ago

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.

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. Invoice Number Generation:

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

2. Invoice PDF Generation:

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

3. 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.

4. 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).

5. Xero Reference Field:

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

6. Productive Custom Field for Internal Notes:

Specify the Productive custom field to send to Xero internal notes. A custom field should be added in Settings for the Invoice object, for example, Private note for the accountant.

7. Add Custom Field Values:

Add custom field values in Settings > Invoices > Table view (see screenshot below).


You can also map some or all Productive service types to Xero Accounting codes. This step is optional and please note that for all service types that are not mapped, a default Xero account will be used.

Also, note that only account codes set up in Xero as Revenue will be pulled through into Productive:

What Is Mapped Between The Platforms?

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 will initiate the process of sending the invoice to Xero.

Select an existing customer for the invoice, choose the tax rate, and specify the desired status of the invoice (when set as Manual in Settings) when it gets copied into Xero.

If you can't find a pre-existing customer in Xero, you can also create a new one.

Once your tax rate is in order, your invoice will be sent to Xero, and a PDF copy of that invoice will be downloadable in Productive.

This is what the Invoice will look like in Xero:

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.

Error Messages

If you have chosen the wrong tax rate, invoice status, or account code, Xero might shoot back an error message similar to the one below.

Make sure to double-check this information before exporting!

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

With this on, if you mark an invoice or expense as paid in Xero, the status will also reflect in Productive.

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

⚠️ The sync is 1-way (Xero Productive), meaning that if an invoice or expense is marked as paid in Productive, this change will not be taken into account in 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?