In plain words
Fulfilment cost is what your warehouse and carrier charge to get an order to the customer. That covers a base fee to pick and pack the order, a smaller fee for each additional item picked, the box and fill, and the shipping label.
The grain is what matters. Some costs are charged once per order, some once per parcel, some once per unit. A three-unit bundle pays one base fee and one label but three picks. A gift adds a pick but no label. Counting every fee per unit, or every fee per order, gets bundles and gifts wrong.
Formula
- Fulfilment = pick and pack (per order) + extra pick × (units − 1) + packaging (per parcel) + label (per parcel)
Worked example
One bag is fulfilled for $1.18 pick and pack, a $0.50 box and a $7.50 label.
Three bags in one parcel pay the same base fee, box and label, plus $0.40 for two extra picks. Per bag, fulfilment falls to roughly a third, which is most of why a bundle can be discounted and still earn more per order: the engine puts the three-bag order's margin at $48.06 against $15.36 for one bag.
The example order
A $40.00 bag of coffee, shipped free, every cost counted
2 declared kinds cost nothing on this option
| Step | Grain | Amount |
|---|---|---|
| Revenue | – | $40.00 |
| cogs | per unit | −$12.00 |
| pick_pack | per order | −$1.18 |
| packaging | per parcel | −$0.50 |
| shipping | per parcel | −$7.50 |
| processing_fixed | per order | −$0.30 |
| refunds | percent | −$2.00 |
| processing | percent | −$1.16 |
| Gross margin | – | $15.36 |
| 2 kinds costing nothing | – | $0.00 |
Computed by the margin engine in Offer Suite's own code, in whole cents, from a $40.00 bag of coffee with a $12.00 unit cost.
Fulfilment cost is not shipping revenue
What you charge the customer for shipping is revenue. What the carrier charges you is cost. A free-shipping offer changes the first and leaves the second alone. It is a revenue decision, and it should be priced as one.
Using it
Get the grain right from your warehouse contract: which fees are per order, per parcel, per unit or per extra unit. Then price bundles and gifts with it. A contract that charges per unit makes bundles less attractive than one that charges per order, and a gift that needs special packing can cost more to handle than to buy.
In Offer Suite
Offer Suite's engine counts every cost kind exactly once, at its grain: per unit, per parcel, per order, or as a percentage of revenue. A per-parcel kind on a three-pack is counted once and a per-unit kind three times.
Source: Offer Suite's margin engine (packages/engine), its cost grains.