Wednesday, 30 May 2007

Penny Differences

Rounding errors can be the bane of an accounting system. What do I mean?

  • A client called to say that foreign exchange gain / loss calculations were leaving a penny in his accounts receivable invoices when payments were applied. I wasn't too worried about it until he showed me his receivables report: pages and pages of penny after penny. [Mental note: when a client is concerned enough to call, take them seriously!]
  • A charity client gets 50% of GST back so we split the then 7% GST into a 3.5% expensed tax and a 3.5% refundable tax. With rounding to the penny, there were frequently penny differences between our calculation and the vendor invoices, which just did the 7% calculation.
Problems like this are a thorn in the side of the data entry staff. They create unnecessary work and are just plain frustrating.

What can be done? Maybe nothing. It may be that you don't have the ability to change the software to correct the problem, so you have to devise a work around, like a utility that periodically sweeps the tables and deals with penny differences. In any event, early detection is key to minimizing the problem.

Start with proper system testing. There is a tendency to test the system with invoices of $1,000 or some equally round number. That can hide rounding issues. Instead, take a stack of at least 20 copies of real invoices and credit notes and enter them exactly as they came. That will make your testing more realistic and is more likely to flush out issues.

If you can influence the process, avoid having the same calculation performed more than once. For example, a company had an invoicing module that was independent of its accounting system. When the invoices were imported, the accounting system recalculated the taxes, resulting in rounding differences. To avoid penny differences, the invoices should have been imported without recalculation.

Finally, ensure that the same algorithm is used throughout, so that one system doesn't round down while the other rounds up.

Penny for your thoughts . . .