Dropship vs Stocking: Margin, Price Control and Reaction Time
Most stores that buy wholesale end up doing both, usually by accident — a few lines went dropship because a pack size was absurd, a few more because a supplier offered it, and nobody ever costed the difference. It is worth costing, because the two models don't just have different margins. They have different exposure to a supplier price increase, and that difference is larger than the margin gap.
Comparing them honestly means comparing delivered cost
The usual comparison — "the dropship price is $57.75, my warehouse price is $52.00, so dropship costs $5.75 more" — is wrong in both directions. It ignores everything you pay to hold the stocked unit, and everything the supplier charges to ship the dropshipped one.
The comparable number is the cost of getting one unit to one customer:
stocked = landed cost + carrying + pick/pack + your outbound label
dropship = dropship price + per-shipment fee + supplier's freight
Landed cost means the file price plus freight-in, duty and anything else that attaches to the unit before it reaches your shelf — the full list is in landed cost for Shopify stores. Carrying is the annual rate applied to average stock and then converted to cents per unit sold, the same conversion used for pack sizes and MOQ.
Worked: a mid-velocity line
One part, 96 units a year, retail $89.00, sold with free shipping. You hold about six weeks of cover, so average on-hand is 6 units. Carrying rate 20%.
| Cost element | Stocked | Dropship |
|---|---|---|
| Supplier price | $52.00 | $57.75 |
| Freight-in, allocated | $2.10 | — |
| Carrying (6 units × $54.10 × 20% ÷ 96) | $0.68 | — |
| Pick and pack | $1.10 | — |
| Per-shipment dropship fee | — | $4.50 |
| Outbound freight | $8.20 | $9.80 |
| Delivered cost | $64.08 | $72.05 |
Nine margin points. The interesting part is what the $7.97 buys. Only $0.68 of it is carrying cost — the thing dropshipping is supposed to save you. The other $7.29 is the supplier's dropship premium, their handling fee, and the loss of freight consolidation: they ship one unit in one box instead of forty units on one pallet, and someone pays for that.
Where it flips
Now a slow, bulky, high-value line: 6 units a year, retail $549.00, landed cost $340.00, and the shape of the item means you keep about 2 on hand. Bulk storage and obsolescence push the carrying rate to 30%. The supplier ships from a regional DC that is usually closer to the customer than you are.
| Cost element | Stocked | Dropship |
|---|---|---|
| Landed cost / dropship price | $340.00 | $358.00 |
| Carrying (2 units × $340 × 30% ÷ 6) | $34.00 | — |
| Pick and pack / handling fee | $3.00 | $7.50 |
| Outbound freight | $46.00 | $38.00 |
| Delivered cost | $423.00 | $403.50 |
Three and a half points the other way, plus $680 off the shelf. Three things did that, and together they are the general test for whether a line belongs on a dropship program:
- Low velocity. Carrying cost per unit sold is average stock value times the rate, divided by annual demand. At 6 units a year that division is brutal — $34 a unit, against $0.68 on the first line.
- Freight you lose on. If the item is bulky or heavy and the supplier ships from a network with better zone coverage than your single location, their outbound label genuinely beats yours.
- Capital and obsolescence. High unit value plus a spec that can change is exactly what the carrying rate is meant to price, and on these lines the rate is usually set too low rather than too high.
The part nobody costs: reaction time
Held inventory is a hedge against your supplier's price file. You bought at last month's cost, so a rise announced today reaches your profit only after that stock sells through. Dropshipping removes the hedge completely — a cost change lands on the very next order, at a retail price you set last quarter.
Put a 7% supplier increase through both versions of the first line:
| Delivered before | Delivered after +7% | Margin before | Margin after | Price to hold | |
|---|---|---|---|---|---|
| Stocked | $64.08 | $67.76 | 28.0% | 23.9% | $94.11 |
| Dropship | $72.05 | $76.09 | 19.0% | 14.5% | $93.94 |
Both need roughly the same retail move — about 6% — because cost ÷ (1 − target margin) scales the same way regardless of how the unit was sourced. What differs is the deadline. The stocked line gives you up to six weeks of units at the old cost, so the increase is a decision you can take at the next purchase order with the new file in front of you. The dropship line has no runway at all: every order placed after the file changes is at the new cost, and the only lever is retail. How to choose that new price, rather than pass the percentage straight through, is in recalculating margin after a cost increase.
Three costs that only exist on dropship
Beyond the arithmetic, dropshipping moves parts of the business you can't price but do have to live with.
- Availability becomes a cost event. When a stocked line goes short you delay one purchase order. When a dropship line goes short you have already taken the customer's money, and the resolution is a refund, a substitution at your expense, or a wait you have to explain. A stock-status change in the supplier's feed deserves the same attention as a price change.
- Freight changes flow straight through. Your own blended label cost drifts slowly and you can renegotiate it. A supplier's dropship freight schedule changes when they say so, and it lands on every order the same day.
- Returns run on their terms, not yours. Restocking fees, return windows and who pays the return label are set by the program. The cost shapes are the same as in returns, restocking and shrink, but the parameters aren't yours to set.
The one-field problem
If you stock and dropship the same SKU — common, and often deliberate: warehouse for the near region, dropship for the far one — you have two real costs and one cost field per variant. There is no correct answer here, only defensible ones:
- Put the cost you pay on most units in the field and keep the other in your own model. Simple, and your Shopify profit report is systematically off on the minority of orders.
- Blend by expected mix. 70% stocked at $54.78 against 30% dropship at $62.25 gives $57.02. Right on average, matches no invoice, and quietly wrong the moment the mix shifts.
- Split the SKU into two variants with two costs. Honest reporting, more catalog to maintain, and worth it only when the volume on both sides is material.
Whichever you pick, write it down and apply it the same way to every line — the same discipline that makes a cost method useful in the first place. A blended figure nobody documented becomes, six months later, a number nobody can reproduce or defend.
A rule that survives review
| Line profile | Default | Why |
|---|---|---|
| Fast, small, stable spec | Stock | Carrying is pennies; consolidated freight-in is a real discount |
| Tail, small, cheap | Stock | Cheap to hold even at 12 months of supply; price at effective cost |
| Slow, bulky, high value | Dropship | Carrying per unit sold dominates; their freight beats yours |
| Dated, seasonal or supersession-prone | Dropship where the program allows | Obsolescence risk transfers to the supplier |
| Anything you compete on for delivery speed | Stock | Lead time is the product; the margin gap is what it costs |
Then re-test the exceptions once a year rather than never. A line that was slow enough to dropship last year and now sells forty a year is a line paying a $7-a-unit premium out of habit, and the only place that shows up is a margin report nobody reads by SKU.
Check the file against your real margins
Drop a supplier price list and your Shopify product export into the free Supplier Price Margin Checker: cost movement per SKU, margin at your current retail, and a suggested price to hold your target — matched by SKU, entirely in your browser.
Open the free checker ↗