Accounting question - when to round

Joined
Dec 16, 2022
Messages
698
Here is a fictitious invoice for some car parts. "HST" is a tax here in Canada at 13 percent. Note how the line items have amounts which are greater than 2 decimals and the question is, at what point in the calculations do we round to two decimals?

Option 1) round each line item amount and add to subtotal, calculate hst on rounded subtotal, or
Option 2) add raw line item amounts to subtotal, calculate hst (leave unrounded), add raw subtotal to raw hst to get total, then round hst and subtotal

Question is more of a "how does this work on paper". I know accounting programs have this figured out, I'm just wondering when the rounding is applied.

invoice.jpg
 
I'd do exactly what you did (option 2) and round up the third decimal at the end - as long as the decimal points in the equation isn't ridiculously long.
 
If HST is a sales tax to be applied to the customer's price, then whatever rounding you may do before computing the sub total is only what you've internally decided to charge for the goods-- it doesn't matter to the tax man. A pure sales tax is exactly a percent on what the customer pays.
 
Look up "Bankers rounding."
CAD software, among other software I'm sure too, use different rounding from what we learned in school. What we learned is just one method of rounding. Other methods factor in weight or fairness across the numbers. By that, what we learned was this:

0 = no rounding
1, 2, 3, 4 = round down 5, 6, 7, 8, 9 = round up
Apparently software (including the ROUND function in spreadsheets) will round 5 up or down randomly.
 
CAD software, among other software I'm sure too, use different rounding from what we learned in school. What we learned is just one method of rounding. Other methods factor in weight or fairness across the numbers. By that, what we learned was this:

0 = no rounding
1, 2, 3, 4 = round down 5, 6, 7, 8, 9 = round up
Apparently software (including the ROUND function in spreadsheets) will round 5 up or down randomly.
This. 5 or 50000000000000000000000000000000000 or 500000000000000000000000000000000000000000000000000000000000001 should be up
 
CAD software, among other software I'm sure too, use different rounding from what we learned in school. What we learned is just one method of rounding. Other methods factor in weight or fairness across the numbers. By that, what we learned was this:

0 = no rounding
1, 2, 3, 4 = round down 5, 6, 7, 8, 9 = round up
Apparently software (including the ROUND function in spreadsheets) will round 5 up or down randomly.

This must be dependent on the software, none of the software I've written rounds 5 randomly. I've used "round up" and "round even" which I understand to be the bankers rounding method.
 
In analytical chemistry testing we want to only round once at the end. We would do option 2. We basically do what Excel wants to do because it's easier than trying to fight Excel. We've had long, comical meetings about rounding and significant figures at work. I'm an accounting drop-out so I'm not sure about money rounding.
 
In analytical chemistry testing we want to only round once at the end. We would do option 2. We basically do what Excel wants to do because it's easier than trying to fight Excel. We've had long, comical meetings about rounding and significant figures at work. I'm an accounting drop-out so I'm not sure about money rounding.
Yup, carry as many places as possible through to the end, and then round to the appropriate number of significant figures.
 
This must be dependent on the software, none of the software I've written rounds 5 randomly. I've used "round up" and "round even" which I understand to be the bankers rounding method.
We ran into what we thought were errors or a "bug" before someone explained this. I worked for a large pump manufacturer and used Imperial, i.e. "inch", units for our designs (ANSI standard and legacy designs) but we had overseas operations as well that needed drawings in metric. At the time, we used Solaris workstations so this wasn't AutoCAD.... Well, someone developed a converter that a) converted inch to mm and b) dropped 1-decimal place precision on the metric unit. A common value we had (in tolerances) was 0.005" which is 0.127 in millimeters and through that converter becomes 0.13. This tool would make one value 0.13, the next 0.12, the next 0.13, and so on. 🤨
 
Obviously it depends on your goals. If its currency you use bankers rounding. If you are doing currency without bankers rounding expect to lose your shorts. Literally.

The most common mistake I see is amateur programmers using the wrong variable types, or mixing different types.
 
Yup, carry as many places as possible through to the end, and then round to the appropriate number of significant figures.

It's not quite as simple though. Doing this with an invoice, it's possible (in theory) to display a tax and subtotal amount which differs by pennies, from the "displayed"/formatted invoice line items.

This is why I asked the question. If somebody adds up the line items in the report, and then calculates HST manually from those formated line item amounts, they might calculate a different HST and/or total amount than the one displayed in the totals section, all because of when we choose to round.

Obviously it depends on your goals. If its currency you use bankers rounding. If you are doing currency without bankers rounding expect to lose your shorts. Literally.

The most common mistake I see is amateur programmers using the wrong variable types, or mixing different types.

Agreed, I use "round even" for currency (again, pretty sure that's the bankers method). But see above, my question is when is the rounding function applied.

I lean towards option one despite everybody saying here do rounding once (option 2). And that's because if a user manually calculates the taxes and subtotals, they need to end up at the same penny precision, but that's not always the case when you round once at the end and then display rounded values in the line item report.
 
Imagine if someone said “It’s chill bro. I’ll pay you for the M4 fifty cents at a time, using bakers rounding.”

.5 is 0 using bankers rounding, right?

That's a cherry picked example. If you use .4 then your issue remains regardless of which rounding method you pick.

bankers rounding is the most accurate when you do lots of cumulative sums etc.
 
This was the plot of Office Space where people writing software for banks devised a rounding scheme which would always round down and "drop" transfer the fraction of a penny into a secret account that they controlled. Do that millions of times it will add up.
 
This was the plot of Office Space where people writing software for banks devised a rounding scheme which would always round down and "drop" transfer the fraction of a penny into a secret account that they controlled. Do that millions of times it will add up.

This kind of happens in real life too. Just look at wall street and the battle for shaving milliseconds of transaction times.


 
I am confused. Are you actually selling him lug nuts at 10.37614 per unit. Or 10.38?

Any ERP system I have had to use - which have always been B2B so maybe different - the discounted price was rounded to the penny (using bankers rounding) per line - and any taxes duties or tariffs applied to the invoice total - which presumably was then rounded somehow.

I think.

I am not an accountant.
 
I am confused. Are you actually selling him lug nuts at 10.37614 per unit. Or 10.38?

Any ERP system I have had to use - which have always been B2B so maybe different - the discounted price was rounded to the penny (using bankers rounding) per line - and any taxes duties or tariffs applied to the invoice total - which presumably was then rounded somehow.

I think.

I am not an accountant.

Yes, 10.37614 per unit. (most values will likely be at the nearest cent but there are cases where it isn't).
 
Back
Top