Invoice item amounts are calculated and stored with 11 digits of precision for both transactions and taxes. When billing occurs each invoice item is individually rounded to the precision set on the currency which is typically set to two decimal places (see the owner configuration screen for currency configuration settings).
Each invoice item amount is midpoint rounded using a floating carry algorithm which carries forward the positive or negative amounts left over after rounding occurs. The positive or negative carry forward amounts from previous invoice items are applied to the next invoice item, ensuring there is no revenue leakage for charges amounting to less than a cent in value,
Invoice items rounded down to a value of zero can be hidden on invoices if desired using the ‘Hide Zero Value Invoice Item’ setting when configuring invoice or credit note templates.
Rounding amounts during rating is governed by the configuration on rate groups. The number of decimal places to round the rated amount to is configured on the group using the ‘Amount Precision’ setting. The rounding behavior is configured by setting the ‘Amount Rounding Type’ value (Round Up or Round Half Up).
Global usage precision and rounding type settings can be specified on an owner as well, under the Mediation & Rating section. These owner settings are used in the event a rate group exists without an amount precision or rounding type configured.