the heart of smartstock is a rule engine. a merchant picks a set of products, sets three numbers, and lets the app run. an initial markdown applies once when the rule activates. a recurring markdown then steps the price down on a configurable interval — every seven days, every fourteen, every thirty. a floor caps how deep the discount can go, so a product can never silently end up at a loss.
sale resets the timer.
if any variant in a rule sells between cycles, the recurring markdown is skipped for that cycle. the product is moving — leave it alone. only the units that genuinely refuse to move get progressively cheaper, and every step is logged with a before, after, and timestamp.
dead stock, surfaced honestly.
alongside the markdown engine, smartstock continuously ingests order history through the shopify admin graphql api and builds a per-product picture of what is actually moving. dead stock shows up sorted by trapped capital — the units multiplied by their cost — so the merchant always knows where the biggest opportunity to recover money is, not just the longest list of slow skus.
safety first.
every price mutation is written to a log, succeed or fail. external edits to a price (from inside shopify, from a theme app, from another tool) are detected and flagged as conflicts rather than overwritten. after three real consecutive failures a rule flips itself to an error state and stops touching prices. nothing about this app is allowed to make a merchant's pricing worse.