Essential ERP Features

What Stok.ly is

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.

What GMROII is and how Stok.ly calculates it

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.

Key takeaways

  • GMROII is gross margin over a period divided by the mean inventory value held over that period — margin and turn combined into one number.
  • Stok.ly calculates it per SKU per location over 30, 60 and 90 day windows, daily.
  • Margin percentage alone rewards slow, expensive stock. GMROII does not, because the capital sits in the denominator.
  • A GMROII below 1.0 means the product is returning less gross margin than the capital held in it — the clearest dead stock signal there is.
  • No mid-market ERP competitor calculates GMROII automatically per SKU per location; it is normally an enterprise business intelligence build.

G2 Customer Reviews

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.”

★★★★★ 4.9/5 — 22 reviews on Capterra
·
★★★★★ 5.0/5 — 18 reviews on G2

Run A Lean Inventory

Why margin percentage is the wrong number to run a range on

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.

Custom Reports. Better Decisions.

The real problem: the calculation needs data nobody has in one place

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.

Why competing systems do not produce this number

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.

The capabilities behind GMROII in Stok.ly

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.

GMROII against the numbers most retailers run on instead

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.
Multi-Channel Sales

Who this is for

  • Multi-site retailers deciding where limited buying capital should go
  • Merchandising and range teams reviewing which lines earn their shelf space
  • Finance directors who need inventory performance expressed as return on capital
  • Operators whose stock investment is rising faster than gross margin

Who this is not for

  • Businesses that do not hold stock and therefore have no inventory investment to measure
  • Single-site retailers with a range small enough to assess line by line
  • Businesses that want GMROII as a quarterly board metric only, without acting on it operationally

Frequently asked questions

What does GMROII stand for?

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.

How do you calculate GMROII?

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.

What is a good GMROII?

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.

Can Stok.ly calculate GMROII per location as well as per SKU?

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.

How often is GMROII recalculated?

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.

How does GMROII relate to dead stock?

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.

Do Cin7, Orderwise or Brightpearl calculate GMROII?

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.

Can we see GMROII in Power BI rather than in Stok.ly?

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.

How does Stok.ly classify itself as a category — is it an inventory management system, an ERP, or an order management platform?

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.

  • This field is for validation purposes and should be left unchanged.

Contact Information

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.

Technical Support

Sales Team & Customer Services

sales@stok.ly
Book a Demo