Welcome!

Linux Authors: Michael Sheehan, Lavenya Dilip, Ian Thain, Bruce Armstrong, Ellen Rubin

Related Topics: Linux

Linux: Article

Open Source Accounting Solutions

Financial solutions for the Linux and open source small business

A different type of online transaction involves processing a payment online. You might provide some sort of e-commerce facility to allow people to pay for your services through a Web site. These types of transactions are usually either a credit card charge through a merchant account or an Automated Clearing House (ACH) transaction that deducts directly from a checking account. In either case, how you implement a solution depends largely on what your bank makes available to you. You almost always need to create customized code for your business, but most merchant accounts and ACH gateways provide simple interfaces, making it a task of a few hours for a savvy developer.

Choosing Accounting Software
Now that we've discussed the major types of accounting tasks computers can help you complete, let's take a look at some of the available software. There are thousands of software titles out there related to accounting, filling hundreds of niches. If you're a small company with no employees and no inventory, a simple spreadsheet in any office software is probably sufficient. Anything bigger, and you need more - but what is best for your business may be completely different than what's best for another business. First thing to do is to think about your business requirements, as discussed earlier, and then evaluate them against the features of a particular set of software. If you're a small business in a particular profession, you might be able to find a custom software package designed specifically for your profession. If such a package uses a standard database, or has a good way of importing and exporting data in a standard format, it's probably worth moving to the top of the list of options to check out. Other colleagues in your profession may be able to point you to good software. The biggest caveat here is that if you can't easily move your data to something else, you may find that you become "locked in" to the product, stuck within its limitations, spending much more down the road when your business needs outgrow the product. If the data is all in a database or available in some sort of text-based standard, extracting it and moving to another system, while still costly, will be a fraction of the cost of implementing a new system.

Intuit Quicken Home & Business
Quicken was one of the original accounting packages for personal computers. Quicken is geared primarily toward personal finance rather than business finance. The Home & Business version includes basic invoicing and business features. Many sole proprietorships and independent contractors get their start using a personal accounting package, because they already are familiar with them and already use them for their personal accounting. Generally this type of software lacks features needed by most businesses. As soon as you incorporate, hire employees, or keep an inventory, you will outgrow this type of software and need a real business accounting solution. If you must use Intuit products, you may want to consider a Windows on Linux hosted solution for your accounting department who can then use Win4Lin (www.win4lin.com) or VMware (www.vmware.com).

GnuCash
GnuCash (www.gnucash.org) is an open source personal finance program that has recently added business features. It's a client program that runs on Linux and Mac OS X. Unlike Quicken, it uses double-entry accounting, making it much more suitable for business use. This program is a great choice for small businesses looking to move away from Windows. It's also good for personal finances, handling equity accounts and calculating loans. Figure 1 shows a report and a ledger in GnuCash.

One benefit of GnuCash is that it uses a standard XML-based file format that any programmer can easily understand. This makes it possible to write scripts to extract or convert GnuCash data to other systems. Because GnuCash can import data from proprietary systems, it can work as an intermediary step in migrating a set of books from QuickBooks to a database-driven accounting system.

Aria
Aria is a database-driven open source resurrected branch of an earlier accounting package called Nola. Aria offers most of the features small businesses need, including payroll, accounting, inventories, and receiving. You need to enter the payroll rules for your location, but it includes features such as being able to designate birthdays for employees, generate a Bill of Materials, create invoices, and conduct physical inventories. Figure 2 gives an idea of what Aria functions look like.

Aria is in active development at this writing and has a small following. It uses PHP and MySQL, which is widely available on many Web hosts. Aria has built-in user administration, allowing you to provide access to particular areas of the software to particular people. It has some great benefits for using in a business environment. Multiple people can use it at the same time. Your accountant can log in and make changes to your books that other users see the next time they run a report. You don't need to install any special software on your workstations - all you need is a Web browser capable of using JavaScript. It has all the basic functionality you'd find in much more expensive proprietary software environments. With the data stored in a database, it's easy to extract for other purposes, or connect other systems to it. Many Web developers are experienced using PHP - you can easily find one to integrate other Web applications into your accounting system, connecting a time-tracking program directly into the accounting system, for example.

The main drawbacks to Aria are related to security and reliability. While it's easy to post it to a Web host, the last thing you want to share on a generic server are the financial details of your company. On a shared host, other users may be able to connect to your database and see the financials for your company. The solutions are to either use a host that controls access to the server, or host it on your own server .A slightly less obvious drawback is that if a connection or the script execution is interrupted, it's possible for only a part of your transaction to be added, not all of it. Since the software uses double-entry accounting, if there is some problem while the script is working, one ledger may get credited, while the other one never gets debited, leading to books that won't balance.

The chances of such an error happening are slim, and if it does, it shouldn't be too hard to track down and correct. If you need features not offered by SQL Ledger, and are small enough that you don't need the most robust solution, Aria is a great accounting solution.

You can test-drive Aria and download it at http://arias.sourceforge.net.

SQL Ledger
SQL Ledger (www.sql-ledger.com) is quite similar to Aria, with many of the same features and benefits. It also runs on a Web server, stores its data in a database, requires nothing more than a Web browser to use, and solves the issue of allowing your accountant to view (and repair) your books without requiring an in-person visit. SQL Ledger differs in the technology it uses: Perl and PostgreSQL. The main benefit of SQL Ledger over Aria is that it's more robust.

SQL stands for Structured Query Language, a language developed by IBM to get results from and data into a database. SQL is used to interact with databases of all sizes and types. What PostgreSQL offers over MySQL (until recently) is support for transactions.

Let's take a quick look from a data point of view at what happens when you sell an item in your inventory. First of all, you must reduce your count of that item in your inventory, because you no longer have the item for sale. Then you need to increase the accounts receivable for the customer because they now owe you money for the item. Once all of the items have been entered, the customer needs to pay. You then reduce the amount in your accounts receivable and increase the amount in your cash drawer. These are a whole sequence of events that affect several different parts of your database.

More Stories By John Locke

John Locke is the principal consultant for Freelock LLC, where he acts as a technology advisor helping small businesses solve operational and communication problems using open source software. John is also the author of Open Source Solutions for Small Business Problems published by Charles River Media.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Mark 08/15/05 05:28:59 PM EDT

I wish the article were more up to date. For example, Aria appears not to have been updated since November 2003--I wouldn't have included it in an article on current alternatives. And it seems to me small and medium business users won't have much of a clue about Linux and downloads and the arcane FAQs I see on sites like SQL Ledger. Getting them to move over to an application whose web page reeks of geek is an unlikely proposition.