In Additional Charges section you can create multiple additional charges that are applied per product or per shipping class, instead of per cart as a whole.
When additional charges are calculated, the cart is divided into subsets that represent cart line items with the same product or cart line items with the same shipping class. For a cart line item to be included into a specific subset, it must match all conditions. Additional charges are then based on those subsets, e.g. if cost per quantity unit is set and it is applied to specific shipping class subset, then only quantities of those cart line items that are assigned to that subset will be added and multiplied by the value.
These are not shipping methods - at least one shipping method must exist and match conditions for these charges to be applied. If you base your shipping rates solely on individual products or shipping classes, then you can create a single shipping method with zero amount and no conditions so it is always selected. Keep in mind that additional charges are applied to any matching shipping method.
The following fields are available:
- Charge Per - mode of operation. Each additional charge can be applicable to cart subsets based on product or cart subsets based on shipping class.
- Private Note - used to identify specific additional charges, never displayed to customer.
- Conditions - see below.
- Charges: Shipping cost (fixed charge, percentage of subtotal) - cost per product or shipping class. If cost per product is selected and multiple variations or configurations of the same product are added to cart, this amount will only be charged once for all these variations or configurations (not per variation or configuration). If cost per shipping class is selected and multiple products fall into the same subset, this amount will only be charge once for all of those products (not per product).
- Charges: Handling fee (fixed charge, percentage of subtotal) - handling fee per product or shipping class. This works the same as Shipping cost (see above).
- Charges: Cost per weight unit (fixed charge) - cost per each weight unit (kilogram or pound). By default weight is not rounded but used directly as calculated by WooCommerce by adding up weights of all items in a specific cart subset. Please read the introduction into cart subsets at the beginning of this section of documentation. Weight calculation can be adjusted more in Advanced Settings.
- Charges: Cost per quantity unit (fixed charge) - cost per each quantity unit. Quantities of all cart subset line items are added up and then multiplied by value entered here. Please read the introduction into cart subsets at the beginning of this section of documentation.
Each additional charge can have unlimited conditions. Please refer to section Shipping Methods of this documentation to learn about each condition type. There are subtle differences to how some of the conditions work though:
- General: Subtotal - checks subtotal of particular cart subset (based on product or shipping class) instead of subtotal of the whole cart.
- General: Total weight - checks total weight of all items in a particular cart subset (based on product or shipping class) instead of total weight of the cart.
- General: Sum of quantities - adds up quantities of items that fall within a particular cart subset instead of all cart items.
- General: Shipping class - checks if specific cart subset contains (or does not contain) a specific shipping class instead of checking if the entire cart contains (or does not contain) specific shipping classes.
- Products: Products - checks if specific cart subset contains (or does not contain) a specific product instead of checking if the entire cart contains (or does not contain) specific product.
- Products: Product categories - checks if specific cart subset contains (or does not contain) products that belong to specific product categories instead of checking the same against the whole cart.
- Products: Product attributes - checks if specific cart subset contains (or does not contain) products with specific product attributes instead of checking the same against the whole cart.
- Products: Product tags - checks if specific cart subset contains (or does not contain) products with specific product tags instead of checking the same against the whole cart.
If multiple additional charges match conditions, they are all applied.