ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides8 min read

Selling by weight on Shopify: what the platform can and can't do (November 2026)

Shopify displays unit prices like $/kg but can't charge by weight as of November 2026: a decision table of workarounds plus worked margin arithmetic.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

"Can I order 350 g instead of your 250 g bag?" Every coffee roaster hears some version of that question, and the short answer, as of November 2026, is that Shopify will happily show that customer a unit price — $51.60 per kilogram, say — but it cannot weigh anything at checkout. There is no scale integration and no fractional-quantity checkout: a customer buys a variant, and a variant is a whole unit. This piece separates what the platform genuinely does from what it doesn't, compares the three workarounds merchants actually run, and works the unit-price and margin math on a 250 g bag so you can see the trade-offs in dollars.

Fabric sellers live in the closest gray zone to this — selling the same product by length, by weight, or by pre-cut piece — and the fabric store inventory guide covers that weight-versus-length boundary along with case-versus-each units of measure. Here we stay on the weight-selling workflow itself.

What Shopify does natively: unit price display

Shopify has a native unit-price display: you supply the product price and a base unit, and the product page shows the per-unit equivalent — the Shopify Help Center's own example is a $50.00/kg style price tag (Shopify Help Center, "Unit price", accessed November 2026). For a 250 g coffee bag retailing at $12.90, the setting divides $12.90 by 0.25 kg and displays $51.60/kg on the storefront.

That display exists for comparison shopping. Grocery-trained customers expect to see a per-kilo price next to a package price, and for consumables it moves conversion — the customer comparing your 250 g bag against a competitor's 1 kg bag can do the arithmetic at a glance instead of trusting your pricing to be fair.

The limits are equally clear: the unit price is informational. It's a displayed ratio, not a pricing mechanism. Checkout charges the variant's price exactly, and the customer can't type "350" into anything.

What it can't do, as of November 2026

Verified against Shopify's own documentation as of November 6, 2026:

  • No scale integration. Nothing in checkout or POS weighs an item and prices it from that weight.
  • No fractional-quantity checkout. Quantities are whole numbers of a variant. "0.7 of a variant" is not a thing the cart can hold.
  • Inventory is counted in units, not kilograms. The inventory system decrements by variant sold. It has no concept of "we had 12.4 kg and now we have 11.9 kg."

The product weight field you fill in on every variant feeds shipping-rate calculations — it determines what carriers charge you and what weight-based shipping rates trigger — but it never gates or meters how much a customer can buy (Shopify Help Center, weight-based shipping rates, accessed November 2026). Community threads asking for true by-weight checkout have run for years without a native answer (Shopify Community forums, accessed November 2026), which is its own signal: if it were coming soon, it would likely have shipped by now.

Three workarounds, compared

Approach Customer sees Inventory tracks Fits when Breaks when
Fixed-weight variants 250 g / 500 g / 1 kg as separate options Unit count per variant (bags) Most consumable sellers — this is the default for a reason Demand skews toward amounts you don't stock; SKU sprawl as the size list grows
Weight bands as "virtual units" "Per 100 g" priced as multiples — quantity 4 = 400 g Count of 100 g units One homogeneous commodity with a narrow price range The virtual unit never matches shelf reality; drift shows up as shrinkage
Weigh outside Shopify Quote, invoice, or in-person price Nothing automatic B2B accounts, local pickup, bulk orders at markets No self-serve checkout; every order needs manual reconciliation into Shopify

The band approach deserves its caution note. Suppose you stock 12.4 kg of a commodity and sell it as 100 g virtual units — 124 units in the system. Sealed bags never weigh exactly 100 g; a bag sealing at 104 g consumes four unrecorded grams. After 100 bags, the scale says 400 g less than the system does, and none of it was stolen — the unit of measure is simply fiction at the gram level. That's the same unit-of-measure trap fabric sellers hit at the bolt-versus-metre boundary, and the cure is the same: count inventory in the unit you actually seal or dispense.

The inventory math: kilos in, bags out

Whatever the storefront sells, your supplier sells in bulk weight — so the real work happens at receiving, converting kilos into selling units. Here's the worked version for the coffee roaster, all numbers illustrative; the roastery side of that conversion — two ledgers, roast loss, dating — is its own vertical guide, the coffee roaster inventory guide:

