Docs navigation
Home / Docs / Bins & locations

Bins & locations

How stock is placed inside a warehouse — bins, the Unassigned location, the primary bin every SKU gets automatically, what counts as a location, how pick lists and builds choose a bin, changing where a SKU lives even with nothing on hand, replenishing the pick face from back stock, and how to move stock, count it, and keep the bin list in walking order.

A warehouse is a building. A bin is a place inside it: a shelf, a rack slot, a pallet position, the floor by the door. Foundry tracks stock per bin, so the same SKU can sit in a pick-face bin and a back-stock bin at once and each shows its own count.

Everything on this page is per warehouse. A SKU’s bins in one warehouse have nothing to do with its bins in another.

Bins and the Unassigned location

Bins live under Warehouses, on the warehouse’s Bins tab. Names are unique within a warehouse and case does not matter, so A-1 and a-1 are the same bin. You can also create a bin from any bin dropdown: the first entry is always + New bin…, so putting stock into a bin that does not exist yet is one step, not a trip to the Bins tab and back.

A bin can be deleted only while it holds nothing. If it does, Foundry refuses and tells you to move the stock out first. Deleting a bin needs the warehouse-manage permission.

Stock that has never been given a bin sits in Unassigned. It is not a bin, it is the absence of one: the place stock lands when it arrives and nobody has said where it lives. Stock in Unassigned still counts as on hand, still reserves against orders, and can still be picked. It just cannot tell a picker where to walk.

Two things follow from that:

  • Unassigned can never be a SKU’s primary bin.
  • Once a SKU has a real bin in a warehouse, an empty Unassigned row there is just the trail left by the move, and Foundry stops showing it. It reappears the moment stock lands in Unassigned again, and it is never hidden while it holds anything: on hand, reserved, or inbound.

The primary bin

Each SKU has at most one primary bin per warehouse: the place it is normally pulled from and put back. It shows as a Primary badge on the warehouse’s inventory list and on the SKU’s stock panel.

You do not have to set it. The first bin a SKU is put into becomes its primary bin, however the stock got there: Add SKU, an adjustment, a move out of Unassigned, receiving a purchase order, a stock count import. A SKU with exactly one bin always has that bin as its primary.

When a SKU already has a primary and you put stock into a second bin, the primary stays where it was. Back stock does not steal the pick face just by being bigger.

If the primary bin is ever deleted, the fullest remaining bin that holds stock takes over on the spot. An empty bin is never promoted on its own: a SKU whose bins are all empty keeps the primary it had, and gets one again the next time stock lands in a bin or you assign one.

To choose a different bin yourself, use Make primary on that row of the warehouse’s inventory list. The count sheet has a primary column for the same job in bulk: put an x in it on the row for the bin you want, and leave it blank everywhere else. A sheet that marks two bins primary for the same SKU is refused rather than guessed at.

What the primary bin decides

  • Pick lists print the primary bin first for each line, then the SKU’s other bins, so a picker goes to the pick face before back stock. Bins with stock in them are listed even when they are not primary.
  • Drawing stock with no bin named on the request comes out of the primary bin first, then the fullest of the rest. A pick list that named a specific bin wins over the designation, because that is where the picker was actually sent.
  • Builds put finished goods into the primary bin. A work order or Quick Build that names no output bin lands the assembly in its primary bin. If it has none and the components all came from one bin, that bin is used; otherwise Unassigned.
  • Returns put goods away to the primary bin, and the put-away list is walked in bin order.
  • Unbuild returns components to their own primary bins.

What counts as a location

A location is a place a SKU lives. A row with nothing in it — nothing on hand, nothing reserved, nothing inbound — is not one, unless it is the SKU’s primary bin. Foundry drops such rows from the warehouse inventory list, the SKU’s stock panel, the returns put-away list and the count sheet on its own. Nothing to delete, nothing to tidy: a back-stock bin that sells down to zero disappears, and a SKU that only ever sat in Unassigned at zero has no location at all.

The primary bin is the exception. An empty pick face is still where the SKU lives, and an empty one is exactly what the Replenish list is for, so it stays listed at zero with its Primary badge.

