Articles / Financial Software for Linu…

Financial Software for Linux

Applications are available for Linux to help with everything from balancing your checkbook to managing payroll and inventory for a Fortune 500 megacorp. This review hopes to point you in the right direction for whatever you need to do.

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.

  1. Personal finance versus business finance:

    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.

  2. Going in the other direction, people's personal finances are getting more complex these days, and involve tracking investments like stocks, options, and pension savings such as IRAs, 401(k)s, and RRSPs. Businesses don't usually invest in this way, so in this area, contrary to usual expectations, personal finances can require greater sophistication than "corporate" finances.
  3. Some financial software uses custom data storage schemes. GnuCash, for example, uses its own XML-based format. There are an increasing number of packages that use SQL databases such as PostgreSQL or MySQL for data storage.
  4. Then there is the question of user interface. Common choices include:
    • X-based GUIs based on libraries such as GTK, Motif, GNOME, Qt, KDE, Java AWT, and Swing,
    • text-based UIs based on libraries like ncurses or slang,
    • commandline-oriented interfaces,
    • and Web browser interfaces.
  5. Licenses and prices:

    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.

1. Personal Finance

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:

CBB -- The Linux Check Book Balancer

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.

GnuCash

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

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.

MoneyDance

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.

  • gAcc (see also Projet gAcc)
  • gnofin -- a GTK-based simple checkbook package
  • GCompte
  • QHacc
  • Checkbook
  • If your annual activity can fit onto a couple of sheets of paper, using manual methods to manage the data can be quite practical. It might be a nice convenience to track your financial activity using a spreadsheet, thus automating the calculations.

2. Investment Analysis

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.

3. Business Accounting

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 .

3.1. Free Software

There are three main "free" packages that have been around long enough to have releases that are of sufficient maturity to be somewhat usable.

Linux-Kontor

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.

SQL-Ledger

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.

BANAL (BANAL's Absolutely Not A Ledger)

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.

3.2. Nonredistributable Software

SAP R/3

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.

Appgen

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.

Proven Software

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.

Linux General Ledger

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.

InfoFlex AccountFlex

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.

Conetic C/BOOKS

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.

Fenix Data Systems

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.

3.3. ASP: Web-based Accounting

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.

4. Specialized Business Applications

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.

5. Wrapping Up

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.

Recent comments

28 Aug 2011 17:28 Avatar agbradford

See:
http://opensourcefinancialmodels.com

With GPL Linux Download:
http://opensourcefinancialmodels.com/optionmatrix.tar.gz

A real-time generalized financial derivatives calculator supporting over 86 theoretical models from open source libraries.

06 Mar 2010 02:34 Avatar einhverfr

Although this is an older article, I want to mention that LedgerSMB is a spinoff of SQL-Ledger which aims to correct some of the data integrity and security issues which have affected that software. Long-run however, the project is going in a very different direction.

26 Nov 2006 09:29 Avatar donpa

Linux General Ledger
FYI Linux General Ledger (LGL) has been around for almost 20 years. (Formerly the "UNIX General Ledger".) It is probably the most bug-free accounting software anywhere. Use of ncurses allows access from remote terminals - a big advantage. It is patterned after the old Jaquard and Great Plains software. It works for both cash and accrual accounting and includes general journal, sales journal, recuring journal. Reports are extensive and a report generator is included.

The latest innovation from the same authors is BasicBooks, a gui application more along the lines of Quick Books. Includes basic accounting, accrual and cash, plus a newly released, check writing Accounts Payable (which uses same printed check stock as Quicken, Quick Books, and MS Money).

Accounts Receivable, Inventory, and Order Entry are scheduled for Winter/Spring 2007. For Payroll, the best bet is still to go to a bank or other firm that specialized in it and does EFT and direct deposits.

15 Oct 2006 19:49 Avatar th1nk

Sql-ledger
Eventhough this post is really old I will follow up my rant above by saying we are running sql-ledger on a gentoo linux server for 2 years with no problems. It is used by windows, mac os x and linux workstations with no problems. The paid support is very good and priceless. Unfortunatly there is not a working ebuild to keep up with the many updates using "emerge" gentoo's package manager portage the installer script works very well and the project is still under rapid development.

29 Jul 2003 00:08 Avatar viric

About SQL-Ledger
Well, I've been trying SQL-Ledger for some time... I've found lots of problems doing accounting through that software; but most of them are related to the translation (I'm Catalan)
It's nice to have a multi-language multi-country accounting software, and they're following good steps.

I only miss a CVS server, and more developer information. I don't really know if they expect collaboration in development anyway.

I must suggest "accwhizz" (accwhizz.sf.net) now. I've been looking for few minutes at it, and it looks really good! I'll try to get ready a translation to Catalan of that software... The main developer wants help at building the program, and it's full of features. Some things aren't implemented, but it's a good open accounting web application to get involved.

I'll probably be able to say more things about it in few days. :)

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.