When working with extended monetary amounts, B2B Commerce will always round down the price. For example, $64.285 or $48.345 would end up as $64.28 or $48.34, resulting in consistently presented numbers that are added to a total. This rounding behavior is consistent with Auth.NET's rounding rule, preventing any pricing errors where what is displayed in the ERP is not equal to what is displayed on the storefront.
To provide more specificity, the following behavior is to be expected:
- Total Regular Price (Unit Price times Quantity Ordered) and Total Net Price (total regular price minus any line level promotions) are rounded before being saved to the database.
Cart Level (also referred to as the Order Level)
- The following Order/Cart fields are rounded before being saved to the database:
- Shipping Charges (net of promotions)
- Handling Charges
- State Tax
- Local Tax
- Other Charges
- Tax Amount
- Order Total
- The Order Total always reflects the sum of the line totals from each order line, plus any other charges, such as order level promotions, shipping, taxes, or handling, to get a consistent total.
- Rounding always happens "as late as possible." For example, if several promotions are applied, each using a different percentage, the final result will be rounded vs. rounding each intermediate result.