Line Item Tax Basis
You can configure an alternative tax calculation for line items in an order with the B2C Commerce APIs (LineItem.updateTax ()) and Business Manager. This feature can be useful if your back-end systems can only handle product-level discounts but a line item requires you to prorate tax across an order.
The line item tax basis eliminates rounding errors and penny-off problems. It also distributes order-level and buy one get one (BOGO) discounts across line items for functions such as returns handling.
With this feature, product line items are taxed according to their prorated price, or the price after order-level and BOGO discounts have been prorated. The order calculation doesn't changeβonly the tax calculation changes. This means that all existing line item attributes, including net price, gross price, and base price, retain their original values. Price adjustments for these items are included in order totals, but retain the tax value of 0.00.
This feature is disabled by default. To use this feature, configure discount taxation in promotion site preferences.The following table describes the tax calculations used when the line item tax basis setting is enabled and disabled:
Site taxation policy | Tax products & shipping only based on adjusted priceβsetting enabled | Tax products, shipping & discounts based on price (default)βsetting disabled |
---|---|---|
Net | tax = taxBasis * taxRate | tax = netPrice * taxRate |
Gross | tax = taxBasis * (1 - (1 / (1 + taxRate))) | tax = grossPrice * (1 - (1 / (1 + taxRate))) |
The tax basis for line items appears in the Business Manager Order module and the data is included in order export.