Building Accounting Software Tips

* Use standard double entry accounting/bookkeeping (debits and credits) as the basis for your financial engine. You will find this will serve you well when it comes to not only storing data on transactions but also generating reports. Assets = Liabilies + Equity is a tried and true approach for tracking who owns what.
* Use decimal types for money.
* Use transactions.
* Keep the interface as simple as possible.
* You will need to have a method to allow the user to reconcile the bank records with their own records. Pulling in bank data would help this process but you will need to provide the user with a method to compare. You can use bank statements for this process.
* The bank is always considered to be right. If there is a discrepancy between the bank and the user records… the fault almost always is with the user records.
* Make sure you provide some sort of backup facility for the user
* Secure the users data
* Make sure you fully understand the process you are automating. Do not make assumptions. Run your ideas by an accountant who specializes in personal finance. Having this vetting will help quite a bit.
* Be prepared to write A LOT of code. Accounting software has been around for years, the list of “standard features” for a typical accounting package has grown, and there are quite a few players in the market. If you are planning on selling this product you will need to provide those standard features and then find some way of differentiating it from what is already available with additional features.
* Make sure there is an audit trail of all transactions within your system
* Make sure that every transaction within your system records the timestamp and username of a person who created it
* TEST TEST TEST and TEST again. You are keeping records of peoples personal financial transactions (their money). Errors are not taken lightly.

One Response to “Building Accounting Software Tips”

  1. Pavel Ahanouski on June 3rd, 2009 at 4:52 pm

    What is a better database structure for Accounting applications — based on one or two journal entry tables?

    I have seen both designs, having two tables seems to be more resource intense, but easier to understand (more logical)

Leave a Reply

You must be logged in to post a comment.