Skip to main content

QuickBooks

Starting your own business makes you learn how to play many roles: project manager, consultant, marketing department, technical support, “executive”, and – worst of all – accountant.

I say that because I really, really, really hate accounting. Maybe I just had a bad experience in college, and could never really appreciate it. Perhaps I’m even a bit ignorant about it. In any case, there’s software out there to help someone like me. Right?

I bought QuickBooks based on several recommendations from co-workers. The folks at Intuit have done a tremendous job! That is, if their job was to create the most un-user friendly, non-intuitive, archaic piece of software.

I don’t even know where to start. They tried way too hard to over-engineer the UI. Everything is “cute”, with arrows, icons, and more reminders than I care to mention. In an attempt to account for every possible “use case”, they have created something that is far less usable than intended. All I need to do is send out invoices, write checks to myself and receive payments. And no matter how hard I try, it takes me longer to execute this process each time.

A lot can be learned from this when writing your own applications. Give the user what they typically expect, not what they may possibly want on a rainy Tuesday morning. Exceptions are just that: exceptions. Since they happen less frequently, they will warrant a little extra effort. But if the exception becomes the rule, then its time to re-design.

Steve Johnson from Pragmatic Marketing summed it up in a class which I took with him months back: “But what if the cat jumps on the keyboard? We have to account for that in the code!” You do not and should not.

Maybe there is room in the market for an HTML DB accounting package…

Comments

Anonymous said…
I can certainly sympathise with your experiences, I've never been able to find an accounting package/system that suits my needs (and I've been looking for about the last 8 years!). Some of them come close, but seem horrendously complex and seem to rely on people using them "day in day out" rather than "every so often when I need to".

Ahhhh well, one day I'll also write an HTMLDB app to simplify my (accounting) life ;)
Scott said…
After about 1 hour, I finally ended up figuring out how to back out a payment. Of course, I had to restart Quicken for come reason in order for this to work.

I guess I now know how an beginner to Oracle feels... :)

- Scott -
Anonymous said…
The situation is furthur complicated for me since I took the decision to Mac'ify (that should be a word!) myself after buying an Apple Powerbook a few months ago.

I can run about 95% of the applications that I need to under OSX but unfortunately the last 5% (such as a decent payroll application) I can't find good OSX versions for, so I'm forced to suffer the misery of using Microsoft Virtual PC (it's horrendously slow for me when compared to VMWare).
Colin Sheppard said…
Your experience is identical to mine. I have quickbooks and thought about making a HTML DB application too. What should I/we do?
Scott said…
Maybe read the QuickBooks manual. :)
Colin Sheppard said…
I thought you wanted to use HTML DB to make a 'simpler' interface than the one provided by Quickbooks? And that: "Maybe there is room in the market for an HTML DB accounting package…"
Scott said…
It's all about (lack of) time...

Sure, I'd love to build it in HTML DB, but I just don't have the time right now...

- Scott -
Colin Sheppard said…
I have noticed (based on a very brief search) this as a good discussion thread on the topic of Open Source Accounting Software:

http://www.jimohalloran.com/2004/04/22/open-source-accounting-apps/

What is interesting, is that some of the posters/users are looking beyond accounting and thinking about integration or features that lead into ERP, CRM, SCM, etc.

Would it be good to suggest to Oracle that they sponsor an Open Source project, using HTML DB, for this purpose? I think it would do wonders to get HTML DB beyond the Spreadsheet, MS Access conversion, Web enablement of a Oracle Database scope. I feel that HTML DB is too much 'vanilla' in its current form mand needs some good applications ('content' to use the term loosely) to compliment its Oracle XE and Raptor initiatives.
Scott said…
Would it be good to suggest to Oracle that they sponsor an Open Source project, using HTML DB, for this purpose?

Good luck with that.

I think it would do wonders to get HTML DB beyond the Spreadsheet, MS Access conversion, Web enablement of a Oracle Database scope. I feel that HTML DB is too much 'vanilla' in its current form mand needs some good applications ('content' to use the term loosely) to compliment its Oracle XE and Raptor initiatives.

I think if you take a look at what people are doing with HTML DB, it's not all MS Access & Excel conversions. I've seen a tremendously wide range of applications out there - from the very simple to the extremely complex.

Sure, it would help if there was some sort of COTS-type application built in HTML DB, but I don't believe that this is a requirement for the overall success of the product. It was designed to make web development easier - and thus far, has been tremendously successful in doing so.

Thanks,

- Scott -
Anonymous said…
Hey Scott, I designed some HTMLDB Accounting stuff. I've been looking at integrating it with quickbooks, since my company has been using quickbooks before we designed the database, but alas, have had little luck. We do both accounts payable, and accounts receivable in HTMLDB, print up invoices and billing statements, and then enter them into quickbooks, and print the checks from quickbooks.

-Scott
Scott said…
Scott,

Interesting...

