With Practice Ignition, your invoices can be automatically sent to Xero and your jobs deployed to XPM.

To have your invoices show in XPM, you will need to enable the Xero invoice import in XPM. If you have not enabled this function, you can find instructions here.

This article will help you understand how this function works with invoices generated in Xero by Practice Ignition and some common troubleshooting tips.

Please also refer to Xero's help articles for more information.

Table of Contents


How are invoices imported from Xero to XPM?

Invoices will be imported into XPM overnight if if they match both the following criteria:

  • The invoice is not already in XPM

  • The invoice has been created or edited within the last 14 days

XPM will match the reference number on the Xero invoice to either the job number or the client order number of the XPM job.

If your Xero invoices have been generated by Practice Ignition, the system will automatically fill the reference field of the Xero invoice.

If the XPM job has been deployed by Practice Ignition, the system will automatically generate the client order number of the XPM job with either the proposal number (if using our Classic Editor) or the specific client number [CLI-0123] (if using the New Proposal Editor).

Please note: For Classic Proposals, only the job designated as the Billing Job on a proposal will receive the proposal number and this will be the job that invoices are assigned to in XPM.

For New Proposals, the job designated as the Billing Job will have all of the clients invoices assigned to it in XPM. See this section for more details.

Because these two fields have the same data in Xero and XPM, this means that Practice Ignition is instructing the invoices to be allocated to the specific job.


How to allocate invoices to an existing XPM Job

Now that we understand how the systems work together, it's quite easy to allocate the invoices if you have already created an XPM job manually.

All that you need is to ensure that you enter the correct reference in your XPM Job's Client Order Number field!

This will either be the proposal number (Classic Proposals) or the Practice Ignition client number (New Proposals).

Finding the proposal number (Classic Proposals)

Click into the specific proposal and fetch the proposal number in the URL, or alternatively in the navigation breadcrumbs. (See below)

Finding the client number in Practice Ignition (New Proposals)

Search the client up in the top search bar and examine the client number
(e.g. CLI-0001). (See below)


Troubleshooting invoice allocation to XPM Jobs

There are a few reasons that your invoices aren't allocating to your XPM job. Please check the following:

  1. Are you referencing the correct proposal (if using Classic Proposals) or client (if using New Proposals)?

    For Classic Proposals, click into the specific proposal and fetch the proposal number in the URL, or alternatively in the navigation breadcrumbs.

    For New Proposals, the easiest way to check the correct client number is to search the client up in the top search bar and fetch the client number from the results.

    See section above for more details.


  2. Is the job completed, or does it have a job state type other than 'Standard' or 'On Hold' in XPM?

    Invoices cannot be imported by XPM to a job state that is not a Standard or On Hold state. Most commonly this is a completed job, but you may have other non-standard job status states as well (e.g., canceled, deleted, archived...etc.).

    In this case, the invoice will be imported to the client and will not be allocated to a job. To rectify this, change the job state and follow Xero's instructions to re-import the invoice here.


  3. Is the invoice one that XPM will import?

    The invoice must be created that day or edited in the last 14 days. There are also a few other conditions including references to the lock out date detailed in Xero's help article here.

    To edit the invoice and reset the 14 day timer, click Options → Edit → Save when you are in the invoice in Xero (without changing any details). Then, delete the invoice from XPM and wait for the overnight sync.


  4. Do you have 'Create an Ad hoc job' turned on in your XPM Xero settings?
    Please check your Xero settings in XPM to ensure that 'Create an Ad hoc job when no current job matches the Xero reference field' is unticked.

    This will sometimes create an ad hoc job to allocate invoices to rather than matching based on the client reference number of a job, meaning you will likely find the invoice allocated to the ad hoc job in XPM.



  5. Is the name on the invoice the same as the name of the client in XPM?

    To import invoices, client names in Xero and XPM must be the same. We recommend keeping one name in both systems and also enabling Client Name Sync in your Xero App settings in Practice Ignition.

    To rectify this, change the name on the invoice (or name in XPM) and follow Xero's instructions to re-import the invoice here.


  6. Do you have a duplicate client in XPM?

    By the same logic as above, if you have duplicate clients in XPM with the same name, invoices can sometimes get allocated to the wrong client by XPM.

    The easiest way to check is to look at the client XPM identifier in Practice Ignition and whether this is the same as the ID in the URL of the client in XPM. You can find the client XPM identifier in the client record when you click Edit Client → Apps tab.

    See screenshots below.


Can I allocate invoices to more than one job in XPM?

No, this is not possible and it is due to a limitation of the XPM and Xero integration. One invoice cannot be 'split' across multiple jobs.

For Classic Proposals, you can elect which job to send invoices to if you have more than one job on a proposal - this is the Billing Job.

Having one Billing Job designated on you proposal when you have multiple jobs included avoids invoices being randomly allocated across many different jobs in XPM

For New Proposals, you can nominate one workflow as the Billing Job, meaning all the invoices under that particular client will be imported and synced to the job in XPM.

Please note: This is a client level billing job allocation. We are currently researching and developing the ability for multiple workflows to be assigned to multiple Billing Jobs at a proposal and project level in the future for New Proposals. We appreciate your patience as we build this out!

If you need to re-allocate a whole invoice to another job that is not the billing job, one workaround for this would be to edit the invoice reference number to the job number in XPM and then follow Xero's instructions to re-import the invoice here.


How do I best manage annual service agreements with my client?

If your client has an annual service agreement, where you are performing work for an agreed annual fee that is paid monthly (or weekly etc.), then it is best to set up one annual job to be deployed by PI as the billing job. Please see our blog detailing this structure here.

We would also recommend tracking your time against this job to make WIP wash-up easier at the end of the annual term. To find more information on the WIP wash-up process, read our article here.

Did this answer your question?