Welcome to the world of cents and dimes! Sometimes, as accountants and business owners, every last cent counts. Unfortunately, you can get into situations where we can’t find that last cent. Well, it could easily be our fault. In Saasu, you will sometimes see differences of a cent or more where you would expect two numbers to match. There are several legitimate reasons for this which can’t necessarily be removed entirely:
High levels of decimalisation
Means that data is stored in Saasu sometimes down to 6 decimal places. Typically, it’s foreign currency or inventory-based amounts that require this level of decimalisation. Totals in screen sometimes have to round these numbers. Then other numbers are calculated based off these rounded numbers. We could do the calculations off unrounded numbers but then we need to display all the decimals to make it keep it consistent with that level of detail – and that can look ugly.
Roll-up of rounding in totals
Lots of small transactions when summed from rounded numbers can generate a difference to total numbers in a report. The data being used in the reports comes from the same source so consequently, from an accounting point of view, it’s generally balanced. On screen, it can appear to be out by a cent. Sometimes it can be out by more if lots of transactions are involved and we are creating a total amount to display on the screen.
Rounding differences in tax amounts
May occur due to Saasu using what’s called the Line Items method of working out tax on each line in a transaction. Some systems use the Gross Taxable method (e.g. MYOB). An example is when you receive an invoice from a supplier, the total GST in it may not match the GST in the purchase invoice you raise in Saasu. Another example would be when you try to calculate the GST on the invoice total, it may not turn out to be exactly 10% of the invoice total. This is because the GST was calculated on each line item and rounded to two decimal places before adding them up to get the final total GST value. Consider the following example;
|Line Item 01||G1||$14.25|
|Line Item 02||G1||$25.26|
|Total exc GST||$39.51|
|Total inc GST||$43.47|
If you try to calculate the GST on the total amount, it would round up to 3.95. As you can see it is in fact 3.96, because the actual GST amounts for the line items are 1.43 and 2.53 after rounding to two decimal places(away from zero). Please note rounding is an issue all accounting systems experience one way or the other, regardless of which rounding method is used.
Include the rounding methodologies adopted. In our case, we use the standard Microsoft SQL server rounding implementation used by thousands of financial services businesses around the world.
It’s hard for us to achieve a perfect result. In fixing one situation, we actually cause a problem for people in another. That is, it is essentially unsolvable for all requirements. We can solve the problem to a degree by forcing 2 decimals on our customers. However many businesses deal in micro payments and need at least the third decimal. Several inventory, commodity-based or multi-currency business models need high levels of decimalisation also.
For example, an inventory item called SMS is set up and costs 18.5 cents (being 0.185). Saasu’s:
- screen will display 0.19 on several screens and reports that round to 2 decimals.
- database will be storing 0.185.
Extra decimals are critical for very high volume turnover inventory items – Typically commodity and virtual items. A side effect of this is that you may see, for example, two SMS transactions added together to equal 0.37, while the onscreen result would imply it should be 0.38 cents and can generate a difference. This can affect the sales list screens, reconciliation reports, and other areas. However, generally being a display issue, it resolves itself because these two separate transactions end up forming one part of an aggregated historical account balance or an amount in a report.