A hidden row is hidden, not gone. Its activity history stays on the SKU, and it comes back the moment stock lands there again. Tick Show empty locations on the inventory list to see every hidden row; they cannot be hidden while they hold anything, whichever way you look.

Changing where a SKU lives

Open the SKU’s row on the warehouse inventory list and use Change location. The location itself moves, not a quantity:

  • It works with nothing on hand. A SKU that has sold out of A-2 can be moved to B-5 before anything arrives, and a SKU that has never been stocked can be given a bin from its product page (the location pin on the Warehouse Stock card), or from the same card once it is stocked.
  • If the bin holds stock, all of it goes along, recorded in the activity history as a bin move.
  • The Primary badge and any Min / Fill to levels follow when the bin was the pick face, or when the SKU had no pick face yet.
  • The old row disappears from the lists. Its history is kept.

Move stock is the other button on the same row, and it is for something different: moving some units to another bin while the SKU keeps living where it is. Moving everything out that way leaves the row behind as an empty pick face; use Change location when the pick face itself is moving.

Remove location takes an empty row off the SKU entirely — the SKU no longer lives in that bin. It is offered only while nothing is on hand, reserved or inbound there; with stock in it, Foundry tells you what is there and asks you to move or adjust it first. If the bin was the primary, the fullest bin still holding stock takes over; if none does, the SKU has no primary until it is given one. Remove is also on each empty row of the inventory list, which is where you find them with Show empty locations ticked.

Moving stock between bins

Open the SKU from the warehouse’s inventory list and use Move stock. A move is two entries in the activity history, out of one bin and into the other, and the warehouse total does not change. Moving stock out of a bin leaves that bin’s row behind at zero; if it was the pick face it stays listed, otherwise it is hidden until you tick Show empty locations or stock lands there again.

To move the location itself rather than a quantity — including a bin with nothing in it — see Changing where a SKU lives.

Replenishing the pick face

When a SKU’s primary bin runs low while more of it sits elsewhere in the warehouse, nothing needs building. Stock just needs to move forward. Work Orders → Replenish is the list of those moves.

A primary bin appears there when it is below its Min, below what open orders need, or empty, and only when another location in the same warehouse holds stock to bring forward. A low pick face with nothing in the back is a purchasing or build problem, and the build queue already owns those.

Each row shows the pick face, where the back stock is, and a suggested quantity: enough to reach the bin’s Fill to level when one is set, otherwise enough to cover the minimum or the open orders. A bin with no levels and nothing on order gets no suggestion, and the quantity is yours to type. Edit the quantity if the shelf will not take it, pick the source bin if there are several, and press Move. The move shows in the activity history as a replenishment. Print gives a sheet walked in source-bin order for someone with a cart.

Min and Fill to are set by opening the primary bin’s row in the warehouse inventory list. Leave them blank and the bin is still listed when it is empty or when orders need more than it holds.

Counting stock by bin

Export on the warehouse’s Inventory tab downloads a count sheet with one row per SKU per bin, including the current on-hand figure and a blank counted column. Fill in what you found, add rows for bins Foundry did not know about, and import it back. The preview shows every adjustment before anything is applied, and a bin name the warehouse has never seen is created on import if you ask it to.

Empty locations are left off the sheet by default, the same rule as the inventory list. That is safe for a full recount: a row that was already at zero and stays at zero has nothing to say.

Bin order

Pick lists, put-away lists and the bin list itself all walk the warehouse in the same order. Out of the box that is natural order, which sorts D-2 before D-10 rather than the plain-text order that would put D-10, D-2 and D.1.0 in a sequence nobody walks.

If your warehouse has its own walking order, switch on Manual order on the Bins tab and drag the bins into the sequence you want. Every pick list uses it from then on. Bins created after that appear at the end until you place them.

Permissions

ActionPermission
See bins, stock by bin, and movement historywarehouses.read
Add, adjust or move stock; make a bin primarystock.adjust
Export and import a stock countstock.count
Create, rename, reorder or delete bins; switch on manual orderwarehouses.manage