Rounding in the application inside AX is determined on the Currency code where you have a ‘General’ rounding which is used in general postings(like a journal) and then specific rounding settings for Sales Orders, Purchase Orders, Prices and Fixed Asset depreciation

There are 3 generic rounding rules in Dynamics AX. ‘Normal’, ‘Upward’ & ‘Downward’

Rounding1

‘Normal’ will round up numbers 5 and higher and round down numbers that are less than 5.

‘Upward’ will round up all numbers

‘Downward’ will round down all numbers

In this blog we will focus on the ‘General’ rounding setting which always uses the ‘Normal’ rounding principle

The ‘General’ rounding in AX uses the generic ‘Round’ function. The ‘Round’ function will round towards a multiple of the decimal value parsed into the function.

What the ‘0.01’ defined on the currency in this context means is that the system will round towards 2 decimals using a factor of 1. (if we had specified 0.001, it would round towards 3 decimals)

Here is an example job that demonstrates how this rounding works in practice

RoundingJob1

Which produces this output

RoundingJobOutput1

This job can naturally be amended to test your own examples

Note that if you did not specify a rounding multiple on the currency, the system will apply a multiple of 0.01. You can see more details on this on the Class CurrencyExchangeHelper\roundWithRule