Small Business Accounting Software

Posted by: on Jan 12, 2010 in Blog | Tags: | 3 Comments

I made a New Year’s resolution for 2010 back on October 1st: stop using the awful shovelware produced by Intuit (QuickBooks) and move to something else. I first wrote “something by a company that cares more about the Mac,” but let’s be realistic. Large companies seem to lose a sense for quality products and good customer service, so really this is all about “anything but QuickBooks”.

I’m moving away from QuickBooks because I paid for it in 2007 and it doesn’t work (seriously: it corrupts transactions) on Snow Leopard. Even the QB 2009 installer failed to work on Snow Leopard until they patched it, as they were still using the Java Bridge, deprecated by Apple way back in 2006 and removed in Snow Leopard. If I have to spend money on accounting software to run Snow Leopard, I’m going to look at all my options.

Light Year Software is, for now, primarily a consulting company. I sell my time, so an accounting package needs to support that. I do not carry inventory or resell goods. I don’t have to collect sales tax. While the business owns some equipment (computers), it’s very minimal.

The list of contenders is disappointingly short, though on the upside, it means I don’t have to try out as many of them: Gnucash (free), AccountEdge 2009 (USD$299) from Acclivity (formerly MYOB) and MoneyWorks Express 5.2 (USD$279) from Cognito.


This one was easy. While I’m a fan of open source, I only had to spend a few minutes with Gnucash to know it wasn’t right for me. It’s written using Gtk+, which isn’t surprising since it’s a cross-platform application, but I didn’t want to spend already unpleasant time using a thoroughly non-Mac UI. There are also some known issues that struck me as likely to be highly irritating. Finally, while I hope to never have to, I do want a safety net of a real company behind the software: phone support, a well-written manual, and an expectation of support for older, but not ancient, releases (after all, I’m in this boat because I didn’t want to update QuickBooks 2007).

AccountEdge and MoneyWorks Express

These two are similar enough that it’s probably easier to write about them together.

AccountEdge wins (barely) on first impressions. The main dashboard interface is more colorful and buttons look like buttons. Both applications use a flowchart style, visually presenting how you should move through the application. AccountEdge does a better job of it, though, because buttons are obvious, whereas with MoneyWorks, you don’t know what’s clickable until you hover over it.

MoneyWorks is a bit nicer when you get down into the forms, but only by a hair. The tab order is often unintuitive; for example: after entering a date for a transaction, tab takes you to the period drop-down immediately above it, instead of the next field down and to the left.

AccountEdge did a better job of hand-holding me through setup. There is a separate setup dashboard, each major section walking me through a wizard that prompts to transfer data from your old system into AccountEdge. MoneyWorks doesn’t have this, though it does have a nicer manual (PDF). AccountEdge’s manual is just a set of HTML pages, with a Javascript table of contents on the left that doesn’t always work quite as I expect. AccountEdge actually has a nice set of manuals, too, under Help → Manuals. I don’t know how I missed this earlier.

AccountEdge allows me to set up a billing rate per customer (or even per employee), which is very nice. MoneyWorks does not do this, instead requiring me, as with QuickBooks, to set up separate products for different billing rates. For me, differing rates are quite common. It can be hard to raise the rate for long-term customers, or I may wish to charge different rates for different types of work. MoneyWorks Gold claims better support for time-based billing, but it’s also USD$599, more than double the price. Express doesn’t let me enter dates for each line item on an invoice, which I think is important. This is a major strike against.

AccountEdge’s forms editor is awful. It’s impossible to see how objects are layered, and I found that line shapes didn’t show up at all, even when previewed. The first time I tried to customize an invoice, the result that was emailed to a customer was horribly misaligned, though thankfully still legible. A second try produced better results, but it took a lot longer than I expected. Thankfully, this is the kind of thing I hope to do very rarely. MoneyWorks’s forms designer looks quite powerful, offering what looks like a macro language to create the forms. I’ll be honest, though: I didn’t go into this in depth because by this point, after realizing the limitations on time-billing, I’d made up my mind to go with AccountEdge.

AccountEdge can email invoices and statements directly from the application, which is really nice, except that it uses and the first defined mail account. For me, this means that business correspondence goes out using my personal account. That’s unacceptable, so I’m back to doing what I did with QuickBooks: print to a PDF, then compose an email by hand and attach.

One last “weak sauce” moment is with the MoneyWorks user support forums. Trying to be funny, they convert any instance of “MYOB” to “*Four-letter-word accounting software*”. It’s juvenile and unnecessary. To their credit, searches for “MYOB” do the right thing, so if that’s an important part of a search query, at least the right posts will come back.

So, that’s it. It’s early January, 2010 and AccountEdge 2010 was due to come out today. It is not yet available, however. The trial version I have will work for 30 days, and while Acclivity will give me a free upgrade to 2010 if I buy 2009 now, I’m going to hold off and make sure 2010 doesn’t do anything idiotic before spending the money.

Update Jan. 13: One thing I neglected to point out when I published this is that an often-cited reason for using or sticking with QuickBooks is that “my accountant uses it.” I was pleased to discover that both AccountEdge and MoneyWorks make free copies of their software available to accountants in order to read my company file. The same is technically true for Gnucash, but if I’m not thrilled to use it, what are the chances my accountant will be?

Update Jan. 27: First, I received an email from Tom Nash, a managing partner at Acclivity, who told me that they are aware of the mail account issue I noted above. According to Tom, the way it works is somewhat due to how works. If you have multiple accounts, AccountEdge will use the same account that will use if you press ⌘N to start a new message.

Second, I received my AccountEdge 2010 CD and, sadly, the form editor looks exactly the same as 2009. I still don’t see line shapes in the default forms, which means customization will likely still be a difficult trial-and-error process.

The Diminishing Returns of Long Hours

Posted by: on Jan 12, 2010 in Blog | Tags: , | No Comments

A lesson I learned during my years in university and had to re-learn once or twice while working in Silicon Valley is that working long hours is beneficial, but only for a very short period of time. One or two 60 hour weeks is enough, as is even a single all-nighter. When you’re sleep deprived, you don’t make good decisions, and software development is all about good decisions. There is never one solution to a problem. A good engineer picks one of the best solutions through creativity and experience. Sleep deprivation dulls the ability to do either well.

In Don’t be a Hero, Alex Payne makes the additional argument that an individual working these long hours is a sign that your culture has a problem.

Work/life balance is important. These days, I only work long hours if it’s because I made a mistake. Everything I do is, in part, an effort to avoid this: fair and realistic estimates, regular communication with my customers, and not slacking off early in a project.

malloc Debugging

Posted by: on Jan 12, 2010 in Blog | Tags: , | No Comments

Bill Bumgarner posted a nice tutorial on using malloc to debug memory misuse in Cocoa. I’ve run across these before when reading the malloc(1) man page, but it’s nice to have a tutorial that shows how to use them in practice.