New Zealand software company Amberdms has released a Web-based open source accounting and billing application aimed at simplifying business and customer management.
The Amberdms Billing System (ABS) is developed in PHP and provides a set of business management applications including accounting, customer management, time tracking, project management and service billing. ABS runs on the popular “LAMP” stack.
Amberdms managing director Jethro Carr founded the company in 2007 to support a part-time venture providing Web-based database software to educational groups.
A year later Carr left his day job to develop ABS full-time.
“Whilst ABS needed to be developed to meet internal Amberdms needs, the main reason for its existence is the experiences I had at my previous job,” Carr said.
“I had been involved with supporting a rather badly-coded proprietary billing platform for an ISP, as well as being in charge of a project to link this billing system to another accounting application.”
With that experience behind him, Carr also discovered a lot accounting software on the market, but many lacked features like: “A good developer interface to allow integration with other products or custom scripts; a [good] UI [as they were] difficult or unpleasant for non-accountant users to operate; proper handling of sales tax (like GST) when done on a payments basis; and correct accounting of traffic usage for ISP customers and poor billing methods for these types of services.”
“After getting sick and tired of working with sub-standard software solutions, I decided to develop and support a quality open source application to replace accounting, timekeeping and service billing functionality in a single integrated system.”
The first version of ABS was released in February this year, with the recent 1.4 version released this month.
After looking at some other open source accounting applications available Carr found that they were either desktop-only (Web-based was a key requirement) or found “the coding style [and] quality was not up to my standards”.
“ABS runs on its own framework (Amberphplib) that Amberdms has developed for a number of our products,” Carr said.
“We use this framework rather than one of the existing ones available for a few reasons. It provides fine-grained security controls, is designed specifically for Web-based applications, rather than Web sites – a lot of frameworks out there are aimed at Web sites rather than applications and the needs and focuses are slightly different – and Amberdms owns the copyright so we can use it in some of the proprietary projects we work on for customers as well as the open source offerings we have.”
In addition to the basic LAMP stack, ABS uses a number of external components including the Mail:Mime PEAR library for sending e-mail messages and LaTeX for the PDF templates.
ABS has templates that can be edited with LaTeX which are then rendered as PDFs (or PostScript) at bill processing time.
Carr is the only full-time developer working on ABS, but he hopes to get another developer in the first half of 2010.
“There are a couple interesting side projects we have been working on based around a lot of the technology we developed for ABS that will be getting released at some stage in the next few months,” he said.
The application stands at nearly 35,000 lines of code. All code is PHP with the exception of the installer and some packaging tools which are written in Perl.
ABS is in its early days, but so far has received some contributions from the community in the form of bug fixes and templates for different invoice styles.
“We are busy adding more tools to make it easier for non-code contributions, for example, version 1.5.0 will include a tool to allow users to translate the application into their native language and then submit the translations back up to Amberdms with the click of a button,” Carr said.
“There has also been a bit of interest in working with Amberdms to integrate with other applications, but these discussions are still at an early stage.”
Carr believes there are a few key differences that set ABS apart from other open source accounting applications.
“We focus on user experience and developer resources. Too many accounting programs focus on providing features and making the accountants happy, rather than making software that's actually a nice experience for the user. As a developer myself, it was important to design ABS in such a way to make it easy for others to integrate their own software and systems with the application.”
To meet this goal, ABS has a documented SOAP API that third-parties can use to integrate data, without needing to touch any ABS code.
Carr said another advantage to ABS is that it’s fully Web-based.
“A number of other applications only run locally, this makes them difficult to share and operating system dependant, whereas ABS supports any number of users and just about any operating system with an HTML capable browser,” he said.
“The code itself is quite modular, it's pretty easy to add and remove the modules; however, we haven't expanded it into a proper module system where users can pick and choose what modules they wish to install. This may change in future, but no immediate plans to split it into a more modular application.”
When asked why there aren’t many open source accounting and billing options available for businesses in Australia and New Zealand, Carr said many begin life as side projects developed internally and then released as open source projects “in case it might be useful to someone” or because they were built on existing open source code.
“This tends to lead to software that is suitable for the organization that developed it, but too complex or limited for other organisations to use,” he said. “It’s also expensive. Many open source projects are being developed by small companies like Amberdms, who don't have millions in investor funds to spend on promotions and brand awareness.”
To overcome this, Carr recommends getting open source applications in front of tax accountants.
“A lot of people use whatever software their accountants tell them to use,” he said. “Getting involved with accounting companies is an important step to getting wider and more mainstream uptake of [open source] accounting products.”
“Proprietary accounting companies know this and spend a lot of money and time on making these vital relationships with accountants because it leads to so many more sales.”
Carr said ABS is flexible and can be configured for different tax rates and types to suit the sales tax requirements of most countries.
“We are also working on getting more translations into the application to make it more attractive to non-native English speakers and will have a tool released in 1.5.0 to allow users to translate the applications themselves and submit back to Amberdms.”
ABS does not yet support multi-currency, but Carr said it is on the development roadmap.
Also coming over the next six months is the capacity to provide more advanced reports. The existing reporting capability is “a little rigid” and can only report on income rather than customer statistics.
ABS is multi-user and can handle multiple people working on the application without any locking issues and has fine-grained access controls.
“For any part of the application a particular staff member can be defined as able to read the data and able to make changes to the data,” Carr said.
“You can also completely disable features for users, for example, an engineer wanting to entire their hours into the timesheet won't have access to the company accounts, so that particular feature won't appear in their menu.”
The timekeeping feature has additional controls where the employees a user can view, or enter time for, can be set.
“This is great for companies where managers often get their assistants to complete the timesheets, or accounts staff that need to be able to correct timesheet entries when doing their monthly billing.”
One missing feature of open source accounting packages tends to be payroll, and ABS has no roadmap for it yet.
“Although it's possible that we may build integration tools to link in with other payroll software,” Carr said.
“Payroll is a complex area, since there is a lot of legal [and] tax requirements to handle that from country to country, so it will cost quite a bit to implement properly and there will need to be enough customer demand to make it viable.”
With the billing functionality, ABS can invoice customers before or after a service is delivered.
ABS doesn't have credit notes to keep track of customer refunds, but Carr said this is due to go into the 2.0.0 release.
More features on the roadmap include the ability to upload custom templates, new import tools for CSV and QIF bank statements.
Carr has written a detailed roadmap available online here.