Ask any small business owner in Australia what drives them craziest running their business.
More often then not the answer will be their accounting software.
Why? It's not because they are unable to understand the principles of double-entry accounting or even the tax system imposed on them.
No, its the lack of a decent, flexible and affordable solution.
The two most popular business accounting packages for the SME is either MYOB and QuickBooks. Both have huge hurdles, and it's not uncommon for users to find that they spend more time attempting to work the software than the software working for them.
I have previously blogged about the issue when talking about
how Linux is difficult for many Aussie SMEs to take up. (Mainly due to their critical accounting software only available under Windows, though it is possible to
run them under WINE if required). Though getting these Windows programs running under Linux doesn't actually solve the problem, it just
migrates it. You are still stuck attempting to drive these frustrating accounting packages.
The Australian market is crying out for an alternative! It's something I've pondered over for some time.
An OSS based accounting and payroll system that put the source code directly in the hands of the users would be appealing to many.
I like the idea of a browser-based accounting system. It means end-users aren't restricted to one operating system platform, and in theory it doesn't need to be restricted to just a computer. (3G Accounting anyone?).
Accounting isn't fun, in fact it's dead-pan boring.

It is however a required evil if you wish to be paid and be compliant with the taxation law. (Particularly GST, BAS reporting and PAYG).
I've looked at programs like
SQL-Ledger and
LedgerSMB, though both didn't 'fit right' for an Australian environment.
SYMBOL was promising. But unfortunately has been abandoned.
fiveDASH, I played with for several hours, though I found it quite primitive and in it's infancy... it's one that at least has some promise, but it will need to progress quite some way to make it in any real production system for a business.
As such, I've decided to look at writing my own. This is purely selfish, as I would like to ditch MYOB come the 2009-2010 financial year. That gives me just under a year to get something up and running.

I'll run a dummy book up til the time, by running MYOB in parallel to ensure all is working as required. The ATO also has some excellent test suites/scenarios to assist in testing an application.
The big choice now is from what components should I build it?
I think PostgreSQL is probably the most solid OSS database to use, though writing something that can also talk to MySQL (due to it's popularity) is probably also wise. End-users can then elect to run whichever they feel most comfortable for their backend.
I considered many languages, but I'm leaning towards PHP for a few reasons:
- Most SMB that have a Linux server for File and Print serving also have a LAMP environment already setup.
- Writing the system using say the Zend Framework ensures a lot of the ground work is already done. Working within their coding standards also ensures the code is reasonably clean and readable (and thus maintainable).
- Python was also considered, but it's more likely a SMB has a Apache/PHP environment over an Apache/Python setup
- I already have quite a number of generic PHP libraries that will mean I can get moving much faster. My Python libraries are no-where as extensive.
- A Java-based web app would be an overkill and likely to confuse many small business owners. (ie: Install a Java Application Server, etc.)
- SugarCRM is already popular in many SMBs. It would be quite easy to have an Accounting + Payroll package integrate into SugarCRM. Sugar is written in PHP, so it would make the job much easier if they both spoke the same language.
I haven't commenced any coding to date, and am still in the embryo stage of getting something up off the ground.
I'm interested to hear people's feedback with their thoughts. Do you think a PHP application (backended by your choice of MySQL or PostgreSQL) for your business accounts is feasible? (Obviously if 'approved' by the ATO as compliant).
Do SMB owners prefer the option of paid software with support packs? (like offered by MYOB and Quicken) they can fall back on? Would you not trust your business books to an OSS based accounting package? What other hurdles do you envisage if you used OSS accounting software?