Buying: one 60 kg sack of green coffee, $210 → $3.50 per green kilo.

Roasting: roast loss is roughly 15% by weight (moisture burn-off), so 60 kg green becomes about 51 kg roasted.

Packaging: allow 1 kg for floor sweepings and bag filler error → 50 kg sellable → 200 bags × 250 g.

Cost per bag: $210 ÷ 200 = $1.05 green cost, plus an estimated $0.85 for roast labor, bag, valve, and label → $1.90 landed cost per bag (estimated, and simplified — it excludes freight allocation and energy).

Retail: $12.90 per bag → margin of $11.00, and the unit-price display works out to $12.90 ÷ 0.25 = $51.60/kg.

The allocation step merchants skip: if you also sell a 1 kg variant, Shopify will not know that one 1 kg bag empties four 250 g bags' worth of stock. Stock each variant separately and allocate deliberately: 50 kg = 160 × 250 g bags (40 kg) + 10 × 1 kg bags (10 kg) → 160 + 10 = 170 units across two variants, and the arithmetic closes. Every new roast re-runs this split, and the split is what keeps shelf and system reconciled at the next count — which, for sealed-goods sellers, is a count of bags on shelves, not a weighing session (the counting workflow itself is the inventory counts guide, and putting the bag shelves on a recurring cadence is what the count cadence workflow adds).

Once stock lives in bags, reordering runs on bag velocity like any other SKU — the per-variant sell rate feeds straight into the reorder-point math with no special handling.

Choosing your setup

A short decision rule covers most cases:

  • Default to fixed-weight variants. They keep inventory in units you can count, display unit prices natively for comparison shopping, and cover 90% of what customers actually ask for. Cover the popular amounts (250 g / 500 g / 1 kg for coffee) and let the unit price answer the "is the big bag better value?" question.
  • Add bands only for a true commodity. If you sell something genuinely homogeneous — one blend, one grind, scooped to order — bands work, but track the drift deliberately: weigh a sealed unit weekly and record what it actually costs you in grams.
  • Keep true by-weight off the storefront. Custom amounts are real demand, and they're real revenue — at markets, over the counter, and on invoices for wholesale accounts. Price them outside the cart and reconcile the order into Shopify, rather than contorting variants into pretending.

The pattern to avoid is running two systems that disagree: bags in Shopify and kilograms in a spreadsheet. Pick the bag as the source of truth and convert at receiving — that single decision prevents most of the drift weight-sellers experience.

Common questions

Can you sell by weight on Shopify? Not by measured weight, as of November 2026 — there's no scale integration and no fractional-quantity checkout, so checkout can only charge for whole variants. What Shopify does natively is unit-price display ($/kg style). Merchants work around the gap with fixed-weight variants, weight-band virtual units, or weighing and invoicing outside the storefront.

What does the unit price field actually do? It displays a per-unit price — like $51.60/kg on a 250 g bag — on the product page, calculated from the variant price and a base unit you set. It's informational: customers use it to compare value across pack sizes. Checkout still charges the variant price exactly, never the measured weight.

How do I sell 350 g if my variants are 250 g and 500 g? You can't bill exactly 350 g in the cart. Either steer the customer to the nearest stocked size, add a 400 g or 500 g variant, or quote and invoice the custom amount outside Shopify. Most roasters and food sellers find three or four fixed sizes absorb nearly all demand.

Where does the product weight field matter? Shipping. The weight value feeds carrier calculations and any weight-based shipping rates you configure, so it affects what the customer pays for delivery and what carriers charge you. It plays no role in pricing the product itself or limiting how much a customer can order.

How should I track stock when the supplier sells in kilos? Convert at receiving: divide the delivered weight into your selling unit (200 bags from a 50 kg roast yield, in the worked example above) and receive that unit count into Shopify. From then on, count inventory in selling units and save the scale for spot checks — not for running the stock file.

Next step

Pick one by-weight-adjacent product today and compute its true selling-unit cost from a recent supplier delivery — the kilos-in, bags-out arithmetic above takes ten minutes in a spreadsheet. Then add the native unit-price display to its fixed-weight variants so the per-kilo price shows on the product page, and if some of your catalog sells by length instead, the boundary cases live in the fabric store inventory guide.