← All articles

Shopify B2B & the wholesale channel

Shopify Wholesale Pricing: Building the Number Up

By Martin Mecar, founderJuly 27, 20266 min read

Wholesale pricing is built upward from what a unit costs you, not downward from what you charge consumers. The retail price is a useful sanity check at the end, but if it is your starting point you will end up with a trade price that works on a spreadsheet and loses money on a pallet.

The practical shape for a small brand is four numbers in a fixed order: landed cost, wholesale, suggested retail, and later a distributor price below wholesale. Get the first two right and the rest follow.

Start with landed cost, and make it honest

Landed cost is everything it takes to have one sellable unit sitting on your shelf, ready to ship. Not the invoice from the manufacturer. Everything.

For a candle that means wax, wick, fragrance, jar, lid, label, box, the carton it shipped in, inbound freight, any duty, and the labour to assemble it, whether or not you pay yourself for that labour. If you make it in your own kitchen, put a number on the hour anyway, because the day you outsource production that number becomes real and your price needs to survive it.

Two costs get left out almost universally. Damage and shrinkage, because some units break, some get given away and some come back. And the cost of goods on samples, because wholesale runs on samples in a way direct selling does not.

Say the honest landed cost of that candle is seven dollars twenty, including a small allowance for breakage. That is the floor everything else stands on.

The wholesale price and what it has to carry

A common instinct is to price wholesale at twice landed cost and call it done. That works only if the wholesale price is carrying nothing else, and it usually is.

Out of your wholesale price come: freight you agree to pay, which for a small domestic case is a real dent; the cost of terms, because money that arrives in six weeks is worth less than money that arrives today; payment fees on the invoice; the pick, pack and paperwork per order; occasional replacement units for damage in transit; and a share of the samples you sent to shops that never ordered.

Add those up for a case of six at twelve dollars a unit. The case is seventy-two dollars. Cost of goods is forty-three twenty. If you pay nine dollars of freight, that is nineteen eighty left, and the invoice fee, the packing time and a sample allowance can easily take three dollars of it. Call it sixteen or seventeen dollars of contribution on a seventy-two dollar case.

That is a workable channel. It is also a long way from the thirty-six dollars the naive doubling suggested, and the gap is exactly what surprises brands in their first wholesale year.

The ladder, in one worked example

Four numbers for the same candle:

Landed cost, seven dollars twenty. The floor.

Wholesale, fifteen dollars. Roughly double landed cost with a margin of safety for the costs above, and the price you put on the line sheet.

Suggested retail, thirty dollars. Twice wholesale, because most shops in gift, home and apparel work to roughly that spread and a product they cannot double is a product they will not stock.

Distributor, ten to eleven dollars. Only relevant once a distributor asks, and only worth agreeing if the volume genuinely justifies it, because they need their own spread before the shop takes theirs.

Now check the ladder against your own store. If you sell that candle direct at twenty-four dollars, you have a problem: your stockists cannot make their spread at a price the market has learned from you. Either the direct price rises, or the product changes, or wholesale waits. That tension is worked through in wholesale price versus retail price.

When the arithmetic refuses to work

Sometimes the numbers simply do not close, and the fix is never to shave the wholesale price.

If landed cost is more than about a third of your intended retail, the channel does not work yet. Three ways out. Reduce the unit cost, usually by ordering components in larger runs once wholesale volume justifies it. Raise retail, which is easier than it sounds if the product is genuinely better than what sits next to it on the shelf. Or change the unit, by selling a three-pack or a larger format where the packaging cost is spread across more product.

There is a fourth non-answer worth naming: selling below cost to get a first stockist. It never converts into a profitable account, because the price you open with is the price that account expects forever.

Fixed prices, not percentages off retail

Whatever you build in the admin, hold trade prices as numbers.

A price expressed as a share off retail moves every time you change retail, which means a consumer sale silently discounts your stockists, a price rise silently raises theirs without a conversation, and nobody notices either until a quarter has gone. A fixed number in a price list does none of that. The structural version of this, including how many lists to run, is in how to structure wholesale tiers, and the argument against discount-based pricing is in why a price beats a discount.

This also matters for what a buyer sees. Trade buyers compare your line sheet to five others on a desk. A clean number per product with a case pack next to it reads as a brand that has done this before. A percentage off something else reads as improvisation.

Volume breaks, freight and the two levers you actually have

Once the base price exists, there are only two levers worth pulling for larger orders.

The first is a volume break: a lower unit price above a certain quantity. Useful for moving an account from one case to four, easy to overdo, and covered properly in volume pricing on Shopify.

The second is freight. Offering shipping paid above a threshold is often a better lever than a price cut, because it costs you a fixed amount rather than a share of every unit, and buyers respond to it strongly. Set the threshold where a case of that size actually becomes economical to ship, not at a round number.

Deposits are a third, quieter lever. A larger order from a new account can be priced normally and half paid up front, which protects your cash without touching the price at all.

Reviewing the price without losing the account

Prices move. Components go up, a courier raises rates, and a line sheet written two years ago is fiction.

Review once a year, at the same time each year, and tell accounts before the new sheet lands rather than after. Sixty days of notice, a one-line reason, and an invitation to order at the old price before the change turns an awkward email into a small sales push. What breaks accounts is not a price rise; it is discovering one on an invoice.

Keep the one-off deals out of it. If you agree a special price for a large first order, write it down with an end date, otherwise it becomes permanent by accident.

Questions brands ask about wholesale pricing

Is half of retail the rule? It is the convention in most gift, home and apparel categories, and it is a result rather than a rule. The number that matters is whether your cost leaves a margin at half of a retail price the market accepts.

Should the wholesale price appear on the website? Behind a login or on a line sheet, not on the public product page. The reasoning about gating is in the trade login.

Do you charge different prices in different countries? Set each currency deliberately rather than converting, because exchange drift will eat a thin trade margin.

Does a buyer expect the same price as a big chain? No. Small independents expect a small-order price; volume buyers expect a volume price. Making that explicit is what a second tier is for.

How do you know what the market will bear? Look at what comparable products cost on shop shelves, and at which shops stock them. Paste a product link into WholesalePilot and look at the preview of retailers and distributors that carry similar products, then price for the shelf you are actually aiming at.

Find the B2B buyers for your product

Paste a product link. We find matching wholesale buyers, email them in your name, and hand you the replies.

Keep reading