Here is an exhaustive list of the open source accounting packages I’ve come across. I’ll be reviewing some of them, but listing others for posterity. Some of the projects have been inactive for so long their websites are now unavailable. Where possible, I will mirror any available (and open) content and code I can find here.
ABRA Toolbox
.
Accountomatic
At the house here we’ve been using a PHP version of my never-released accounting tool for a couple of years now. I recently took some spare time to learn the Rails framework (a very elegant Ruby-language framework) and, since my data model and concern separation for the accounting system were very similar was able to quickly convert the system over to Rails and even add a couple of features along the way.
Language: Ruby, uses Ruby on Rails framework
Database: Postgres, maybe others
License: modified BSD
Last update as of May 2007: September 2005
Notes: Nice simple implementation. I don’t know ruby on rails so I didn’t install it, but code seems clean. Demo works well, too simple for a business, but well designed for personal finances.
http://www.rickbradley.com/pages/accountomatic/
.
Arias
“ARIA (Accounting, Receiving and Inventory Administration) is a web based accounting and inventory managment package based off the NOLA project. ARIA aim’s to be platform and browser independent with multi-language support.”
Language: PHP
Database:
License: GPL
Last update as of May 2007: November 2003
Notes: Substantial amount of work, not the best architecture (all php files in one main directory), uses the same database model as NOLA. Uses smarty templates. Seems to have substantial help files?
http://arias.sourceforge.net/
.
avsap
* written in wxPython
* unlimited number of companies
* double entry book keeping
* cash book, bank book etc
* journal
* ledgers
* voucher entry templates
* custom reports
* balance sheet
* trial balances
* flexible chart of accounts
* multi-user access
* ACID compliance
* Multiple Login Levels
* Financial Year Closure
* User Configurable Financial Year
* Multi language support
Language: Python
Database: Postgres
License: GPL
Last update as of May 2007: January 2005
Notes: Good explanation of yearly closing entries, need to try out on a linux machine, screen shots look good. Desktop application which uses a SQL backend. Interesting…
http://avsap.sourceforge.net/
AVSAP
AVSAP claims to have end of year account closure. That will be interesting to see. AVSAP is written in python, and uses wxPython for its gui layer. I’m downloading the prerequisites now… err, probably not going to work on Mac OS X, but I did find this:
“Year Closure can be done at any time, any number of times. It will carry forward your balances under assets and liabilities, calculate the profit and carry this forward to the capital account.”
That’s a handy explanation!
.
BastionLedger
The suite currently supports, a general ledger, inventory, and order management system. Work is underway to create a payroll system. There is support for multi-currency, subsidiary ledgers, and orderbooks.
Language: Python
Database:
License: GPL
Last update as of May 2007: 2006-09-24
Notes: Uses zope templates, aka Template Attribute Language (TAL). I prefer XSL.
http://www.last-bastion.net/BastionLedger
.
Bokin
BOKIN is an accounting system based on double-entry bookkeeping.
Language: ?
Database: ?
License: GPL
Last update as of May 2007: December 2005
Notes:
.
Common Cents - ccweb
A set of perl scripts that helps manage your home finances via double-entry accounting transactions.
Language: perl
Database: MySQL
License: GPL
Last update as of May 2007: 2004
Notes: Haven’t reviewed extensively, project seems small.
.
Common Knowledge ERP, ck-erp
CK-ERP is a CRM/ERP/MRP/accounting system with 22 modules - Admin,i18n, ContactMgmt, CRM, CustomerSelfService, VRM, MRP,Warehouse,Inventory,Service, Ledger,BankRec,Payables,Receivables,PO,SO,Quotation, POS(Cashier),POS(Mgr), HR,StaffSelfService & Payroll.
Language: PHP
Database: Postgres, MySQL
License: GPL
Last update as of May 2007: 2007-02-28
Notes: Significant amount of work put into CK, detailed architecture where numerous php files are organized into ck-something folders. Integrates with phpbb2, horde, tikiwiki.
.
Command Line Accountant, clacct
Not all of us have CPA’s or have 99% of our life to spend on balancing our checkbook. If you want an easy, straight-to-the-point method to balancing your budget, check out the Command-line Accountant! It handles multiple users (on UNIX-based systems), multiple accounts per user, IOU’s, and more. For simplicity, it does not use check numbers. Its interface works purely on command-line arguments– there is no interactivity whatsoever. The good news is that this makes clacct completely scriptable!
Language: perl
Database: ?
License: Public Domain
Last update as of May 2007: 2004-02-17
Notes: Interesting!
Compiere
Smart ERP+CRM solution for Small-Medium Enterprises in the global market covering all areas from order and customer/supplier management, supply chain to accounting. For $5-500M revenue companies looking for “brick and click” first tier functionality.
Language: PHP
Database: Oracle, though they’ve released a database kit for connecting to others like MySQL, Postgres, and more.
License: GPL (plus commercial license?)
Last update as of May 2007: Actively managed
Notes: For my needs this project is overkill, and suffers from function bloat.
debts
D.E.B.T.S - Web Based Personal Finance, Double Entry Based Transaction System (DEBTS). A web based personal finance application written in PHP / MySQL. Support for multiple users. Compatible with most frame / javascript capable web browsers.
Language: PHP
Database: MySQL
License: GPL
Last update as of May 2007: 2005-05-03
Notes: None yet, looks interesting.
drorit
Drorit a double sided accounting system written in PHP and MySQL conforms to Israel Tax authorithies laws. Interface lanugage - hebrew
Language: PHP
License: None - “Free” - “DRORIT Free Accounting Software”
Last update as of May 2007: May 20, 2007 (though it appears code hasn’t been update since 2005)
Notes: Wish I knew hebrew! Would be nice to have a license.
Enterprise CRM and Groupware System, egs
EGS is a multi-user, web-based Groupware/CRM/MRP suite developed using PHP. Current modules include: CRM/Address Book/Dashboard, Calendar, Content Management, Wiki, Project Management tools, Email Ticketing, Website News, File Sharing and Accounting/ERP.
Language: PHP
Database: MySQL
License: GPL
Last update as of May 2007: 2007-05-22
Notes: Looks good, definitely worth investigating further.
fibusql
FibuSQL is a web based double-entry accounting software mainly designed for private use, in the sense that it currently has no special support for tax accounts etc.
Language: PHP
Database: PEAR::DB, MySQL, Postgres
License: GPL
Last update as of May 2007: ?
Notes: Documentation available in German and English. Available on Debian! Changelog includes mention of import and export of journal and ledger in XML format. Gotta check that out - two files: parsecsv.inc and parsexml.inc might be useful. This package looks very good, definitely worth further investigation. Might make sense to install debian package and see what happens. How terrific is it when a developer makes a statement like this that is powerful enough to show how well they understand the concept they are working on:
It is not necessary to backup the ledger, since it can be reconstructed from account list and the journal at any time.
YES! Fibusql understands the commonly accepted relationship between the journal and the ledger! (The journal is the record of initial entry, and entries are posted in summary form to the journal.)
The docs contain multiple references to “repeated bookings”, and are explained as “support for recurring bookings (every n days or months)”. Sounds interesting - when are these processed?
End-of-year transactions are not yet supported, and the documents recommend backing up and archiving prior years.
I’ve made available the English fibusql open source accounting software documentation which is included in the distribution but not readily available online. German version of fibusql docs. Thankfully fibusql is available in the debian distribution, so I opted to install it that way. The db config has been messy, but I finally got it going. (You have to config via the web welcome page, THEN initialize the database.) Now that I’m up and running it looks pretty good. There are some odd items - you can only have two accounts per transaction, and the account maintenance system is a little cryptic. Otherwise, seems pretty solid. DB uses 4 tables.
mysql> use fibusql
Database changed
mysql> show tables;
+-------------------+
| Tables_in_fibusql |
+-------------------+
| accounts |
| balances |
| journal |
| repeated |
+-------------------+
4 rows in set (0.00 sec)
I like fibusql’s ability to output and backup data to XML and CSV files. I just examined the XML format and it is logical to me. Cool.
Fibusql:
- No user auth
- Had to manually create revenue account, fibusql wouldn’t let me
- Sub-account handling is great.
.
Finance IIF and Finance QIF
Language: perl
License: GPL, “This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.”
Last update as of May 2007: 2006
Notes: Perl modules for converting to and from iif and qif. I got Finance::IIF to work without knowing too much about perl, this will be very useful for trying to keep my PBooks file in sync with my Quickbooks file as I try to convert over. May want to try and port to PHP at some point, in which case this would be useful.
frontaccount
Language: PHP
Database: MySQL
License: GPL
Last update as of May 2007: Under active development
Notes: Easy to install, clean interface, messy database model, meaning it is likely to have a messy app architecture. Need to compare with OpenAccounting, which frontaccount is a fork of.
.
fruitybanking
A web-based double personal finance system.
Author: R. Rawson-Tetley (of tea fame? probably not, but maybe…)
Language: python
Database: mysql
Interface: web
License: GPL
Last update as of May 2007: April 2007
Notes: Only two database tables, which might be a good thing. Installation required installation of sqlite and python-sqlite. Still getting the following error:
DatabaseError: attempt to write a readonly database
args = ('attempt to write a readonly database',)
This problem was caused by my creation of the sqlite database as root. I changed the ownership of the db file and the directory it was residing in to www-data and it worked! Fruitybanking is VERY basic, supporting single entry accounting. Since it is in python there may be a good opportunity to learn more about that language.
gal
Language:
License:
Last update as of May 2007:
Notes:
gazie
Language:
License:
Last update as of May 2007:
Notes:
GFP
GFP is a Free Open Source Personal Finance Manager in Java/Swing that can run on virtually any Operating System. It’s designed to people with few financial knowledge to be helped on managing their finances. It’s translated to 11 languages.
Language: Java
License: GPL
Last update as of May 2007: 2007
Notes: GFP seems to work fine, but I had a difficult time trying to complete any basic tasks.
gnuaccounting
Language:
License:
Last update as of May 2007:
Notes:
gnucash
Language: C
License: GPL
Last update as of May 2007: Actively developed
Notes: Probably the most active and successful open source accounting project. Has a long history, and thus a lot of dated documentation is out there in cyberspace, but most of it is high quality and written well. Has potential for SQL backend, though current status is not optimal.
gnue-sb
GNUe Small Business Edition took the GPL’d NOLA accounting package, an Apache + MySQL + PHP based accounting package that handles General Ledger, Accounts Payable, Accounts Receivable, Payroll, etc. and built on its schema and concepts.
Language: PHP
Database: MySQL, attempted to add others (successful?)
License: GPL
Last update as of May 2007: 2003
Notes: Actually seems to use aria, not nola, but aria is a fork of nola.
.
gnuledger
Language:
License:
Last update as of May 2007:
Notes:
grisbi
Language:
License:
Last update as of May 2007:
Notes:
.
gryn
Gryn and/or Qdough, a program for keeping your accounting books under Gnu/Linux
Language: Python
License: GPL
Database: MySQL, generic SQL or XML?
Interface: Qt
Last update as of May 2007: 2005
Notes: English and Norwegian
http://gryn.berlios.de
.
guco
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes:
.
jGnash
jGnash is a free (no strings attached!) personal finance manager with many of the same features as commercially-available software. It was created in order to make tracking your personal finances easy, but also provides the functionality required by advanced users.
Language: Java
Database: XML flat file
Interface: Desktop / Swing / JVM
License: GPL
Last update as of May 2007: 2007-03-31
Notes: It seems to work well. I was able to create an account and make a single sided entry in that account, but I couldn’t figure out how to make the entry double-sided. jGnash stores its data in an xml file, which is nice.
.
kahemba
Language:
License:
Last update as of May 2007:
Notes:
Kapitel
Language:
License:
Last update as of May 2007:
Notes:
kMyMoney
Language:
License:
Last update as of May 2007:
Notes:
kontor
Language:
License:
Last update as of May 2007:
Notes: I’ve mirrored the docs here.
ledger
Language:
License:
Last update as of May 2007:
Notes:
Ledger SMB
Language: Perl
License: GPL?
Last update as of May 2007: Actively developed.
Notes: Fork of SQL Ledger.
libofx
This is the LibOFX library. It is a parser and an API designed to allow applications to support the OFX banking standard (mostly used for bank statement download).
Language: C++
License: GPL
Last update as of May 2007: January 8, 2007
Notes: This looks like a very solid library.
lunafin
Language:
License:
Last update as of May 2007:
Notes:
lx-office-erp
Language: perl, has some PHP and python scripts
Database: Postgres
Interface: web
License: gpl
Last update as of May 2007: December 2006?
Notes: Fork of sql-ledger back in 2003, focused on German finances. Most sourceforge CVS code hasn’t been updated in 2 years, has it been made closed source? Downloads include much more recent changes (2007-02-23). Wish I spoke better German!
http://www.lx-office.org/
.
MoneyBook
Author: Nathan Samson
Language: C++
Interface: GTK
License: GPL
Last update as of May 2007: 2005-05-09
Notes: Incomplete, or at least documentation is incredibly sparse, quality of code looks good though.
http://developer.berlios.de/projects/moneybook/
.
Money Manager X
Language:
License:
Last update as of May 2007:
Notes:
.
My Money Manager
Language:
License:
Last update as of May 2007:
Notes:
.
ofBiz
Language:
License:
Last update as of May 2007:
Notes:
omgs
Language:
License:
Last update as of May 2007:
Notes:
.
olfix
An administrative system for small to medium sized companies. It will contain functionality for order, inventory and billing as well as bookkeeping. It is primarily aimed at european users.
Language: C++
Database:
Interface:
License:
Last update as of May 2007: 2003
Notes:
.
onel
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes: Russian?
.
oxerp
Language:
Database: jBoss
Interface:
License:
Last update as of May 2007: 2003
Notes: Docs looks decent, they use xml and xsl.
.
OpenAccounting
Language:
License:
Last update as of May 2007:
Notes:
openbravo
Language:
License:
Last update as of May 2007:
Notes: Read these Openbravo installation instructions on debian and ubuntu
PBooks
Language: PHP
Database: MySQL
License: aGPL
Last update as of May 2007:
Notes:
phasis
Language:
License:
Last update as of May 2007:
Notes:
phpeinaus
Language:
License:
Last update as of May 2007:
Notes:
phpfin
Language:
License:
Last update as of May 2007:
Notes:
.
phpmymoney
Language:
License:
Last update as of May 2007:
Notes:
phporganization
Language:
License:
Last update as of May 2007:
Notes:
phpRechnung
Language:
License:
Last update as of May 2007:
Notes:
pyfm
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes:
.
qhacc
Language:
License:
Last update as of May 2007:
Notes:
Quickerbooks
Language:
License:
Last update as of May 2007:
Notes:
redies
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes:
.
Simple Accounting
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes:
.
SQL-Ledger
Language:
License:
Last update as of May 2007:
Notes:
Symbol
Language:
License:
Last update as of May 2007:
Notes:
tab-financial-general accounting
Language:
License:
Last update as of May 2007:
Notes:
tiny-erp
Language: Python
License: GPL
Last update as of Oct 2007: Active development
Notes: Server and GTK (desktop) client seem stable, web client not so stable in my experience. Server was available in debian repositories, so easy to install. Web client was a manual install and although I kind of got it working, it still croaked when I was trying to explore the application. The web client uses TurboGears (python), and the server uses postgres, and I couldn’t figure out the logic behind the data model.
Transaction Safe
Language:
License:
Last update as of May 2007:
Notes:
.
TurboCash
Language:
Database:
Interface:
License:
Last update as of May 2007:
Notes:
.
Turquaz
Language:
License:
Last update as of May 2007:
Notes:
webERP
Language:
License:
Last update as of May 2007:
Notes:
Where My Money Go?
Language:
License:
Last update as of May 2007:
Notes:
xdbmoney
Language:
License:
Last update as of May 2007:
Notes:
XIWA
Language:
License:
Last update as of May 2007:
Notes:
General Notes:
- Many if not most of these projects use the Postgres database as opposed to the MySQL database. It should be noted that this could be due to the time period during which these projects were developed. Prior to version 5 and the InnoDB storage engine, MySQL had no support for foreign keys and ACID compliance, while Postgres did and continues to. The same could also be said for PHP versus perl to a certain degree.
- I’m glad to see there are two abstract perl conversion libraries, as well as lots of python code. As Ubuntu puts it: “Python is a great glue language.” Though it seems that most of the python projects are that way due to the use of wxPython (look into this more).
- Regarding Java - to me java is still a closed and inaccessible language; a bit of an island when it comes to open source projects. Whereas the other languages like c, php, perl, python and even ruby can play well together, I have no idea how to leverage java code in a php project, or vice versa.
- Despite the title of this page being “Open Source Accounting”, some of these projects are not open source. If I’ve listed them and they are not open source, they are probably for use with an open source operating system, like linux.
- Why am I publishing old or not readily available content / documentation with Google Adsense advertisements (fibusql, kontor, etc)? This is very useful information which has for one reason or another been misplaced. If you’d rather get the content from sourceforge, you are of course free to do so. Although I find sourceforge to be an amazing resource, it can unfortunately from time to time be a little inconvenient to access and research. I have changed some of the content, mainly to include the ads as well as remove email addresses to prevent them from being harvested by bots.
External Links
http://en.wikipedia.org/wiki/Comparison_of_accounting_software
Latest Comments
RSS