ThreadCloud SOPs

For the ThreadCloud team only

Receiving

When the boxes arrive, you open the receiving page, count what’s in them, mark received quantities per variant, and print labels. This is the most physical workflow — usually done at the receiving table with a phone or tablet next to the open boxes.

When to use
The moment a shipment arrives. Don’t wait — receiving in ThreadCloud the same day keeps inventory and sell-through accurate.

What you’ll need

  • The physical shipment + packing list
  • A printer connected (Dymo 30336 or fallback — see Labels)
  • The order ID (find it in the email confirmation or under the order in TC)

The receiving flow

  1. Open the receiving page — Order → Receiving tab
  2. Enter received quantities per size
  3. Confirm Receiving — the FX rate locks the first time you confirm
  4. Print labels — from the success screen
  5. Apply labels to the physical items
  6. Move to store shelves or stockroom

Stage 1 — Open the receiving page

Two ways:

  • From the dashboard: click the order → Receiving tab
  • From the URL bar: /app/orders/{order-id}/receiving

The page has two parts. At the top, a shipment card: the date, a reference, the location, the exchange rate (editable only the first time you receive), and a notes box for damages or partial boxes. Below it, a grid of every style with its sizes, showing the ordered quantity, a box for the received quantity, and what’s still outstanding.

Stage 2 — Enter received quantities

For each variant:

  1. Tap the cell
  2. Type the count from the box
  3. Move to the next

Speed tip
If the entire shipment matches the ordered qty exactly (rare but happens), click Receive All as Ordered at the top. It pre-fills every received cell with the ordered qty. Then just spot-check and save.

When ordered ≠ received

If you got fewer than ordered:

  • Enter the actual count. ThreadCloud will mark it as a discrepancy in the order’s audit log.
  • The order will sit in PARTIAL status — fine for now. Resolve when the rest of the shipment arrives or when you accept the short.

If you got more than ordered (rare):

  • Enter the larger count.
  • Add a note in the discrepancy log.
  • Verify with the supplier — they may have over-shipped intentionally as a sample.

If a variant didn’t ship at all:

  • Leave it at zero. The order stays PARTIAL.

Capture measurements and fit while you’re here
Each style has an optional Add measurements panel (chest, sleeve, waist, and so on, by category) and a fit offset dropdown (runs large / true to size / runs small). Filling these at receiving means the storefront and hang tag carry accurate sizing. To leave a style out of this shipment entirely, tick Skip this style.

Stage 3 — Confirm & lock FX

Click Confirm Receiving.

What happens:

  • Received quantities write to Shopify’s inventory (immediately available for purchase)
  • The FX rate locks at the current rate from the multi-provider feed
  • The order’s total cost recalculates with the locked rate

Why FX locking matters
The FX rate snapshot is your cost truth. Even if rates fluctuate over the next 12 months, your margin calculations stay anchored to the rate the day inventory landed. Don’t override this.

If you need to set the FX rate manually (rare — only if the live feed is wrong):

  1. Receiving tab → FX Rate row → click the rate
  2. Type the override
  3. Click Confirm. ThreadCloud locks your manual rate instead.

Stage 4 — Print labels

When you confirm, a success screen offers Print labels (and Print doc for the receiving document). Click Print labels: a new tab opens with the hang tags, one per received unit, for the Dymo 30336 (54×25mm). Press Ctrl+P, select the Dymo, print.

Label contents:

  • Brand name + style name
  • Colour
  • Size (large, on the right)
  • SKU (small, below)
  • Barcode (Code 128B of the SKU)
  • Retail price

Tip — print in batches
If you have 10 styles to receive but only the first 5 boxes are open, save those first and print just those labels. You can come back later for the rest — the print preview only shows labels for the just-saved batch.

If the printer fails

Three fallbacks, in order of how-close-to-TC-labels they look:

  1. Avery 5160 sheet labels on a regular printer — the print preview prints fine to any printer; just load sheet labels instead of Dymo rolls. Looks identical to the TC label, just on stickier paper.
  2. Shopify Admin native print — see the runbook printer fallback. Works because TC writes SKUs into the Shopify variant barcode field.
  3. Hand-write SKUs on tags — last resort. Use the SKU shown on the receiving page.

Stage 5 — Apply labels & shelve

Apply each label to its physical item. Move to the store or stockroom.

