ThreadCloud SOPs

For the ThreadCloud team only

Merchandising

The selling-window operations surface — was called Trading, renamed and rebuilt around six tabs. Once inventory lands, Merchandising tells you what’s selling, what’s aging, and what to act on this week.

Last verified against the app: 2026-07-23
If a tab or card name here doesn’t match the app, it changed and this page is stale — tell the team.

Current merchandising MVP truth
Inventory Snapshot uses Shopify physical on_hand for variants with inventory tracking enabled and discloses untracked variants instead of silently treating them as zero. A failed refresh preserves the last good snapshot. This is an on-hand and known-cost view, not a historical sales report.

Merchandising MVP smoke walk

  1. Settings → Legacy Enrichment: run Clean Catalog only for reviewed legacy rows. Verify core fields and leave ambiguous rows in Needs review.
  2. Merchandising → Inventory Snapshot: confirm “Tracked physical on hand, known cost”, a recent refresh timestamp, units/styles, cost/retail, and the tracked-physical disclosure.
  3. Switch between Brand, Category, and Subcategory. Open size curves and check that sizes use the expected category scale rather than Unknown.
  4. Use season, brand, and category filters. No rows is a data result; a blank page or error is a defect.
  5. Open one brand and one category scorecard. Treat values as directional until the historical ledger and receipt denominator gates are green.

Stock-type interpretation

  • MTO is seasonal product made for the store. The decision metric is sell-through against a factual received/receipt denominator.
  • STOCK is made-to-order product with vendor backup inventory. Use velocity/turns only when physical and cost inputs are complete.
  • NOS is evergreen carryover product with longer vendor replenishment. Use velocity/turns.
  • SPECIAL is a customer-driven special/custom order. Keep it separate from normal stock rankings unless source facts explicitly link it to a normal assortment.

Until receipt history is complete, the app withholds MTO sell-through rather than manufacturing a denominator. Do not substitute current on-hand for received units.

When to use
Weekly. Monday morning is the natural cadence — review prior week’s sales, identify reorder candidates, identify markdown candidates.

The six tabs

Sidebar → Merchandising. Across the top: Overview, Brands, Categories, Orders, Buying Seasons, Inventory Snapshot.

Overview

The home tab, scoped to one buying season at a time. Six cards:

  • Open to Buy — committed spend against target, split into seasonal buy vs reorder spend, with a concentration flag if you’re overweight in one place.
  • Sell-Through — % sold of what’s landed, either for this season or across your whole portfolio.
  • Act Now — one merged queue of markdown candidates, reorder candidates, and margin flags, so you aren’t checking three separate lists.
  • Delivery Watch — a progress bar of what’s actually landed against what’s on order.
  • Two cards marked Coming (Size Curve Alarm, Margin Truth) — placeholders for features not shipped yet. Safe to ignore for now.

Click any row in Act Now to jump straight to acting on it (reorder or markdown).

Brands

A whole-store scorecard, not scoped to one season: total brand count, gross sales, sell-through, and on-hand value at the top, then a sortable table of every enriched brand with its gross margin % and year-over-year sell-through trend. Use this to compare brands against each other, not just within one season’s buy.

Categories

The same scorecard shape as Brands, grouped by category instead — gross margin and trend per category, whole-store.

Orders

Per-order buy detail. The scorecard columns (Planned at cost, Recorded retail, Recorded IMU%, OTB Var, Receipt%) now report the known-cost subset instead of blanking a whole order because one style is uncosted: each row shows what is known and, when some units are missing a value, a small “X of Y costed” or “X of Y priced” coverage line beneath it. Recorded IMU% is computed only over units that carry both a cost and a retail, and OTB Var still waits until every unit is costed (a partial buy against a whole-order target would read as false headroom).

Buying Seasons

Season and OTB planning — unchanged from before the rebuild.

Inventory Snapshot

Was called Assortment. On-hand inventory (received minus sold), in three cuts on one page:

  • Headline table — on-hand units, cost, retail, margin %, and style count, grouped by Brand, Category, or Subcategory (toggle at the top). If a snapshot predates retail-price capture, the retail/margin columns show a prompt to refresh instead of a dash.
  • By size — a bar chart per category showing on-hand units across that category’s full size run (different scales for the same category, e.g. raw EU sizes vs reorder sizes, are normalized onto one consistent scale so the curve reads cleanly).
  • By colour — on-hand units and value by colour group; any colour holding 40%+ of a category’s value is flagged Concentrated — a markdown-exposure warning.

Filter by Brand, Category, and Season at the top of the page — the filters are in the URL, so a filtered view is bookmarkable and shareable. An “Inventory as of” stamp on the masthead shows how fresh the on-hand figures are.

Refreshing the snapshot
Click Refresh catalog to pull current on-hand counts from Shopify. It runs in the background with a live progress bar and ETA (an ambient-bar notice shows “X of Y variants” as it goes) — you can navigate away and it keeps running. If a refresh gets stuck, the lock auto-clears after a few minutes and you can just click Refresh again; there’s no need to wait it out or ask for a manual reset.

Season scoping

Overview, Brands, and Categories share the same season picker (a row of season pills, plus “All” on the scorecard tabs — Overview always needs one specific season). Inventory Snapshot’s Season filter is a dropdown alongside Brand and Category instead of pills, but does the same job.

Sync schedule

Sell-through numbers sync from Shopify orders automatically every 6 hours in the background. If the numbers look stale, trigger a manual sync from Settings → AI & Models → “Sync sell-through now” — should complete in under a minute. On-hand inventory (Inventory Snapshot) is separate: it only updates when you click Refresh catalog on that tab.

Common patterns

Monday morning review

15 minutes:

  1. Open Merchandising → Overview for the current season.
  2. Check Act Now — work top to bottom: reorder, markdown, and margin flags all live here now.
  3. Check Delivery Watch for anything that should have landed and hasn’t.
  4. Switch to Sell-Through — sort for the top and bottom performers.
  5. If a brand or category looks off across the whole store (not just this season), check the Brands or Categories tab for the wider trend.

That’s the week’s tasks set.

End-of-season post-mortem

After a season closes, use:

  • Brands / Categories — whole-store scorecards for next year’s buying plan (lean into high sell-through, high-margin performers).
  • Inventory Snapshot — what’s still sitting, by size and by colour, to plan markdowns before the next delivery window.

Common mistakes

Acting on stale sell-through
If the last sync ran a few hours ago and a big batch of orders came through, the numbers underrepresent reality. Hit “Sync now” before acting on close-to-the-line numbers.

Reordering off sell-through alone
A high-sell-through style that’s still well-stocked doesn’t need a reorder yet — cross-check against Open to Buy and Delivery Watch before committing more spend.

Comparing a season-scoped number against a whole-store one
Overview’s cards are scoped to one season; Brands and Categories are whole-store. A brand that looks flat on this season’s Overview can still be a strong performer whole-store on the Brands tab — check both before writing a brand off.

Next steps