MHelp
← Ops
Browse all topics
Step 3 of 7 — Store · where stock lives, and counting it

What each location type can do

Concept6 min read

Short answer

A location is anywhere your stock physically rests, and its type decides what that stock is allowed to do. Warehouses and retail counters can be sold from online; consignee sites, event stalls and production partners hold real stock that is deliberately never offered on a storefront. Only a warehouse assembles kits, and only a mapped location reaches a given store.

Last checked 7 Aug 2026Step 3 — StoreView as Markdown

Two units of the same product, in two different places, are two different things.

A notebook on a shelf in your warehouse can be picked and posted this afternoon. The identical notebook sitting on a partner's shop floor forty miles away cannot — not because it is a different notebook, but because of where it is.

So Mossery never stores "how many do we have" on its own. It stores how many are at each location, and the location's type is what decides what that stock may do.

This page covers:

What a location is

A location is a container for stock, not an address.

Two things follow from that. First, every stock movement names one — a delivery lands somewhere, a transfer has a source and a destination, a count is a count of one place. Second, the same product can hold a different quantity, and a different set of permissions, at every location at once.

The type is chosen when the location is created. It is not a label. It is wired into what the app will and will not let happen there, and the rules below are enforced in one shared place rather than repeated screen by screen — so a location cannot behave one way on the receiving page and another way on the sync page.

The six types

Each type answers five questions differently.

TypeHolds countable stockCan receive a deliverySells on your storefrontsKits assembled hereSomeone else's premises
WarehouseYesYesYesYesNo
Retail counterYesYesYesNoNo
ConsigneeYesNoNoNoYes
EventYesNoNoNoNo
Production partnerYesYesNoNoYes
StagingNoNoNoNoNo

In plain terms:

  • Warehouse — storage you operate. The default destination for deliveries, the source of most transfers, and the only place the app treats components as assemblable into finished kits. Most businesses have one; nothing stops you having several.
  • Retail counter — a shop or counter you run yourself. Holds stock, takes deliveries, and can sell online as well as in person if you map it to a store.
  • Consignee — a retail partner holding your stock on their floor. You still own it, but they sell it. Instead of live selling it, you track a running balance: sent, minus sold, minus returned. They report sales to you monthly.
  • Event — a market, fair or pop-up. Deliberately temporary. Stock goes out by transfer and comes back by transfer, and the location is switched off when the event ends.
  • Production partner — an outside press or converter holding raw material you own. Suppliers often deliver straight to them, so a delivery can be received here without ever passing through your warehouse. Material is consumed at the partner during a run.
  • Staging — a work-in-progress bucket for components part-way through assembly. It is not a real shelf, so it is not countable, not transferable and never appears in the stock matrix.

Which locations a storefront can sell from

Being sellable is necessary. It is not sufficient.

A location has to clear two bars before a storefront will offer its units:

  1. Its type must be sellable at all. Only warehouses and retail counters are. That rules out four of the six types before any setting is looked at.
  2. It must be explicitly mapped to that specific store. Each store keeps its own list of the locations it fulfils from. A warehouse mapped to one store and not another sells on the first and not the second.

The mapping is a record someone creates, never something the app infers. If a location has no mapping row for a store, nothing is pushed to that store from it — the app treats the missing row as "nothing to send here" rather than picking a nearby location and hoping.

That sounds pedantic until you see the alternative. Guessing which location a store meant, rather than looking it up, is exactly the shortcut that once had this app pushing one store's stock at another store's shelves, tens of times a minute, for weeks. A missing mapping is a quiet no-op. A wrong guess is silent corruption.

Why some real stock is invisible online

Your storefront total is deliberately smaller than your company total, and that is the design rather than a fault.

Say a product sits in three places:

LocationTypeUnitsOffered by your online store
Warehouse AWarehouse120Yes
Retail 1Retail counter34Only if mapped to that store
Pop-up eventEvent12No

You own 166 units. Your store correctly offers 120. The reason is not a technical limitation, it is that those other 46 units cannot be posted to an online customer tomorrow.

  • Consignee stock is on someone else's shop floor. Selling it online would mean promising a unit that a walk-in customer may buy an hour later, from a shelf you cannot see.
  • Event stock is in a van or on a trestle table. It exists to be sold by hand, this weekend, and it is coming back.
  • Production partner stock is raw material mid-process. It is not a finished product yet, and it may never be that product.
  • Wholesale relationships ingest orders but never receive a stock push. Orders flow in; quantities do not flow out.

One trap lives here. Because a storefront's number is the sum over the mapped locations, a location holding a negative quantity drags that sum down. A count or return booked to the wrong place can pull a healthy product to zero online while every shelf you can see has stock on it.

Closing a location down

Deactivate. Never delete.

Every ledger entry ever written names a location, so removing one would leave years of history pointing at nothing and would break every number derived from it. Deactivating keeps the history readable and simply stops the location appearing in the pickers.

Before you deactivate, the app shows you what is still attached: units on hand, open purchase orders, open deliveries, transfers in flight, consignee reports not yet closed. Move the stock out first — an event stall that ends with 12 units still on it has not really ended.

Explore

The stock ledger. Every entry names a location, and the ledger is where you find stock booked to the wrong one. Learn more →

Moving stock between locations. The one supported way units change place. Learn more →

A product shows 0 online. The most common cause is stock sitting at a location that store cannot sell from. Learn more →

Read next