If you run into any errors when using Xero and OpenCRM together, please contact support. This FAQ will help you determine what may be happening.
Xero calculation differences when using discounts
Xero applies discount at product unit level only. If you apply a line level discount amount in OpenCRM, this applies to the whole line amount, not the individual unit amount. When pushing the invoice to Xero, the integration works out what the discount rate is which needs to be applied to the unit value and passes this to Xero. This could result in slight variations in values due to rounding.
The above example shows a discount of £10 applied to the whole line. This is calculated to a 33.33r% discount rate on each unit item, which makes each line item £3.33r, making the total line amount £9.99
Logging / Error Checking
The most commonly asked questions about errors or issues are:
Error retrieving invoice: 2 from Xero - the Accounts Company on the Invoice does not match a connected Xero Organisation
Error with record: Record Name Associated invoice is for a Xero Organisation not linked to OpenCRM. (Xero Organisation Name)
|You have an invoice where the "Accounts Company" field is set to a value that does not match a connected Xero organisation, so OpenCRM is not able to push this invoice to Xero or update it from Xero as it does not know which Xero Organisation to push it to/update from.
|Error with record:XXXXX
||There is an error with this record which means it can't be pushed to Xero - there is usually some accompanying text to explain what that error is.
|An unknown error occurred. Please try again. . Please check products have nominal and tax details that match Xero.
This is usually a validation error when passing invoices to Xero. There is something in one of the items that Xero doesn't like.
Unfortunately, Xero does not provide any further details in this scenario but likely issues include:
- You are trying to update a paid invoice/credit note
- You are using nominals/tax codes which are not valid in Xero
- You are using some other value that is not valid in Xero.
|There were errors updating Xero products from OpenCRM - No invoices or credit notes have been sent to Xero
When OpenCRM tried to push the products it needs for the invoices selected into Xero, some errors occurred. OpenCRM therefore does not attempt to send any invoices - you are required to fix the issues with the products first. This is to make sure invoices cannot be sent with no products linked.
The errors which occurred when syncing the products should be visible on page - all errors are shown in a green bubble under the relevant output section.
|There were errors updating Xero contacts from OpenCRM - No invoices or credit notes have been sent to Xero
When OpenCRM tried to push the contacts it needs for the invoices selected into Xero, some errors occurred. OpenCRM therefore does not attempt to send any invoices - you are required to fix the issues with the contacts first. This is to make sure invoices cannot be sent with no contact linked (this would cause another error anyway)
The errors which occurred when syncing the contacts should be visible on page - all errors are shown in a green bubble under the relevant output section.
If you try to send an invoice to an accounts company that doesn't exist, an error is displayed.
If you have not ticked the support for multiple organisations and try to send an invoice to Xero, an error is displayed.
|Error with Record: XXXXX
A validation exception occurred - The contact name XXXXX is already assigned to another contact....
Essentially this is saying OpenCRM cannot create or update a company in Xero because one of the same name already exists in Xero. This includes archived / deleted companies so in the checks below, that also includes archived/deleted companies
It's a new company in OpenCRM and a Contact with the same name has been manually added or otherwise already existed in Xero
An existing company in OpenCRM has been renamed and this now matches a different Contact which already exists in Xero
The Xero reference stored against the company in OpenCRM is incorrect meaning OpenCRM tries to update the wrong company in Xero, which fails because the correct company in Xero prevents the incorrect company being renamed to be the same.
OpenCRM support can check this for you.
An update is available to the Xero integration which will allow users to update/correct the Xero reference stored against a company themselves by enabling the Xero reference as an editable field. This should be done with caution and the field restricted to the appropriate users to prevent mistakes causing companies to be linked to the wrong records. OpenCRM support can enable this update for you.
The following error codes may be encountered when pushing invoices to Xero, or updating OpenCRM with information from Xero. The most common error-types tend to be:
* When mandatory information is not completed in either OpenCRM or Xero
* When Nominal Codes (aka Chart of Accounts in Xero) do not match
* When Invoice Status and payment statuses do not meet the requirements Xero needs.
These solutions should help you manage any problems but for further clarification or if you encounter any other errors please contact OpenCRM support.
|Validation Error on Invoice (#Invoice ID): Invoice not of valid status for modification; Invoice has not been sent to Xero.
||You are trying to send an Invoice to Xero that has previously been deleted or marked as voided in Xero.
||Don't delete Invoices in Xero. If you do you need to raise a new invoice in OpenCRM and push this to Xero, as the old invoice will now be marked as Void.
|Validation Error: Input string was not in a correct format.
Error message may also contain:
- Check that item nominals are numeric and match Xero Account Codes
- Check that Products have buy and sell prices.
|The Paid Date value is blank (null) in the database.
||Set it to be 0000-00-00 (or an exact value if one is available).
|Validation Error on Item: (Your Product Name): Account code '301' (or other code) does not exist or cannot be applied to Items.
||Nominal Codes between OpenCRM and Xero do not match up.
||Check Settings > Studio > Picklist Settings > Edit Product Picklists > Edit 'Sales Nominal'. Make sure the values match Xero's 'Chart Of Accounts' values.
Then Check the Product has been updated with the correct Nominal Codes.
|Validation Error on Item: (Your Product Code): Price List Item Code must not be more than 30 characters long; Item has not been sent to Xero.
||The Product Code is longer than 30 characters.
||Reduce the Product Code to below 30 characters.
|Similar to the above error message.
||Product Name is longer than 50 characters.
||Edit the Product Name to contain less than 50 characters.
|Validation Error on Invoice (#Invoice ID): This document cannot be edited as it has a payment or credit note allocated to it.; Invoice has not been sent to Xero.
||If you are using the Xero integration, you should manage payments in Xero, and Credit Notes should be raised after the original invoice has been submitted to Xero.
|Validation Error on Invoice (#Invoice ID): Account code must be specified; Invoice has not been sent to Xero.
||A product is missing a Sales Nominal Code.
||Review the Products linked to the Invoice and find the one (or more) with a missing Sales Nominal Code. Add in the missing Code.
|This document cannot be edited as it has a payment or credit note allocated to it; Invoice has not been sent to Xero.
||The invoice is already in Xero, and is marked as paid.
||You will need to make the changes to the invoice status in your Xero account.
|Validation Error on Invoice (#Invoice ID): The Contact Name already exists. Please enter a different Contact Name; Invoice has not been sent to Xero.
||Has the Xero Reference been manually added to the company record within OpenCRM?
||Fix depends -
Does the record actually exist in Xero or has it been deleted in Xero
A - In this case, undelete it in Xero.
Is it genuinely a different company with the same name (e.g. different branch).
A give it a different name in OpenCRM or rename the one in Xero
Have you created the same company record in Xero and OpenCRM independently?
A - either log ticket with support, or they export and update import that company to set the correct Xero Ref (don't create companies in both systems going forward. )
Just log a ticket with support.
|Validation Error on Invoice (#Invoice ID): Email address must be valid.; Invoice has not been sent to Xero.
||The contact / company do not hold a valid email addres.
||Make sure the standard email fields in OpenCRM are populated with valid email address that don't have invalid characters.
|Validation Error on Invoice (#Invoice ID): Organisation is not subscribed to currency ; Invoice has not been sent to Xero
||The Default Currency field is blank.
||Set the Default Currency.
Other non-error specific scenarios include:
|"The sync is blanking the email address from my companies/clients in Xero.".
||The contact/company has a blank email address field.
||Make sure the standard email fields in OpenCRM are populated as when the Invoices are pushed to Xero, they will also update the linked Contact details.