I have recently been working on a system re-write project that involves replacing an older, custom accounting system. Naturally, I don’t want to re-invent the wheel: off-the-shelf (OTS) accounting software is cheaper to integrate than custom software and offers far more functionality.
There are so many cloud-based accounting platforms these days that making sense of the landscape can be difficult for a custom software developer. Accounting software is becoming increasingly commoditized as they move to the cloud. In this post, I’ll review the criteria I used to select a cloud-based accounting platform and mention a few that could be good choices for your next project.
Understand Your User
When evaluating different platforms, it is essential to consider who will be using the the software. Any team developing a new system that includes accounting functionality should conduct both user interviews and direct observations of users carrying out their day-to-day accounting work. Taking video footage during the direct observation is an excellent idea—you can refer to the video later to double-check your assumptions and understanding of how users work.
Once user interviews are synthesized and you have a good idea of the end user’s goals, you can create a set of high-level requirements and compare them against the feature sets of various accounting platforms. Some common questions you should ask are:
- Does your client use cash- or accrual-based accounting, and does your platform support their preferred method?
- Does the platform support tracking multiple business entities?
- Does the platform include the necessary financial reports out-of-the-box, and if not, can you create custom reports?
- How are overpayments and underpayments handled?
- Is inventory and payroll management required?
I was able to disqualify several options that failed to meet basic requirements (more on that later). Once I had the business requirements, I moved on to a more subjective analysis.
Investigating Options
Google is helpful here. I evaluated the following platforms: Intuit Quickbooks Online, Xero, Sage One, Zoho Books, Freshbooks, and Wave. I sought out internet sites that specialize in reviewing software and found several at PC Magazine, TopTenReviews, and Finances Online. Not all sites use the same scale, and individual reviews should not be taken as the only source of truth.
To make sense of it all, I set up a spreadsheet to track how each platform rates across the various reviews. Patterns emerged quickly, and I narrowed the choices down to three platforms: Intuit Quickbooks Online, Xero, and Sage One.
Technical Proof of Concept and Technology Choice
The system we are building consists of a custom web application that helps our client run their service business. Our system needs to be able to generate invoices automatically according to our client’s business rules. During development of the proof of concept, we want to evaluate:
- Availability of tooling/SDKs for our chosen platform (Ruby on Rails, in this case)
- Completeness of the tooling: Are all API calls implemented in the SDK?
- Subjective quality of the SDK: Is it easy to use? Good documentation?
- Adoption of the API/SDK: Metrics like the number of forks or stars in the Git repo
Another aspect I evaluated is the “tightness” of the integration between custom software and the OTS web application. Does the API give us deep links into the OTS accounting application? And can we link back to our application? What about associating metadata with invoices or payments?
Of the solutions I considered, Xero stood out. It has the best combination of API/SDK support while also meeting the tight integration requirements. Intuit has a great web application, but unfortunately, it does not support deep linking.
Once I settled on Xero, I created a proof of concept application in Rails using scaffolding. Scaffolding gave me the ability to quickly host an app that proved out basic flows required by the software we were developing (create an invoice, link to it, link back to our app from Xero, etc.). From there, we demo’d the proof of concept to our client to get sign-off on the solution and make what we had been proposing real to them. This step is especially important because accountants, controllers, and CFOs won’t understand a jargon-filled description of SDKs, API integration, deep links, etc.
In the end, I settled on Xero as the best option for our project. I’d love to hear your experiences integrating custom accounting systems with custom software in the comments below.