SalesThumb can move real inventory — film rolls, ceramic kits, wrap material, whatever you stock — from one of your shop locations to another, with an approval chain and a paper trail. This isn't a spreadsheet workaround: when a transfer is marked received, on-hand stock actually decreases at the sending shop and increases at the receiving shop, the same way any other stock movement does.
Where it lives, and what has to be true first
This is an HQ feature, not something you'll find inside a single shop's own Inventory pages. From the HQ dashboard, open Inventory Transfers in the left sidebar (under the "Data" section), or click the Inventory transfers status tile on the HQ dashboard itself, which shows On or Off. That's `/app/hq/{yourOrgId}/inventory-transfers`.
Three things need to be true before you can actually use it:
- Your org needs the +HQ add-on ($599/mo flat, on top of your shop plan) — this whole feature is gated behind it, same as the rest of HQ.
- Cross-location transfers need to be turned on for the org. Under HQ Settings, open Inventory Transfers and check "Enable cross-location transfers," then Save. It's off by default. If it's off, the Inventory Transfers page just shows "Inventory transfers are turned off" with a link back to Settings, and the "Create transfer" button doesn't appear.
- You need at least two shops in the org — a transfer always moves stock from one shop to a different shop in the same org; you can't transfer to yourself or to a shop outside your org (the server checks both).
Creating, approving, shipping, receiving, or canceling a transfer requires org-admin access — ORG_OWNER or ORG_ADMIN. Any other org member (including the read-only ORG_VIEWER role) can still see the list and open a transfer to check its status, but attempting a write comes back with "Requires ORG_OWNER or ORG_ADMIN role for this organization."
Step 1 — Request the transfer
On the Inventory Transfers page, click Create transfer. Pick a From shop and a To shop (the To-shop list automatically excludes whichever shop you picked as From), add an optional note explaining why the transfer is needed, then add line items. The item picker only shows active inventory for the From shop you selected, and each option shows its current on-hand count right in the list — e.g. "3M Ceramic IR · CIR-70 (12 on hand)" — so you can see what's actually available before you commit to a quantity. Quantities are whole numbers only; there's no way to request a fractional roll or unit. Once you've picked at least one item with a quantity, Create transfer submits it with status Pending.
Step 2 — Approve it
A new transfer needs approval before anything else can happen to it. Open the transfer from the list, and if it's still Pending you'll see an Approve transfer button in the Actions panel. Click it, add an optional internal note, and Confirm approval flips it to Approved.
Step 3 — Mark it shipped
Once approved, the same Actions panel shows Mark as shipped. This opens a quantity field per line item, pre-filled with the quantity that was originally requested — you can adjust each one if you're shipping more or less than what was asked for. There's also an optional tracking field (carrier + tracking number, or just a driver's name if you're running it over yourself). Confirm shipment flips the status to Shipped.
Worth knowing: marking a transfer shipped does not move any stock yet. It only records how much of each item is going out. On-hand at both shops stays untouched until the transfer is received.
Step 4 — Mark it received — this is when stock actually moves
When the shipment arrives at the destination, open the transfer and click Mark as received. Each line item shows a quantity field, pre-filled with the quantity that was shipped. You can type any number into that box, but nothing above what was actually shipped gets recorded — the system clamps it down automatically so you can't receive more than was shipped. Confirm receipt flips the status to Received, and this is the step that actually changes your inventory: for every item, SalesThumb writes a paired transaction — a deduction at the sending shop and a matching addition at the receiving shop — so your on-hand counts at both locations reflect the movement immediately, the same ledger every other stock change (receiving a purchase order, deducting film on a job) writes to.
If the receiving shop has never carried that item before, SalesThumb creates it there automatically as part of receiving — matched (or created) by SKU, or by name + brand if the item has no SKU. The new item's catalog details (name, brand, description, category, unit, size, cost, price) are copied over from the sending shop's item, but shop-specific settings like its reorder threshold or default supplier are not — those belong to the receiving shop's own policy, so set them yourself on the new item once it exists.
A Received transfer is closed. There's no further action available on it.
Canceling a transfer
Cancel transfer is available from the Actions panel at any point before a transfer reaches Received — Pending, Approved, or Shipped can all be canceled. You can add an optional reason before confirming. Once canceled, like a received transfer, it's closed — no further action, and no undo.
Who can do what
Any org member with HQ access can view the Inventory Transfers list and open individual transfers to see their status, line items, and history. Creating a transfer, and every status-change action after it (approve, ship, receive, cancel), requires the ORG_OWNER or ORG_ADMIN role on the organization. A plain member or an ORG_VIEWER can look, but not touch.
Frequently asked questions
Q: Does creating a transfer move my inventory right away?
A: No. Nothing changes your on-hand counts until the transfer is marked Received. Creating, approving, and shipping only record the request and what's moving out — the deduction at the sending shop and the addition at the receiving shop both happen together at the Receive step.
Q: Why don't I see a Create transfer button on the Inventory Transfers page?
A: Cross-location transfers are off by default for every org. Go to HQ Settings, open Inventory Transfers, and check "Enable cross-location transfers," then Save. If it's still missing after that, confirm your org has the +HQ add-on and that you have the ORG_OWNER or ORG_ADMIN role — viewing the page only requires HQ access, but creating a transfer requires admin rights.
Q: What happens if the receiving shop doesn't already carry the item being transferred?
A: SalesThumb creates it there automatically at the Receive step, matched or newly created by SKU (or by name + brand if there's no SKU). Catalog details like name, brand, category, cost, and price carry over from the sending shop's item; shop-specific settings like reorder threshold and default supplier don't, so set those on the new location's copy afterward.
Q: Can I edit a transfer after I've created it?
A: No — there's no edit action on an existing transfer. If the shops or line items are wrong, cancel it (available any time before it reaches Received) and create a new one.
Q: Who's allowed to approve, ship, receive, or cancel a transfer?
A: Only org members with the ORG_OWNER or ORG_ADMIN role. Anyone else with HQ access can view transfers but will get "Requires ORG_OWNER or ORG_ADMIN role for this organization" if they try to act on one.