If you type 1,255 on a purchaseline in the field ‘Direct unit cost’ with a proper setup, you’ll get 1,58 in ‘Amount incl VAT’ - if you type another line, you’ll get 1,57 in ‘Amount oncl VAT’. On the next line you’ll get 1,58 and so on! That is: some kind of intelligent rounding - how does that exactly works?? Can anybody give a precise explanation?

Navision has always worked like this. Its designed to basically follwo the general laws of VAT that require the VAT to be calculated on the total of the invoice by VAT groups. Personally I think its carrying the point to an extreme, but thats how it works.

Basically when Navision (say) releases an order to calculate VAT, it takes rounds the first line to the set rounding (typically 0.01 in many countries) and then the remainder is added to the VAT total on the following line. The process continues to the final line where the rounding is now less than tolerance, so can be ignored. On invoices with very small amounts and many many lines, it works great, but sometimes its damn hard to explain to clients.

It was a huge problem in Poland when they revalued the Zloty. Many clients sold items for say 1,500.00 Zlotys, adn a rounding for VAT of 0.1 Zlotys was pretty meaningless, but after valation, the amount changed to 0.15 Zlotys, an the 0.01 rounding now changed the price to 0.16, a huge difference.

I do not recommend removing the code, it works correctly, you just need to explain it to the client. For the Polish customer, I did this by giving them two calculators, one set with rounding to 0.01 and the other set to 8 decimal places. Then had them calculate manually VAT on an invoice on each of the calculators. Of course the 8 decimal calculator gave the correct result, and it was the same as Navision, and they were happy.

The oterh option is to set rounding for base currency to 5 decimals, but I don’t think that is a good solution.

Hi David

Thanks a lot - you have (again!) been a great-great help to me!

Jens