Today we’re trying something a bit different. So often in release announcements we talk about something we’ve added, but this time we’re taking something away. Starting today, a pilot group of customers no longer have to code their invoices. Our hope is that they’ll never again have to see this message:
It goes a little deeper than that, though. If you’re accounting-savvy, you could always enter the account codes yourself. The trouble is that small businesses are working so frenetically on their business, that they sometimes get their coding wrong. Even if it’s right, it’s still manual and time-consuming. The only semi-automated option is to set up defaults for your inventory or contacts:
To us, these defaults are still a clunky solution. They’re high maintenance and only cater for the simplest of circumstances. It also became very clear to us that they don’t make any use of the expertise of your accountant or bookkeeper! We looked at Find and Recode data to get an idea of common mistakes, and saw millions of problems. Three million, to be exact. Every one of those mistakes represents wasted time, and a missed opportunity.
If we were to fulfill the original vision of Xero, we needed to do better.
“Most of all, we’re just hoping to give you back some hours in your week.”
This lofty goal kicked off over a year of intense analysis, research and development. We soon realised the scale of what we were doing. Our customers may all use the same basic accounting system, but each has a unique setup and business process. There are more than ten million different account codes in active use by Xero customers!
Before we could make use of machine learning, we had to get inside your heads. What mental processes do you yourselves use to code? Is the decision based on the contact? The item description? The number of line items? We had to give the machine a place to start, or the answers it gave would not match reality. In ML terms, this process is ‘fitting’. We quickly found that there could be no single model that fit everyone.
Our solution is a tuned machine learning model for every single individual customer. This model learns your invoice coding behaviors. It notes any mistakes recognized by accountants or bookkeepers, and includes corrections. Suggestions and predictions derive from what the model has learned. This approach was 15-20% more accurate than the best ‘rule of thumb’ models we came up with. It reaches 80% accuracy after learning from only four invoices.
Even with this level of confidence, we were concerned. Accurate coding is at the heart of double-entry accounting. It has a financial and reporting impact on a business which we must respect. That’s why for some months now, we’ve been been quietly testing the models against what you’ve been entering. Eight hundred thousand invisible robot assistants have been diligently learning how you do business. We’re finally ready for them to start helping you out.