Although Software Add-ons are not accounting specialists we have migrated from Sage Accounts 50 across to Xero for our own internal accounting needs and as part of this process came across some points that we feel may be helpful for others going through a similar process.

These observations are a mixture of general guidance and common sense but feel free to speak to us if you would like to share your experiences. : Our internal migration was managed by MMB (LedgerScope) and given the complexities and differences between the two systems we found the general conversion to work really well. If you are looking for a partner to assist with your data conversion then it is certainly worth speaking to the team over at MMB - Xero has endorsed them to handle all of their conversions. We can only comment on how well our migration went and you must make up your own mind with the assistance of your accounting specialists.

Terminology in XERO

In Xero Contacts refer to the People AND/OR Companies that you work with - these can be either Customers or Suppliers (or both). 

Transaction codes are nominal codes (simply put)

Accounts > Sales - this is where you will find your Invoices.

Accounts > Inventory - this is where you will find the Products database.

Accounts > Purchases - Purchase invoices and Bills are located here

Accounts > Bank Accounts - these are the bank accounts that are set up in XERO - as part of a conversion, your Bank Accounts are migrated across.

OpenCRM Export to XERO manual Import

You can Export invoice details from OpenCRM in a CSV format and then Import these into Xero.

Your Report will be an Invoice <> Product report.

The Spreadsheet format for XERO is inflexible - you have to use the template provided by XERO (just go to the Import section under sales to download a sample) and this has to have identical headings for the Import to work.

Our advice is to create a Report and Export this to CSV, with the correct column order and then paste the headings from the Xero Template into your exported spreadsheet to be sure they are an exact match.

The Total column is the Invoice total and not the Line Item total - if you have multi-line Invoices, this will show multiple rows in your Excel sheet, the Import tool in Xero checks to see if all of the line items add up correctly. So, adding the Invoice Total to each line is fine, Xero is clever enough to check this and warn you before you commit to the creation of dodgy invoices.

Spreadsheet Comments

Remember the Contact column is the Account in Sage - in other words, don't export the Contact person unless that is the Account you wish to use - generally for B2B this will be the Company name.

Contact column - this is used to match the import to the correct account - it does not use an 'account code' to do this - if the names don't match then a new record will be created.

Account Code - this relates to the Nominal Code that appears on the Product record in OpenCRM - this needs to be the CODE number and not the description field.

TAX (VAT) - this needs to be the Tax Class, in other words, the full description, not just a % figure and again, it must match the exact wording held in Xero.

VAT differences in Sage and Xero : One important thing to bear in mind is that Sage and Xero have different approaches to TAX rates - in Sage you have a single rate for VAT, let's say 20% and by adding this to a Sales Invoice or Purchase Invoice, Sage determines if it is an input or output tax. In Xero there are specific Tax rates for Income and Expense - so you will need to have two separate Tax Codes. This can cause a problem when you are exporting/importing, just be sure that you are mapping to the correct TAX value for Sales and Purchase. As you might expect its not super difficult but does need you to focus and plan.

Find and Replace is your friend - remember that if you have an export that contains values that are not an exact match for the Import you require, you can carry out a global Find and Replace. This is sometimes easier than trying to manipulate the values in OpenCRM or changing the receiving values in Xero although you should consider with your accounts team whether there should be changes to the default terminology in Xero to accommodate the terminology that you are already used to.


It is wise to do a full export of your products from OpenCRM and then Import these into Xero before you bring your Invoices across. This way the Products will be matched based on the Product Code.

Also set the correct Nominal Code (OpenCRM) to  Chart of Accounts (Xero) on the Import file as this will make allocation and approval much easier.

Migrating From Sage Integration (especially if using multiple sage installs)

The Xero integration uses the same fields to determine if an invoice has been sent to Xero (and when) and the Xero organisation that the invoice is relevant to as are used by the Sage integration. If migrating over to Xero, you may need to initially bulk wipe the values in these fields so that they can be used in the Xero integration. 

The invoice records will then not hold any information as to when they were sent to the previous sage accounts integration, or the sage install that they were sent to. 

You may want to consider if this information is needed going forward, and if so import that information into new custom fields using an export and update import. 

Need More Help?

If you have any questions, just start a Live Chat, "Click" on the Chat Icon in the lower right corner to talk with our support team.