There is quite a wide variety of software that runs on Linux to help you manage your accounting and financial arrangements.
To manage the activities of a household, an individual may need software that goes little further than recording personal spending that goes through banks and credit cards.
In contrast, business enterprises commonly need to work with a complex stream of "documents" such as purchase orders, shipping lists, invoices, inventory requests, etc., often imputing expenses over time using accruals.
As a result, there is most definitely not going to be a single "best" accounting package suited to everyone in the way that (for example) a supremely sophisticated text editor like GNU Emacs might claim to be universally usable.
Coming up with a preferred program will be an individual matter to be evaluated based on the user's needs and the functionality available.
There are a number of dimensions against which usefulness may be evaluated. Software is not uniformly available across all such criteria, unfortunately; you may not find exactly the sort of software that you want.
Personal activities are largely oriented towards a "cash basis". Transactions are usually classified based on when money changes hands.
In contrast, businesses usually have accruals, in which a sale may take place long before the payment is received, or costs are incurred before the bill is actually paid.
Accruals introduce a bunch of additional complexity that may represent a mandatory legal requirement (or tedious and completely pointless effort). This introduces additional "ledgers" and "journals" to track such things as Accounts Receivable, Accounts Payable, Inventory, and Payroll, just to name a few.
A first rule of economics is that people want more for less, so the preference is for software that is freely available and has maximum functionality.
The reality is that developing software requires substantial effort and expertise, and accounting software isn't generally as "fun" to create as some other sorts of software.
Furthermore, as expectations of sophistication increase, encoding ever-changing tax policies into software requires regular rework and input from accounting and legal professionals that largely haven't bought into the notion of Free Software. (Indeed, they are likely to prefer to bill at hourly rates of around a hundred dollars an hour.)
The result of all of this is that the Free Software that is available is, by and large, somewhat limited in functionality. In contrast, proprietary packages can get very expensive. SAP sells an application called R/3 (which runs on Linux) for which installations commonly involve millions of dollars worth of licensing fees.
The following presentation breaks down a number of the accounting and finance software packages available on Linux primarily based on the intended functionality.
The "touchstone" software package in this area has long been Intuit's Quicken, which first put a "friendly" face on managing checkbooks and credit cards. Many projects have come and gone to build software to run on Linux that provides functionality analogous to Quicken. Virtually all of these packages are able to import financial data in the "QIF" format commonly provided by financial institutions. Support for the newer "OFX" format has been slow in coming.
Credible choices, these days, include:
Of all the choices out there, CBB is the most mature. It has been under development since about 1995. It has a TCL/Tk GUI frontend that communicates with a Perl-based backend. It used to be regarded as fairly slow, but Moore's Law has helped out considerably; today's hundreds-of-times-more-powerful hardware runs it nicely.
CBB is available in prepackaged form for many distributions, and has even been successfully run on non-Unix-like systems such as Windows NT.
CBB is licensed under the GPL as Free Software.
Several projects to "recreate Quicken" in the late '90s consolidated to produce this project. GnuCash uses quite a number of libraries from the GNOME environment, stores data in its own XML-based format, and allows additional customizations written in Guile Scheme.
Very active development is ongoing, including creating a backend to store data in a PostgreSQL database, as well as an RPC interface.
Binary packages are available for many distributions. Unfortunately, the large set of library dependencies means that getting everything installed to permit compiling GnuCash is something of a challenge.
GnuCash is licensed under the GPL as Free Software.
Kapital is a "personal finance" package based on KDE libraries.
It is not "Free Software," but is priced between $25 and $50, depending on how and when you purchase it.
Money Dance is a Java-based personal finance package that runs on various platforms. It requires a JRE or JDK environment of version 1.3 or higher; none are presently available as Free Software.
Although a download can be obtained without charge, Money Dance is not Free Software; a personal license is priced at about $40 USD, and there is no access to source code.
These are the packages most likely to be of interest for those that would like to have something analogous to Quicken running on Linux.
There are also a number of somewhat less sophisticated "checkbook" applications. A common "itch" that has been "scratched" several times is that would-be users of GnuCash found its development was not progressing as quickly as they hoped, thus necessitating some "stopgap" measures.
The set of investment analysis tools starts at the "simple" end with "applets" that pull stock prices from Web sites and report to you the value of your portfolio. It also includes much more complex "technical analysis" software that attempts to predict future trends in stock prices, which might be useful to budding "day traders." Personally, the only reason I have ever sold stock has been necessity; I prefer the "buy and hold" strategy. But if you have a scheme for making money while the NASDAQ falls, more power to you...
None of these packages integrate very tightly with any of the personal finance packages; that is one place where the considerable effort Intuit has put into integrating investment tools into Quicken continues to keep it somewhat ahead of the Linux-based options.
If you're running a business, it's not enough to just track checks that are issued; the flow of tracking sales and expenses requires tracking all sorts of other accounting documents.
These sorts of systems store a diverse set of information about different sorts of accounting documents, and often need to support multiple concurrent users, so it is common for them to use some form of SQL relational database. This provides a convenient base for inserting local customizations; if there are 50 tables set up to support the application, adding a few more tables is no big deal.
There are some software packages that are freely available with source code; others are more restrictive, whether by having source code but with licenses prohibiting redistribution, or by providing interfaces but no source code. They (by and large) all offer interfacing schemes to allow building customized interfaces to get data in and out of the accounting system.
The Free Software options are generally pretty limited in terms of overall functionality. For the nonredistributable packages, licensing costs often are rather high and negotiated individually with customers, and are not revealed publicly.
If there is a "Holy Grail" for the attempts to build free accounting packages, it is to create software somewhat comparable to the popular Windows-based packages Intuit QuickBooks and Peachtree Accounting .
There are three main "free" packages that have been around long enough to have releases that are of sufficient maturity to be somewhat usable.
This is an "ERP" (Enterprise Resource Planning) application written in Java, storing data in a relational database such as PostgreSQL, Oracle, or Adabas-D.
At present, its functionality is primarily directed at sales and distribution functions, managing customers, orders, invoices, and inventory. It is probably the most sophisticated of the "Free Software" options, but would only represent part of a company's accounting systems.
This package is implemented as a Web application, with a set of Perl CGI scripts, storing data in an SQL database such as PostgreSQL.
It supports the common accounting journals of the General Journal, Accounts Receivable, Accounts Payable, and Inventory, allowing generation of invoices and shipping documents.
This is a client/server bookkeeping system written in Perl using the Rand/Hobbs /rdb database system. /rdb is a text-based relational database system that uses operators that are Unix filters piped together. It is an interesting database approach that perhaps regrettably did not catch on more widely. The downside to the "stream/operator" approach is that it does not directly support transactions the way modern SQL databases do. At present, BANAL supports multiuser access only minimally; they have plans to support SQL databases in the future, which should relieve this limitation.
The system works solely through a commandline client called blk, and is not tremendously "user-friendly". It nonetheless produces quite attractive Postscript documents and supports functionality particularly directed to managing a consulting firm.
There are also other projects out there such as GNU Enterprise and QtTudo that may become usable sometime in the future, but which aren't quite there yet. GNU Enterprise seems intended more as a "platform" than as a "canned application". Its use may, to a great extent, parallel the extremely "heavyweight" SAP R/3, the installation of which requires assistance from expert configurers, and tends to involve extensive local customization. It is only usable in contexts in which you require a system so sophisticated that it is acceptable for its management to require a small horde of fulltime system administrators.
The challenge comes in accounting for payroll taxes, sales taxes, and other similar regulatory areas that require substantial and regular input from legal experts. The legal profession hasn't leapt to provide free legal services to help produce Free Software, and it would be surprising to see this change soon.
R/3 is probably the most expensive accounting system out there. It runs on many operating system platforms and relational databases, and most of the "Fortune 500" have an install or three helping to manage parts of their operations. They are likely to be running it on "big iron" Unixes like Solaris, HP/UX, or AIX, but a Linux version is available.
There are a number of consulting firms that can provide installation and configuration assistance with this software, which, combined with a lack of direct pricing information, suggests that it is likely fairly expensive to get running.
This company sells several versions of their "Proven Accounting" software. As a customized set of C-based modules, running atop their own custom database system, this offers one of the less expensive options, with a single user version available for as little as $99.
This is likely the least expensive of the nonredistributable offerings, as licenses may be available for as little as $20 USD. Mind you, the ncurses user interface is not exactly the most user friendly, and all this provides, at present, is a general ledger and a cash disbursements journal.
This provides such journals as General Ledger, Order Entry, Purchasing, Accounts Payable, Accounts Receivable, Inventory, Job Costing, Bank Reconciliation, and Bill of Materials, running atop the vendor's database system that provides an emulation of Informix SE.
This consists of Accounts Receivable, Accounts Payable, General Ledger, Order Entry, Inventory Control, Payroll, Fixed Assets, Job Costing, and Purchase Order, all running atop a terminal-oriented screen library and a custom C library-based database system.
This system appears to be oriented to warehousing and import operations, with modules to manage customs and import activity, freight, and cargo, running atop a database system called Metropolis (this might remind many of a DOS system called Alpha Base).
If you favor one or another of the commercial relational databases, like Oracle, Sybase, DB/2, or Informix (recently acquired by IBM), it is well worth contacting the database vendors, as they maintain lists of third party vendors that sell application software based on their database systems.
Pricing for these "solutions" tends to be on the order of tens of thousands to hundreds of thousands of dollars, based on the often-daunting traditional pricing models for Unix-based applications.
This category is characterized by NetLedger, which, as it happens, runs on Linux, and reportedly represents one of the largest installations of Oracle on Linux.
The basic idea here is that the data resides on the Application Service Provider's server, and you access data across the Internet through an SSL connection.
Someone running a large business would likely feel uneasy about essentially "outsourcing" the accounting system, where it would sit on a server not under her own control. On the other hand, a small business that lacks an in-house computer "expert" who ensures that regular backups are done might very well find it a wise move to pay an ASP like NetLedger a hundred dollars a month to handle this.
The previously mentioned SQL-Ledger functions in much this manner, with the difference that you manage the Web server.
Some programs have been developed specifically to support certain kinds of business activity.
For instance, an ISP will set up accounts for clients, activate them as they get paid, and shut off access should someone fail to pay. There is ISP accounting software that automatically sets up billings for this, such as Freeside ISP Billing Software for Linux .
"Point of Sale" (POS) systems can control retail cash registers, such as the Linux Canada Inc. Point Of Sale Application.
Credit card authentication systems clear credit card charges by dialing the credit card provider to confirm that the provider is willing to release credit. Notable in this area is CCVS from Red Hat Software.
WebTime is a Web-based time tracking and attendance system.
These specialized applications generally come with hooks that allow them to connect to the rest of the enterprise's systems.
There is a diverse set of financial software that runs on Linux. There are some very different "activity models" out there, resulting in very different sorts of software.
While Linux is a very stable platform on which to run things like accounting systems, for a variety of reasons, it has not yet become a terribly popular platform for the producers of "shrink-wrapped" accounting software, and if you are looking for integration with "online banking" systems, you may find choices limited or even nonexistent.
If you wish to run your accounting systems on Linux, you will need to look carefully at the options to see which are most suitable. There are more useful choices now than there were a couple of years ago, but, depending on your requirements, there may not yet be anything that is suitable.
The growth of the availability of good Free database and Web software seems to be proving helpful for Free Software options, and the availability of more and more commercial support is leading to more and more "nonfree" options.
The perpetual truth, as is the case for many application areas, is that in a year, there will likely be more good choices which are not available now.