You are here

Accounting

Submitted by Peter on Sat, 2010-04-24 08:42

Accounting software is almost a necessary evil. Good accounting software connects with the other software you choose to use and cuts down the work required to maintain your accounts.

Some of the products do more than just accounting, giving you the opportunity to save time if you can find the right mix for your requirements. Consider a small shop based around a cash register. Accounting would be tedious if the cash register receipts had to be manually typed into accounting software. Some accounting software connects direct to cash registers and cuts out that tedious step. If the accounting software has good reporting features, the reporting can be used to analyse sales trends providing another advantage from the connection to the cash register.

A software company might use a trouble ticket system to keep track of customer calls. If the trouble ticket system records the time spent on each ticket and lets you mark some calls as billable, you could then feed the billable hours direct to your accounting system for inclusion in invoices. The Storm project management application includes trouble tickets and time recording and has an invoice function but not accounting, creating a problem for organisations that use a separate accounting application. The ideal would be to have a bigger application covering both areas or to have a connection from Storm to another package so that the data in Storm flows through to invoices in the other package.

PHP based applications

PHP based applications have the advantage that you can easily participate in the development of the application. If you cannot write PHP code, you can easily find people who can. Almost every other programming language presents some sort of roadblock.

FrontAccounting

FrontAccounting looks good. I like WebERP, an ERP application with some accounting. OpenAccounting was a project to rewrite WebERP with better accounting but the developers then decided to jump back to the 1980s and rewrite OpenAccounting in Java. FrontAccounting is developed from OpenAccounting. Download FrontAccounting from frontaccounting.com.

FrontAccounting is still stuck with PHP 4 compatibility. There is no reason for them to remain so far behind. FrontAccounting really needs a major update.

FrontAccounting used MySQL Innodb tables, instead of the default MyISAM tables, for transactions. Innodb is great for accounting and has performance limitations for delivery of high volume web sites. If you run FrontAccounting on the same server as your content management system, you would use a different database. You would also use the latest version of MySQL because there were some serious performance improvements in Innodb in recent versions. Think of MySQL as progressing from version 3 to version 4 to 4.1 to 5 then 5.1. 4.1 introduced major enhancements across the board. 5.0 introduces major SQL support improvements. FrontAccounting should update to a minimum of MySQL 5.0 and make use of the improved SQL.

Despite the antique code, FrontAccounting looks to be the best choice based on the following features.

GST (VAT) handling:

  • Several GST (VAT) definitions with GST (VAT) groups.
  • Definition of GST (VAT) included.
  • GST (VAT) can be selected on a per customer, supplier or item level.
  • Advanced GST (VAT) inquiry and report showing details and outputs/inputs.

 

Full currency support:

  • Historical currency rates.
  • Multi-currency bank accounts, customers and suppliers.

 

Several languages:

  • Full support for localization by the GNU's gettext package.
  • Many languages are ready. Look at Sourceforge.net. Need proofreading by local auditors or accountants.
  • Several chart of accounts are available in the download section.
  • Full support for right to left (rtl) screens and reports (arabic).
  • Support for Jalali or Islamic calendars.

 

Read more about FrontAccounting...

Dolibarr ERP/CRM

Dolibarr ERP/CRM is free and open source and actively developed at www.dolibarr.org. Reviews say it does not have full accounting features, does not handle multiple companies or currencies or the dual federal/provincial VAT used in Canada. Dolibarr may also be missing the the type of email facilities required for modern customer contact. Dolibarr does have a market place for add-on modules that may add the extra features you need but the add-ons might not be free or open source.

None of the missing features are killers for most uses outside of Canada and the active development might bring in the extra features in the near future. I considered using Dolibarr until I found it is still stuck in PHP version 4 at a time when people are planning the move from PHP 5 to 6. Applications remain stuck in old releases of PHP because the developers are stuck with old thinking. The old thinking might keep Dolibarr behind the main competitor, FrontAccounting.

PhreeBooks

Try the demonstration of PhreeBooks at www.phreebooks.com. PhreeBooks uses PHP 5.0 which is good. I did not find anything else to make PhreeBooks stand out. There is a comparison between PhreeBooks, WebERP. and some other applications on the PhreeBooks site. The chart shows few reasons for choosing PhreeBooks over WebERP and FrontAccounting probably has those extra features. There is no mention of PhreeBooks using transactions, another reason for looking at FrontAccounting first.

webERP

WebERP is FrontAccounting without transaction support. Currently I would choose FrontAccounting over WebERP based on that transaction support.

Both applications appear to gain similar features. Anything that is added to one application should be easy to add to the other because of their historical common ancestry. FrontAccounting appears to have the most active development and will probably get new features first.

From what I remember of the WebERP development mailing list, some of their decisions are holding WebERP development back in the 1990s. Read my experience from 2007 in webERP.

Python based applications

Python is gaining popularity as an alternative to PHP for writing applications.

OpenERP

OpenERP is an open source ERP application based on Python and PostgreSQL. You can download it or use online via a paid subscription with a 30 day free trial. There are hundreds of add-on modules to extend OpenERP.

Other applications

Adempiere and Compiere are stuck in the 1980s due to using Java instead of a modern development approach. Outside of the ancient development foundation, they both have lots of features with a big orientation towards manufacturing. FrontAccounting is catching up in the manufacturing area. If your business is not based on large scale manufacture of complex assemblies, you can skip Compiere.

PostBooks is based on PostgreSQL, C++, and Qt. There is a free community edition and two commercial upgrades including one for manufacturing. If you are a manufacturer, you will have to buy the commercial versions.

Further reading

The following articles cover a mix of free and open software for accounting.

Comments

Hi Peter,

Just a couple of points to add to your analysis:

1) Mysql/Innodb performance has always been significantly faster than postgres - the problem with postgres (relative to mysql) was/is it's speed of establishing a connection to the DB which is required on every page refresh in a stateless web application - hence it was sluggish in use. Posting gl transaction posting was hopeless with postgres in webERP because it was unable to deal efficiently with the fairly standard sql I was using. I did post to the postgres list but really they had no answers. Performance was the reason I went back to innodb!!
2) webERP (and hence OpenAccounting and Front Accounting) was designed from day one to use database transactions for all transactions that affected more than one table!
3) webERP has developed far (far) beyond FrontAccounting in terms of features - to name just a few:

- shipment costing
- contract costing
- 30 languages
- full utf8 pdf output
- Counter Sales
- factor company support
- fixed assets module
- petty cash reimbursement module
- serialised and lot controlled stock items
- ghost bills of materials
- multiple item output works orders
- Full Material Requirements Planning with master schedule (forecast) maintenance
- Comprehensive purchasing authorisation
- role based security
- SQL report writer
off the top of my head.

Of course as primary author of webERP I am extremely biased, but I think you will be able to corroborate these statements as fact.