Cart

Inventory

Products on SmartPart are configured and made to order, so there is no stock of products. What runs out is what they are made of: board, legs, cheese, boxes. The stock register keeps those, and orders draw on them by themselves.

This page walks through it with one example throughout: a workshop that makes tables from oak board and table legs.

Who can do what

RoleWhat they can do
Administrator, FulfilmentEverything on the Stock pages - add items, receive, adjust, count, edit details - and the Stock panel on an order.
Editor, CreatorGive a product its parts formula and decide what happens when stock is short.
Supplier, CustomerNothing in the register. A customer sees In stock, allow N extra days or Out of stock, and never a quantity.
Stock is staff business. Customers only ever see whether something is in stock.

The register is under Menu → Orders → Stock.

Adding an item

A stock item is something you keep and use up. Click New item on the Stock page and fill it in:

FieldWhat it is for
SKUThe item's code, e.g. OAK-25. Upper-cased as you type, and fixed once saved - product formulas name items by it. Letters, digits, . _ -.
NameWhat people call it: Oak board 25mm.
Uniteach, m, m², m³, kg or litre. Fixed once any stock has moved - 12 kg does not become 12 each by renaming the unit.
Opening stockWhat is on the shelf today. Recorded as the item's first count.
Reorder pointWhen what is available falls to this, the item is flagged Low.
Reorder quantityHow much you usually order.
Restock daysHow long a delivery takes. Customers are quoted this when an order needs more than you have.
Supplier, Supplier's codeWho you buy it from, and their code for it.
Unit costRand per unit, excluding VAT.
LocationShelf, bin or store - wherever someone goes to find it.

Reading an item

The four figures at the top of an item's page:

FigureMeaning
On handPhysically on the shelf.
ReservedHeld for orders that have not started yet.
AvailableOn hand less reserved. The number that matters for selling and for reordering.
Reorder atThe reorder point, with the usual order quantity and restock days.

Below them is Movements: every change, numbered, with the balance it left, what it did to reserved, the reference or note, the order that caused it if any, and who made it.

Day-to-day stock work

Three buttons on the item's page cover everything done by hand.

ButtonUse it whenWhat you enter
ReceiveA delivery arrived.The quantity, and optionally the unit cost and the delivery note or invoice number.
AdjustSomething changed that is not a delivery - breakage, a return, a write-off.A signed change, such as -2.5, and a reason (required). Stock cannot be adjusted below zero; if the figure is that far out, count instead.
CountYou have counted the shelf.What is there. The difference from the records is shown as you type, and recorded - a count that matches is still worth recording.

The Details card at the bottom holds the item's settings. History shows who changed which setting, and when. Archive retires an item you no longer use: it keeps its history, but takes no movements until it is made active again.

Connecting a product to stock

A product draws on stock through its parts formula, in the Stock card of the product editor. The formula says what one unit takes, as configured, and returns a list of SKUs and quantities. For a table with width and depth controls in millimetres:

var area = gui.width * gui.depth / 1000000;   // mm² to m²
return [
  { sku: 'OAK-25', qty: area },
  { sku: 'LEG', qty: 4 },
];

A product that uses no stock has no parts formula.

Next to it, When stock is short decides what a customer is told when the register cannot cover their configuration:

SettingWhat the customer sees
Take the order, quote a longer lead time (the default)They can buy it, and are told Materials on order: allow about 7 extra days - the slowest short item's restock days.
Stop selling while shortAdd to cart becomes a disabled Out of stock button, and checkout refuses it before payment.
Say nothingNothing. Stock is still reserved and used behind the scenes.

What an order does to stock

Nothing here is done by hand: stock follows the order's fulfilment state.

🖱️ Ctrl/⌘ + scroll or pinch to zoom · drag to pan · double-click to reset

100%
An order's stock. Reserved when it is placed; used once work starts, or released if it is cancelled first.
When the order is...StockFor one table taking 1.62 m² of oak
PlacedReservedReserved +1.62, available -1.62. On hand does not change.
In manufacture, or any later stateUsedOn hand -1.62 and reserved -1.62.
Cancelled before manufactureReleasedReserved -1.62: available again.
Cancelled after manufacture startedNothingThe wood is cut. If it really goes back on the shelf, record it with Receive or Adjust.
On holdNothingStays reserved.

Each of these appears in the item's movements as Reserved, Used or Released, linked to the order. The order's own page has a Stock panel: what it reserved, where that stands, and a Not reserved list of anything that could not be - a SKU the register does not have, an archived item, a formula that failed.

What customers see

  • On the product page, under the price, for the configuration on screen: In stock, Materials on order: allow about N extra days, or - for a product that does not sell short - Out of stock in this configuration, with Add to cart withdrawn.
  • At checkout, when the cart is priced: a line that cannot be sold short is refused before any payment is asked for, and named. Lines that will take longer are listed under Some items will take longer.

A customer never sees a SKU, a quantity or a supplier.

Staying on top of it

  • Needs attention, the second tab on the Stock page, lists every item that is Out (nothing available) or Low (at or below its reorder point).
  • The reorder email, each morning at 07:00, sends the orders mailbox the items that have newly run low, grouped by supplier, with the usual order quantity and the supplier's code. Each item is listed once, and again only after it has been back above its reorder point. Ordering is still a person's decision. It runs only where scheduled tasks are switched on (SCHEDULED_TASKS_ENABLED=true) and an orders mailbox is set.

Putting mistakes right

SituationWhat to do
A delivery was received with the wrong quantityAdjust by the difference, giving the reason - correcting DN 4471.
The shelf and the records disagreeCount.
On hand is below zeroCount: something was used that was never booked in.
Wrong reorder point, supplier or costChange it under Details. It is in the item's History.
Wrong SKU or unitThese cannot change. Archive the item, add a new one, and update the product's parts formula.
An order shows Not reservedAdd the missing item, or correct the SKU in the parts formula. That order does not reserve again by itself - adjust stock by hand if it needs to.