Looking at the code, here is the explanation why this error is raised. (below statements are Microsoft's comments in code)
'if the broken down variance differs from the variance on InventTrans´
// Two things can contribute to the rounding:
// 1.) On each inventTrans record we can have a delta of 0.01
// 2.) For each settlement, we can have a delta of 0.01
// ==> The number of transactions needs to be counted and if there are settlements,
// they need to be added as well.
It's a combination of rounding off allowance and variance from InventTrans. Does this help?