Understand tax calculation and shipping charges when assigning shipping groups to sub-items

When assigning taxes and shipping charges for shipping groups assigned to sub-items, you assign different calculating processes from normal customer calculation processes.

Understand the tax calculation process when assigning shipping groups to sub-items

The processes for calculating taxes and shipping charges for shipping groups assigned to sub-items differ slightly than the normal customer calculation process. In summary, the method used is that if sub-items are shipped separately, then the root item and the child items are sent as different items to the taxation system which contains the cost of that item alone and no additional item in the package.

This means that there are two ways that tax calculation occurs with a shipping group. The first way is that the price of the fully configured package is sent to the taxation system as all the items in the product configuration have to be delivered to a single place.

In determining the correct amount of tax payable on a product, the four key parameters passed to the tax calculator are the following:
  • amount - the amount paid by the shopper
  • quantity - the quantity of the item being purchases
  • shipping charge - the shipping charge that has been calculated for the item
  • taxCode - the tax code assigned to the product

For configured items, tax is calculated for each line item in the configuration hierarchy but the amount passed to the tax calculator is always be the external price returned from the configurator for that item, in the context of the overall configuration.

For any configured item, the price of a sub-item may be included in the price of the root item, so that the amount passed to the tax calculator would be zero.

The net result of this is that, although tax will be calculated for each item in the configuration hierarchy, all of the appropriate data will be passed to the tax calculator. It is possible, however, that the amount of tax paid by the shopper may be skewed in circumstances where the configured item contains products with different tax codes.

Understand the shipping charge calculation process when assigning shipping groups to sub-items

To determine the correct shipping charges payable on a product, the key parameters passed to the shipping calculator are the following:
  • shippingMethod - the shipping method selected for the item.
  • quantity- the quantity of the item being shipped.
  • amount - the amount paid by the shopper for the item.

For configured items, shipping charges are calculated for each line item in the configuration hierarchy. The amount passed to the shipping calculator, however, will always be the external price returned from the configurator for that item, in the context of the overall configuration.

For any configured item, the price of a sub-item may be included in the price of the root item, so that the amount passed to the shipping calculator would be zero.

The net result of this is the following:
  • Shipping charges are calculated for each item in the configuration hierarchy and all of the appropriate data is passed to the shipping calculator. It is possible, however, that the amount of shipping charges paid by the shopper may be skewed in circumstances where the configured item price does not accurately reflect the actual proportional amount paid for an item in the configuration hierarchy.
  • Shipping surcharges are included for any item in the hierarchy where such surcharges have been assigned to that product in Commerce.

    Note: The charges are only included for the root item if the whole configuration is sold as a package

  • A merchant can always choose to apply a shipping surcharge for any item where there is a risk that the shopper will be undercharged for shipping when a particular product is purchased as part of a configured item.
  • Shipping surcharges are not considered if any item presents itself in a virtual shipping group as those items are non-shippable and are not required to have shipping surcharges.