I imagine that if you own the code, you can adapt it to your processes, chart of accounts, etc.

Making it more generic may be a challenge, don't you think?

Thanks,

- Scott -
Anonymous said…
I agree, making something like that application generic enough (for example) to handle the UK VAT laws would be extremely challenging. You would have to either put in all the localization logic yourself, or rely on the end-user entering all the parameters themselves (tax year end dates, tax rates etc), which also puts the burden onto them to "get it right".

Don't get me wrong however, I'd love to be using an HTMLDB based accounting package.
Anonymous said…
On the topic of good UI Design, check out the books:

User Interface Design for Programmers
by Joel Spolsky

Don't Make Me Think
by Steve Krug

BOTH applicable to HTML-DB applications!
Anonymous said…
I actually just found out that the latest version of Quickbooks has a native ODBC driver, which should allow Oracle connectivity. Once we get our hands on the upgrade, I'm going to work on getting it set up so my database can write directly to quickbooks for invoicing and billing.
Scott said…
I actually just found out that the latest version of Quickbooks has a native ODBC driver, which should allow Oracle connectivity.

Very interesting. I'm finding that I need to track time differently for each client (not a surprise), and this points more and more to an ApEx solution. Also, for Requirements tracking, I am in the process of building something as well.

Unfortunately, QuickBooks is still a necessary evil, as it still makes a good repository for invoices & tax data.

- Scott -
Anonymous said…
All of our AR and AP is order based, and the DB tracks it. The check writing and tax info is done through QB (though I think Oracle has some software similar to QB, not 100% sure). So, When bills (for payable) or invoices (for receivable) are generated, we should be able to populate the amounts right into quickbooks. I need to play around with it before I'm 100% sure though.
Scott said…
Please keep me posted as to your progress, and I'd be interested to hear if you can make it all work. Best of luck!

- Scott -
Anonymous said…
So what ever came of this? I need to do some time acounting and billing.
Anonymous said…
Hi,
Would it be possible to review the Quickbooks Dashboard and share your opinion

I think this would be a very useful tool for Quickbook users and can save them lot of time from running various reports

Thanks and Regards
Nilesh
http://www.infocaptor.com
(PS: I am also an ex-oracle :) )
Scott said…
Nilesh,

Unfortunately for you, I run Quickbooks on a Mac, so I cannot install your product. It does look interesting, and should you ever release a Mac version, please keep me posted.

Thanks,

- Scott -

Popular posts from this blog

Custom Export to CSV

It's been a while since I've updated my blog. I've been quite busy lately, and just have not had the time that I used to. We're expecting our 1st child in just a few short weeks now, so most of my free time has been spent learning Lamaze breathing, making the weekly run to Babies R Us, and relocating my office from the larger room upstairs to the smaller one downstairs - which I do happen to like MUCH more than I had anticipated. I have everything I need within a short walk - a bathroom, beer fridge, and 52" HD TV. I only need to go upstairs to eat and sleep now, but alas, this will all change soon... Recently, I was asked if you could change the way Export to CSV in ApEx works. The short answer is, of course, no. But it's not too difficult to "roll your own" CSV export procedure. Why would you want to do this? Well, the customer's requirement was to manipulate some data when the Export link was clicked, and then export it to CSV in a forma

Refreshing PL/SQL Regions in APEX

If you've been using APEX long enough, you've probably used a PL/SQL Region to render some sort of HTML that the APEX built-in components simply can't handle. Perhaps a complex chart or region that has a lot of custom content and/or layout. While best practices may be to use an APEX component, or if not, build a plugin, we all know that sometimes reality doesn't give us that kind of time or flexibility. While the PL/SQL Region is quite powerful, it still lacks a key feature: the ability to be refreshed by a Dynamic Action. This is true even in APEX 5. Fortunately, there's a simple workaround that only requires a small change to your code: change your procedure to a function and call it from a Classic Report region. In changing your procedure to a function, you'll likely only need to make one type of change: converting and htp.prn calls to instead populate and return a variable at the end of the function. Most, if not all of the rest of the code can rem

Logging APEX Report Downloads

A customer recently asked how APEX could track who clicked “download” from an Interactive Grid.  After some quick searching of the logs, I realized that APEX simply does not record this type of activity, aside from a simple page view type of “AJAX” entry.  This was not specific enough, and of course, led to the next question - can we prevent users from downloading data from a grid entirely? I knew that any Javascript-based solution would fall short of their security requirements, since it is trivial to reconstruct the URL pattern required to initiate a download, even if the Javascript had removed the option from the menu.  Thus, I had to consider a PL/SQL-based approach - one that could not be bypassed by a malicious end user. To solve this problem, I turned to APEX’s Initialization PL/SQL Code parameter.  Any PL/SQL code entered in this region will be executed before any other APEX-related process.  Thus, it is literally the first place that a developer can interact with an APEX p