The order’s status flips:

  • PARTIAL if some variants are still at 0 received
  • RECEIVED once every variant has received qty ≥ ordered qty

Returning to a partial order

If a shipment arrives in two parts (common with EU suppliers):

  1. Receive what arrived in part 1 — save
  2. Order sits in PARTIAL
  3. When part 2 arrives, open the same Receiving page
  4. Enter the additional received qty (not cumulative — just what arrived in part 2)
  5. Save again

ThreadCloud adds the two saves together for the total received. The audit log shows each receive event separately.

Common mistakes

Receiving in CAD when you bought in EUR
If the order’s currency is EUR but you somehow set the receiving FX to 1.0, your costs are wildly off. Verify the FX before saving — it should be a normal exchange rate (e.g. 0.7 for EUR→CAD), not 1.0.

Forgetting to save before printing
The print link reads from confirmed data. If you enter quantities but don’t click Confirm Receiving first, you’ll see old data (or no tags).

Receiving a re-order against the original order
If you placed a reorder for the same brand/season, the reorder is a separate order in ThreadCloud — even if the supplier shipped both together. Receive each order separately so sell-through math stays correct.

Reverse a receive

Made a mistake? You can reverse a whole shipment (reversing part of one isn’t supported):

  1. Open the shipment — from the success screen, or the past-shipments list on the order.
  2. Click Reverse.
  3. Confirm — Shopify inventory comes back down and the shipment is undone.

Heads up
Reverse only works before any of the reversed variants have sold. If sales have already happened against the received inventory, email hello@threadcloud.io before reversing.

Make POS-ready

A buying-order product only becomes sellable at the register when a clean first receive activates it and publishes it to your Point of Sale channel. If that step gets disrupted — a size-scale correction mid-flow, or a stock edit made by hand in Shopify admin instead of through receiving — the product can end up sitting Active in Shopify but invisible on POS, with no obvious way back.

When to use
A product you know you’ve received shows up fine in Shopify admin but a cashier can’t find it on the register.

  1. Open the order’s receiving page.
  2. Click Make POS-ready.
  3. ThreadCloud re-runs activation for every received product on the order and reports how many are genuinely POS-ready now.

Only touches received stock
This can’t be used to skip receiving — it only acts on products with actual received units. A never-received, still-zero-stock product stays untouched. Online Store publication for regular stock isn’t affected either way.

Receiving a size you didn’t order

The grid isn’t limited to the sizes on the original PO. If a supplier ships a size that wasn’t ordered (a substitute, or one extra piece thrown in), and that size already exists as a variant on the product in Shopify, it shows up in the grid ready to receive — just enter the count against it like any other row. If the product doesn’t carry that variant yet, it isn’t a receiving problem: raise a reorder or a variant fix first.

Fix a wrong size

Sometimes the size that lands doesn’t match what’s sewn into the garment — usually a linesheet parse that misread a size on a dense grid (a “45” pulled from the row next to the real “44”). You’ll normally catch this holding the item at the receiving table, once the physical label disagrees with what ThreadCloud says you received.

When to use
The garment’s own size label doesn’t match the size ThreadCloud received it as, for a size you’ve already confirmed in this shipment. Trust the sewn-in label over the system.

  1. Open the shipment — from the receiving success screen, or the past-shipments list on the order.
  2. Find the wrong size’s row and click Fix size.
  3. Enter the correct size — a dropdown for simple scales (collar, belt, shoe), separate Waist and Inseam boxes for trousers, or Chest size + Length for jackets. You’re never typing a free-form size string — the input matches whatever scale the rest of the product already uses, so there’s no format to get wrong.
  4. Confirm. One click does the rest: the wrong size’s received units come back out (Shopify and ThreadCloud both), the correct size is added to the product as a new variant with the same metafields and filters as its siblings, the units you already counted move onto it, and the wrong size is removed from the product.
  5. Reprint the tag for that unit — it now prints under the correct size.

If the wrong size also showed up in an earlier shipment
The fix only moves units received in THIS shipment. If the same wrong size has stock from an earlier shipment too, the wrong variant stays on the product (with that earlier stock) until that shipment is fixed as well — ThreadCloud tells you when this happens rather than silently leaving two variants live.

This is a stock correction, not a re-receive: the order’s locked FX rate and its POS publishing aren’t touched.

Next steps