less than a minute read • Updated 23 days ago
Handling Fees Overview
How handling fees work: four calculation methods per category, how they combine with shipping rates, and how they apply to subscription renewals and custom shipping code.
Overview
Handling fees let you add extra charges on top of other shipping costs for a specific product category. Like flat rates, handling fees are configured per category. Unlike flat rates (which are a standalone shipping method), handling fees are added on top of live rates or flat rates. Handling fees do not apply if a category's delivery type is set to "no shipping."
Handling fee types
When configuring a category's handling fee, you can choose from four calculation methods:
Flat fee per shipment — a single fixed fee applied once when the cart contains any products from this category.
Flat fee per product — a fixed fee multiplied by the number of products from this category in the cart.
Flat fee per shipment + percentage of price — a fixed fee plus a percentage of the total price of products in this category.
Flat fee per shipment OR percentage of order total (whichever is greater) — Foxy calculates both and applies the higher amount.
How handling fees combine
Handling fees are added to the shipping total alongside any live rates and flat rates from other categories. They're not displayed as a separate line item to the customer; they're folded into the combined shipping cost.
Handling fees and subscriptions
Handling fees apply to subscription renewals in the same way they apply to one-off orders. Because the fee is part of your category settings rather than something saved onto each individual subscription, every renewal is calculated using your current configuration.
This means changes reach your existing subscribers automatically. If you add a handling fee to a category, or change the amount on one, subscriptions containing products from that category will use the new amount from their next renewal onward — you don't need to edit each subscription individually. This is different from an item's price, which is stored on the subscription itself and has to be updated per subscription.
Handling fees and custom shipping code
If you're using Custom Shipping Code to add rates with rates.add(), those custom rates do not automatically include handling fees or flat rates from other categories. The API provides helper methods (rates.addHandling(), rates.addFlatRate(), rates.addHandlingAndFlatRate()) to explicitly include them, and corresponding remove methods if you need to strip them out. See the Custom Shipping Code API Reference for details.