Selling in decimal quantities on Shopify — what actually works
Fabric by the metre, cheese by weight, cable by the millimetre. Shopify cannot do it — quantity is a whole number everywhere in the platform, and Shopify staff have confirmed this four times since 2021. Every solution on the market is a simulation. This page is about which simulation to pick and what each one breaks.
There is no workaround that makes Shopify accept 2.5. There are three ways to fake it, and they fail differently:
- Redefine the unit — stock in tenths of a metre, sell 2.5 m as 25 units. Free, works everywhere, and your checkout says "25".
- A variant per size — half metre, one metre, two metres. Simple until you need many sizes or shared stock.
- An app that computes the price — mostly point-of-sale only, £9–29/month, and the review scores are poor.
Which one fits depends on whether you sell online, at a till, or both — and on how much wrongness you can live with on the customer's receipt.
Shopify has confirmed this four times in five years
This is not a setting you have missed. Quantity is a whole number in the storefront cart, the checkout, the admin, the order API and the point-of-sale — every layer.
In Shopify, the quantity field only allows for whole numbers and does not support decimal quantities. This is because the system is designed to track inventory in whole units.
— Liam, Shopify staff, 18 September 2023
Two years later, a different staff member said the same thing about inventory:
Shopify's native inventory system only supports whole number quantities. The inventory fields and mutations expect integer values for inventory. This means you cannot natively track inventory in decimals.
— Liam, Shopify staff, 17 July 2025
The most revealing answer came on the German forum in 2021, and it explains both the cause and why it has not changed. A staff member wrote that selling in small fractions is not possible because of limitations in the core system, which affect shipping, price formats, connected apps and the API — and that the core therefore forces a positive integer. Then, on whether it would ever be built:
The developers weigh up demand for a given feature, and if it falls below a certain threshold it does not get added to the system, unfortunately.
— Gabe, Shopify staff, 13 May 2021 (translated)
That is unusually candid, and it is the answer to "will they fix it?" Five years on, nothing has shipped. Merchants have been asking in the same thread since March 2020 — it now runs to 72 posts and reached November 2025 still unresolved.
One merchant summarised the wait:
I've been with Shopify since 2012 and I have requested this feature countless times over the years and…crickets.
— bloomerie, 27 July 2023
What it costs, in real numbers
Merchants have done the arithmetic themselves.
A meat business rounding down on every package:
We have literally lost $350 in the last 4 weeks because we can not accurately charge to the 1/100th decimal value. We also spend several hours trying to reconcile inventory totals.
— DaisyOaks, 16 August 2022
A butcher on the fixed-weight compromise:
We are an online butcher shop who is currently losing money because we have to cut everything over the mentioned weight and sell at a fixed price - it's not sustainable! It also takes so much longer to package up orders making sure they're as close as possible to the paid for amount.
— angiemillin, 15 June 2021
And a fabric seller on why fixed sizes lose sales rather than money:
I want to give them a choice of buying from 0.25m and the 0.50m, 0.75m etc. Nobody wants to just buy more fabrics than they need for a project.
— DeepakBadlani, 14 July 2021
Route 1 — Redefine the unit
Stock and sell in the smallest amount anyone can buy. A 50 m roll becomes 500 units of 0.1 m. A customer buying 2.5 m buys 25 units. This is what Shopify staff themselves recommend, and it is what most merchants end up doing.
It is the only route where inventory stays honest. Stock deducts correctly, partial refunds are exact, and shipping weight scales properly if you set the per-unit weight.
Use Shopify's unit pricing, which almost nobody mentions. Price the 0.1 m unit at €1.29, set the unit measurement, and Shopify displays "€12.90 / m" on the product page, in the cart, at checkout and in the order confirmation email. This is now available to all merchants worldwide. It will not fix the quantity number, but it means the customer sees the real per-metre price at every point where money is shown.
Where it leaks:
- The checkout says 25. There is no way to relabel it on a standard plan.
- Your price must divide cleanly. €12.90/m in tenths is €1.29 — fine. €12.95/m is €1.295 — impossible, because prices are two decimal places. Round your per-unit price to fit your granularity.
- The admin inventory column shows 500, not 50 m. Cosmetic, but staff have to learn it.
- Rounding down bleeds margin. A cheese seller pricing per 10 g put it exactly: "we lose a little bit of money on each transaction, but you can't round up without angering customers."
- Prices below a penny break it. The same merchant found a gram of Stilton at 0.046p rounded to 0.05p — a 9% error — which is why the granularity has to be chosen against your cheapest product.
One merchant's verdict after converting an entire catalogue: "This is the best of a bad situtation."
Taking this route and tired of your packers converting units by hand? Describe your units and we do the arithmetic →
Route 2 — A variant per size
Half metre, one metre, two metres, as separate variants. Fine for a short fixed menu.
It falls over in two specific ways, both reported repeatedly.
Variants run out. A merchant selling aluminium extrusion in 10 mm steps between 100 mm and 6000 mm needs hundreds of options — "of course shopify runs out of variants quickly" — and their real orders look like four different cut lengths in one basket. A German fabric merchant with over a thousand fabrics called building variants for each "extrem mühselig" — extremely laborious.
And the same stock oversells. Each variant carries its own inventory, so a 4.5 m roll listed as half-metre and one-metre variants will sell more than exists. A merchant raised exactly this and a Shopify staff member confirmed it: the system cannot calculate when the roll is used up.
Route 3 — An app
There is a small niche of apps that simulate decimals, mostly for the till.
Read the listings carefully, because most are point-of-sale only — one states it plainly, and a reviewer of another bought it before discovering the same. Pricing runs about $9–29/month, sometimes plus a fee per extra till.
The ratings in this category are unusually poor — the two best-known sit at 2.3 and 1.7 stars — and the complaints are specific and worth knowing before you buy:
- Tax breaks on the fake portion. One merchant found the fractional part of an item being taxed when the product was tax-exempt; another found a weight app adding tax to tax-exempt produce.
- Reporting can be destroyed. A lumberyard explained why they left: the app "was essentially creating a single unit of temporary sku (ex 1 pc of 5.2 board feet). The app would then delete this temporary variant and thus no sales tracking."
- Some do not touch inventory at all.
- Speed at the till matters. A cheese shop: "Staff would be standing there with a queue of customers growing while they waited for the calculations to complete."
Some merchants do settle here and stay. One meat business reported back six months after complaining: "To summarize, this product is working for us" — at the cost of maintaining two versions of every product, one for online and one for the till.
Two things that will surprise you
Shopify's own app ignores your theme fixes. If you have made your storefront display decimals with theme code, that work does not exist inside the Shop app. The merchant who has been asking since 2012 described the result: customers see different quantities and different prices depending on how they arrived, and "I just cross my fingers they'll figure it out without misunderstanding what they are actually buying."
And a workaround can be taken away. One merchant ran a price-override trick at the till for two years. Shopify removed price override in September 2023, and the workaround died with roughly a month's notice. He moved his store to another platform.
That second point matters more than any price comparison on this page. When you build on a simulation, you are building on something the platform never promised to keep.
Worried about building on something that can be removed? Describe what it should do, and we keep it working →
Which route is yours
| Your situation | Route |
|---|---|
| Online only, one granularity works for everything | Redefine the unit — free, and set up unit pricing |
| A handful of fixed sizes, each with its own stock | Variants |
| Many sizes, or sizes cut from shared stock | Variants will oversell — use the unit approach |
| Till only, and you can accept the app quality | An app, after checking tax and inventory behaviour |
| Both online and at the till | No single off-the-shelf answer exists |
| Your cheapest item costs less per unit than a penny | The unit approach breaks; rethink granularity |
| Reporting by product matters to you | Avoid apps that create temporary product codes |
Where Shopivibe helps today
Not a fourth route — nothing makes Shopify accept 2.5, and that is Shopify's integer, confirmed four times above. Shopivibe sits on Route 1, the sub-unit method, and takes the half of the problem that happens after the customer has paid.
So the fixed point first: your checkout, your confirmation email and Shopify's quantity column say 25 units of 10 cm on every route, ours included. What changes is that nobody has to do the arithmetic afterwards.
What we do, once the order exists. Shopivibe adds up the units on the order that belong to one material, converts them, and saves the real amount onto the order itself as a figure your systems can read: 25 units of 10 cm becomes 2.5, stored on the order under a name that says the unit. The point of it is the person cutting. Instead of a packing slip that says "25" and a member of staff doing the arithmetic in their head against the right granularity for that roll, the figure is on the order already.
Printing it on the slip is one line in your packing-slip template — Shopify gives no way for an app to edit that template for you, so we work out the line and help you put it in. That step is yours, and we would rather say so here than have you find out afterwards.
This fits when:
- You already sell in fixed increments, or you are willing to — the storefront experience is the one described in Route 1.
- Your customers can live with the checkout saying 25.
- One total per material per order is what fulfilment needs.
- You can give each cut-to-length material a product code marker that appears in nothing else. We match on that marker, and a marker that also appears in an unrelated code puts the wrong number on the paperwork.
This does not fit when:
- The customer has to type a decimal and see it carried through checkout and confirmation.
- Your sales reports or Shopify's own quantity column have to read in metres or kilos. They will not.
- The real amount is only known when you weigh it, and the final charge has to change to match. That is a different problem — catch-weight — and this is not it. It has its own page.
Two cuts of the same material as two labels — 2.5 m and 1.5 m kept apart rather than 4 m — is a per-line figure. If that is what your packing room needs, say so when you describe the rule.
Everything else on this page still applies, including the free advice. Set up Shopify's native unit pricing whatever you decide about us: it is free, it is yours already, and it puts the honest per-metre price everywhere money is shown. It does not change the quantity the shopper sees — nothing does — but it is the single highest-value setting in this whole subject and it costs nothing.
And a word on what we are not doing to your store. The complaints about the apps in Route 3 — tax landing on a fractional portion, sales reporting destroyed by temporary product codes — come from forcing fractions into places Shopify built for whole numbers. We leave your quantities, your money and your reporting exactly as Shopify made them, and add the measurement alongside. Nothing fractional is invented for Shopify to tax, which is the whole reason this route stays out of trouble.
At the counter, staff enter sub-units — Shopify POS has no decimal field either, and no software makes a scale talk to it natively. If the counter is where your conversion happens, describe that too.
If a $9/month app already handles your case and its tax behaviour checks out, use it. Talk to us if you are on the sub-unit route, it works well enough on the shop front, and what actually costs you is the conversion happening by hand in the packing room afterwards.
Shopivibe solves the problem in your store and keeps what it adds maintained, including when Shopify changes something underneath. If the app cannot complete your request on the spot, somebody at Shopivibe takes it on straight away and has it working in your store within 24 hours, included in the plan at no extra charge. Shopivibe is free during early access, with 3,500 credits included. Credits beyond the included 3,500 cost $0.06 each.
Selling by length, weight or volume? Describe the unit you sell in →
Checked against Shopify's documentation and the App Store on 29 July 2026.