Orders are not written here. They are received here.
A shop till is where a sale happens. The ledger behind the shop is where the sale is recorded, minutes later, by someone who was not standing at the till. Mossery is the ledger, not the till.
Every order in the app began somewhere else — a storefront, a marketplace, a wholesale account. Understanding that one fact explains most of what the Sell stage does, including why an order can look different here than it does on the store you sold it on.
This page covers:
- How an order reaches you
- What arriving does to your stock
- Which location an order is booked against
- Made to order lines reserve their parts
- Wholesale comes in but never goes out
- Lines the app cannot match
How an order reaches you
Two mechanisms, one result.
Notified. A connected storefront tells the app the moment something happens: an order is placed, fulfilled, cancelled, refunded, or edited. Each message creates or updates the matching order here, usually within seconds. This is how a modern online store works, and it is the path most orders take.
Polled. Some marketplaces cannot notify you. For those, the app asks on a schedule instead — "anything new since last time" — and processes whatever comes back. The order looks identical once it has landed; it just arrives in batches rather than one at a time.
Either way, every order keeps the name of where it came from. That origin is stamped on the record permanently and is the single most useful filter on the orders list, because it separates "our own store had a bad morning" from "one channel is broken".
Repeat messages are expected and handled. Storefronts retry when they are unsure a message got through, so the app checks whether it has seen a delivery before, and checks the order's current state before acting. An order already marked fulfilled does not get fulfilled twice.
What arriving does to your stock
An arriving order reserves stock. It does not remove any.
This is the single most important rule in the app, and it is deliberate. The moment an order lands, the units it needs are marked as promised. They are still on the shelf, still countable, still yours. What has changed is that they are no longer offered to the next customer.
| What happened | On hand | Reserved | Available to sell |
|---|---|---|---|
| Order arrives | Unchanged | Goes up | Goes down |
| Order is picked or packed | Unchanged | Unchanged | Unchanged |
| Order is fulfilled | Goes down | Goes down | Unchanged |
| Order is cancelled | Unchanged | Goes down | Goes up |
Deduction happens at fulfilment and nowhere else. Cancel an order that never shipped and the reservation simply lifts — nothing has to be put back, because nothing was taken. Systems that deduct at order time spend their lives reversing themselves, and a reversal that quietly fails leaves a number nobody can explain.
Each order also carries a status you can read at a glance: unfulfilled, fulfilled, cancelled, refunded, flagged with a sync problem, or closed by hand. The last one is the escape hatch for an order that will never resolve on its own — closing it releases the reservation and leaves a permanent note saying a person did it.
Which location an order is booked against
Stock is only real somewhere, so every order has to name a place.
If the storefront says which of its locations the order belongs to, and that location has been matched to one of yours, the order is booked there. That is the accurate case and the one to aim for.
If the storefront names a location you have not matched yet — or names none at all, which happens on orders spanning several locations — the order falls back to your main warehouse and the app records a note saying so. The fallback keeps orders flowing, but the note matters: every unmatched location is stock being reserved in the wrong building, and the fix is to finish the location matching rather than to correct orders one by one.
Made to order lines reserve their parts
A product with no finished units still reserves something real.
Products you never pre-build have nothing on the shelf to promise. So when an order arrives for one, the app looks at its parts list and reserves the components instead — the pieces that do exist. Order three of a made-to-order set and the ribbon, the card and the box are each reserved in the quantities three sets would consume.
Two consequences follow, and both are what you want:
- Components stop being double-promised. The next order sees them already spoken for, instead of cheerfully accepting work you cannot do.
- A product built partly ahead and partly on demand takes finished units first, up to what is on hand, and only reserves components for the shortfall.
If several lines on one order share a component, the reservations are added up and applied once rather than line by line, so the component's promised figure stays honest.
Wholesale comes in but never goes out
Wholesale is a one-way street, on purpose.
A wholesale storefront can be connected like any other, and its orders ingest exactly the same way — the record appears, the lines resolve, the stock is reserved, and fulfilment deducts. That half is normal.
What never happens is the reverse. Stock levels are never pushed out to wholesale, to a consignment partner, or to an event stall. Those places are not shop windows you are stocking; they are accounts and outposts holding units whose availability you do not want to advertise as your own. Pushing to them would offer the same physical unit twice, once to the public and once to a partner.
The same reasoning covers stock sitting at a production partner or half-built in an assembly area. It exists, it is on your books, and it is not for sale until it comes back.
Lines the app cannot match
Not every line on an order is a product, and not every product is recognised.
- No matching product code. The line is kept on the order so the paperwork stays complete, but no stock is touched and a sync problem is recorded naming the order and the code. Reserving against a guess would be worse than reserving nothing.
- Not a product at all. Tips, custom charges and other free-text lines have no code and no product behind them. They are skipped for stock purposes and left on the order for the money to add up.
Both cases are worth clearing rather than tolerating. An unmatched code is usually a product that exists on the storefront and not yet in the catalogue, and every order carrying it is one whose stock effect silently did not happen.
Explore
When stock actually moves. The deduction half of the story: why fulfilment is the only event that changes what you own. Learn more →
Product types and stock modes. Why a made-to-order line reserves components while a ready-stock line reserves the product itself. Learn more →
How stock reaches your channels. The outbound direction — how the number an order just changed gets back to the store that sold it. Learn more →