Welcome to the world of cents and dimes! Sometimes as accountants and business owner every last cent counts. Unfortunately you can get 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 basis 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 GST $3.96 Total inc GST $43.47
- Technical reasons 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.
In summary 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.