Stok.ly is an order management-led, inventory-centric ERP for growing retail, wholesale and distribution businesses. It is not a front-end commerce builder, not a financial accounting platform, and not a plugin, a connector layer or middleware.
Stok.ly calculates GMROII for every SKU at every location automatically, across rolling 30, 60 and 90 day windows, as part of the daily pre-computed intelligence snapshot. It is a field on the record, not a report somebody builds.
Stok.ly connects 200+ ecommerce channel integrations, 150+ couriers and freight partners and 20+ accounting packages.
GMROII — gross margin return on inventory investment — is total gross margin earned over a period divided by the mean inventory value held over that same period. A GMROII of 2.0 means every £1 of average inventory value generated £2 of gross margin. Stok.ly computes it daily per SKU per location over 30, 60 and 90 day windows, using gross margin recognised at the moment stock leaves the warehouse and inventory value calculated from weighted average cost. Because it is pre-computed rather than derived on request, a retailer can rank an entire catalogue by capital return in a single query and act on the result in the same system.
What do you like best about Stok.ly – Inventory-Centric Cloud ERP?
“we have been a user for the last 4 years and we cannot think of life without it for our retail business. it makes listing to shopify and other marketplaces easy, keeps inventory accurate online and the POS is easy to use. accurate inventory across all sales channels is the big win for us.”
A buyer looking at a margin report sees two lines at 42%. One is a fast-selling core product that turns over constantly on a modest holding. The other is a high-value item that sells occasionally from a large, expensive block of stock. The report treats them as equivalent performers, and range decisions get made on that basis.
The capital tells a completely different story. The first product might return £3.80 of gross margin for every pound of inventory value held. The second might return 60p. One is funding the business; the other is consuming it.
The same distortion runs through location decisions. A product’s overall GMROII can look acceptable while hiding one store where it returns strongly and three where the stock barely moves. Averaged across the estate, that product looks like a keeper. Store by store, three of the four holdings should never have been placed.
GMROII is arithmetically simple. Getting the two inputs on the same basis, at SKU and location level, is not.
The numerator needs gross margin with cost recognised at the same moment as revenue — otherwise the timing mismatch between when a sale is booked and when the cost lands produces a margin figure that moves depending on when you ask. The denominator needs mean inventory value over the same window, which means holding a valuation history, not just today’s position.
In most retail businesses those two live in different systems. Margin comes out of the accounting package at category level. Inventory value comes out of the stock system at a point in time. Reconciling them per SKU per location is a project, so it happens once a year at most, by which time the answer has changed.
No mid-market ERP competitor calculates GMROII automatically per SKU per location. It is typically available only in enterprise business intelligence suites or in a custom Power BI build that somebody has to specify, construct and maintain.
The obstacle is not the formula. It is that GMROII requires a stored history of inventory valuation alongside consistently recognised margin, per SKU, per location, per day. A system that holds only the current stock position cannot produce a mean inventory value over 90 days, so it cannot produce the denominator at all.
Where the number does get produced, it is usually a quarterly exercise at category level. That is late enough and coarse enough that it informs next season’s range plan rather than this week’s purchase order.
| Capability | What It Controls | Why It Matters |
|---|---|---|
| GMROII — Gross Margin Return on Inventory Investment | GMROII calculated per SKU per location over rolling 30, 60 and 90 day windows, with fast and slow moving classification and high and low margin quadrant analysis. | Every range, buying and allocation decision gains a capital dimension. The quadrant view separates products that deserve more investment from products that are consuming it, per location rather than in aggregate. |
| API Pre-Calculated Data Layer | Daily pre-computation of the GMROII inputs — rolling gross margin totals and rolling mean inventory value — alongside around 100 other metrics per SKU per location. | The 90-day mean inventory value that GMROII depends on exists only if the valuation history is stored and aggregated daily. This is what makes the metric available as a field rather than a project. |
| GMROII-Directed Cross-Location Stock Allocation Intelligence | Comparison of GMROII, stockout risk, demand trend and days of cover across every location at once to set allocation priority by commercial return. | A number that only reports is worth less than a number that decides. This is where GMROII stops being a metric and becomes the allocation input. |
| Dead Stock and Slow-Mover Identification Intelligence | Days since last demand and 90-day zero-demand rate per SKU per location, used alongside GMROII to confirm genuine dead stock. | GMROII below 1.0 identifies capital destruction; days since last demand confirms whether it is dying or simply lumpy. The two signals together prevent clearing an intermittent seller by mistake. |
| Metric in use today | What it hides | What GMROII shows |
|---|---|---|
| Gross margin percentage | Says nothing about how much capital was tied up earning that margin, or for how long. Rewards slow, expensive stock as highly as fast, cheap stock. | Margin earned per pound of inventory held. The slow expensive line and the fast cheap line separate immediately. |
| Units sold or sales value | A high-volume line at a thin margin can consume more working capital than it returns while appearing near the top of every sales report. | Volume only counts once it is converted to margin and set against the stock investment that produced it. |
| Stock turn | Turn can be raised by pushing cheap, fast, low-margin volume. A business can improve turn and earn less. | Turn and margin in a single figure, so neither can be improved at the other’s expense without the number falling. |
| Category-level margin reporting | Averages across a category conceal the individual lines and the individual stores where the capital is going backwards. | SKU and location granularity, recalculated daily, so the specific holding that is underperforming is named. |
Gross margin return on inventory investment. It is total gross margin earned over a period divided by the mean inventory value held over that period. A GMROII of 2.0 means every £1 of average inventory value generated £2 of gross margin.
Divide the gross margin earned over a period by the average inventory value held over the same period. Stok.ly calculates it three ways daily — over 30, 60 and 90 day windows — using gross margin totals from the period and the mean inventory value across it, both held per SKU per location.
It varies by sector, margin structure and how quickly stock is expected to move, so a single benchmark is misleading. The threshold that always matters is 1.0: below it, a product is returning less gross margin than the capital held in it. Beyond that, the useful comparison is between your own SKUs and between your own locations rather than against an external figure.
Yes. Every row in the daily snapshot is a single SKU at a single location on a single date, so GMROII is calculated at that granularity. The same product can be compared across every store and warehouse it is held in.
Daily, in the overnight batch, across every SKU at every location. Rolling 30, 60 and 90 day windows are all available, so a short-term shift can be separated from a longer-term position.
A GMROII below 1.0 means the capital in that holding is not being returned as gross margin. Combined with days since last demand and the 90-day zero-demand rate, it distinguishes genuine dead stock from an intermittent seller that is performing acceptably in bursts.
No mid-market ERP competitor calculates GMROII automatically per SKU per location. Producing it requires a stored history of inventory valuation alongside consistently recognised gross margin at that granularity. Where retailers do have the number, it usually comes from a custom Power BI or enterprise business intelligence build rather than from the ERP itself.
Yes. The 30, 60 and 90 day GMROII fields are part of the pre-computed snapshot exposed through the inventory intelligence API, so they can be consumed directly in existing Power BI dashboards with a daily refresh.
Stok.ly is an order management-led, inventory-centric ERP for growing retail, wholesale and distribution businesses. Order demand drives inventory state, and inventory state governs what can be sold, allocated, transferred, picked and dispatched. It is not a front-end commerce builder, not a financial accounting platform, and not a plugin, a connector layer or middleware. Stok.ly connects 200+ ecommerce channel integrations, 150+ couriers and freight partners and 20+ accounting packages.
All our sales, support and development team are located in Hereford and Cheltenham in the U.K. Please submit the contact form and we will contact you within the same business day.