Skip to main content

Putaway rules and pick lists

Route incoming goods to the right warehouse automatically, and fill orders from a guided pick list that reserves stock as it goes and becomes a delivery note when complete.

Two ends of the same day: goods arrive and need to land in the right place, and orders go out and need to be picked without anyone guessing. Putaway rules handle the first, pick lists handle the second, and both are deterministic so two people running the same receipt get the same answer.

Putaway: decide where received stock goes

A putaway rule says “this item, or this group of items, belongs in this warehouse.” You write the rules once and receiving stops being a judgment call.

“Blue chairs always go to Main. Everything else in Furniture goes to Overflow.”

Matching is resolved in a fixed order, which is what makes it predictable.

  1. An item match (--match-item) beats an item-group match (--match-item-group).
  2. Within the same kind of match, lower --priority wins.

So the specific rule always beats the general one, and you can layer a catch-all group rule underneath item-level exceptions without them fighting.

Review and adjust in the same way. “Show me the putaway rules” gets you the list, and “move the furniture rule ahead of the chair rule” changes the priority. Turning a rule off soft-disables it, so it stops applying and stays on the record.

Deleting soft-disables the rule rather than erasing it, so a rule you turn off is still auditable later.

Apply putaway to a receipt

“Where does this delivery go?”

This computes the routing for a material_receipt and tells you where each line lands. It is deterministic: the same receipt and the same rules produce the same routing every time, which matters when someone asks six weeks later why a pallet ended up where it did.

Note the scope. Putaway here is warehouse-level routing, not bin-level slotting inside a building.

Pick lists: fill an order without guesswork

A pick list turns an open sales order into a list someone can walk, holds the stock while they walk it, and becomes a delivery note at the end.

“Make a pick list for order 1042.”

That drafts a pick from the open lines on the order. Where the pick is not order-driven you can add lines yourself, item by item.

Submit, pick, complete

“Release that pick list to the floor.”

Submitting places hard reservations for the quantities on the list. From this point the stock is spoken for, and an issue that would breach it is refused. That is the whole point: the picker walks out to the aisle knowing the quantity is still there.

Then record what was actually picked, line by line. In practice this is the picker reporting back: “picked all 40 blue chairs.”

Actuals matter more than intentions here. When every line is fully picked the list moves to picked, and short picks stay visible rather than being rounded away.

Completing consumes the reservations and generates the delivery note, so the paperwork follows the physical movement instead of being typed in afterwards.

If the pick is abandoned, cancel it.

Cancelling releases the reservations, and the stock is immediately available to everyone else again.

Common questions

Does putaway work at bin level? No. It routes to a warehouse. Bin-level slotting inside a building is a different problem and this feature does not claim to solve it.

What if two rules could match the same item? The order is fixed: item match beats item-group match, then lower priority wins. There is no ambiguity to resolve at receipt time.

Does deleting a rule lose the history? No, it soft-disables. The rule stops applying and stays on the record.

Why does submitting a pick list reserve stock rather than picking it? Because the gap between drafting a pick and walking it is where double-promising happens. The reservation closes that gap. See stock reservations for the mechanism, and item substitutes for the ranked fallback when a line is short.

What happens to reservations if a pick is only partly filled? The list records the actual picked quantity and stays open. Completing it consumes the reservations behind the quantities actually picked; cancelling releases everything.

Do I have to start from a sales order? No. create-pick-list --from-sales-order is the common path because most picks are order-driven, but you can build a list line by line with add-pick-list-item.

Does completing a pick create the delivery paperwork? Yes. complete-pick-list generates the delivery note as part of completion.

Reference: the actions behind this page

You never have to type these. They are what ERPClaw runs when you ask, and they are here for anyone calling the API or MCP surface directly, or reading a log.

add-putaway-rule --match-item CHAIR-BLUE --warehouse "Main"
add-putaway-rule --match-item-group "Furniture" --warehouse "Overflow" --priority 20
list-putaway-rules
update-putaway-rule --id <rule-id> --priority 10
delete-putaway-rule --id <rule-id>
apply-putaway-on-receipt --stock-entry <stock-entry-id>
create-pick-list --from-sales-order SO-1042
add-pick-list-item --pick-list <pick-list-id> --item CHAIR-BLUE --qty 40
submit-pick-list --id <pick-list-id>
mark-picked --pick-list <pick-list-id> --item CHAIR-BLUE --picked-qty 40
complete-pick-list --id <pick-list-id>
cancel-pick-list --id <pick-list-id>