Part three of a multi-part series.
Part three of a multi-part series.
The biggest issue we encountered was that Xero uses its Customer Name field as its primary key - which means that every customer name had to be unique. This clashed with our own custom database structure in which we use the Customer Account Number as the primary key (which is still a far better way to structure a database in our opinion).
We did propose a workaround to Xero which would allow us to put a different field in the “Invoice To” section of the invoice template. This would have worked, but we learned that unless your feature request garners 1000+ upvotes it is unlikely to get prioritised by the Xero dev team.
Eventually, we came up with our own solution. We added a new field to our own database for the Xero Customer Name. We made this field unique (there cannot be two identical entries) and restricted it to a part of the site that only we can update. Our listed accountants still have editing access to their Customer Name section, but cannot directly update the Xero Customer Name field.
Using online integration platform Zapier, we then set up a webhook on our own server that sends us a notification so that every time a customer updates their Customer Name, we are prompted to manually update the Xero Customer Name on our side (and make sure the name is unique).
We use Zapier to automate and integrate many of the web apps that we use (MailChimp, Mandrill, Google Sheets, Trello), not just Xero. Ninety nine percent of the integrations can be done without any developer involved, which is a massive boost in terms of agility and costs. It has been a real game changer for us and was one of the reasons we chose to move to Xero in the first place. Xero offers a wide range of integration functionality with Zapier, more, it seemed to us, than Quickbooks. Sage One, unfortunately, is not even listed on Zapier. (Another note on Sage One: along the way we learned that, in fact, their cloud database also uses the Customer Name for the primary key, so we would have had the same problem with them).
Initially populating our 4000+ Xero Customer Names took several days work, but despite that, our efforts have now paid off. The Customer Name update notification is not the only integration we have going with Xero. We also have automated credit notes, some automated invoicing and payment received email notifications. More automations are in the pipeline.
In hindsight we could have avoided the initial integration problems with better advice and detailed planning. Accountants migrating their client’s accounting to Xero need to ensure that the customer name field within their client’s current accounting system and CRM complies with the primary key requirement of Xero, before converting.
If your client runs an online business, the first thing to ask is whether or not their customers can log in and change their customer name themselves? If so, the integration is not going to work with the present set up. Your client will need to use another field in their CRM or customer database.
Another check is to see if they do have duplicate customer names at present. If, for example, they are coming over from Sage Pastel, a simple check would be to export all of their customers and check that there are no two customer names that are the same (Sage Pastel uses the account number as the identifier and therefore allows repeat customer names).
The existence of duplicate customer names does not prohibit your client from migrating to Xero. In such instances, additional identifiers will be appended to the duplicate customer names (eg. (1), (2) etc.) However, before converting, your client should be made aware of how the appending works (as it will display on all customer invoices) and cannot easily be undone after the conversion. Your client should also be given the option to come up with their own appending method.
Based on our own experiences, we cannot emphasise it enough: DO NOT DO ANY CONVERSION prior to establishing the compatibility.
If you find that your client’s current accounting or CRM system is not 100% ready to be converted, you are welcome to shoot us an email and we can advise on what needs to be done to their database and also on the implementation of any webhooks if necessary.
Author: Chris Preen
The opinons expressed above are those of Chris Preen in his personal capacity and do not neccessarily reflect the opinions of Find a Professional.