Skip to main content
Bin locations let you track where inside a warehouse each item is stored. Each warehouse defines its own segment structure — for example Aisle · Rack · Shelf — and every bin is a combination of segment values. Turn bin locations on per warehouse; warehouses without them keep working exactly as before.

Prerequisites

  • An active warehouse. See Warehouses.
  • Permission to edit warehouse setup.

Enable bin locations

1

Open the warehouse

  1. In the sidebar, open Inventory → Warehouses.
  2. Click the warehouse to expand its editor.
2

Turn on Bin locations

Toggle Bin locations on. A Create/Edit Bins button appears alongside the toggle.
Warehouses without the toggle keep a single implicit location; Receive stock and Adjust stock dialogs never prompt for a bin.

Segment structure

Every bin code is composed from ordered segments joined by -. You define the segments once per warehouse.
1

Open the structure editor

From the warehouse editor, click Create/Edit Bins, then Bin location structure.
2

Add segments

Click Add segment. Give it a name (for example, Aisle) and a code length (the fixed number of characters each value uses). Drag the grip handle to reorder segments — order determines how bin codes read left to right.
3

Define values

Switch to the Segment values tab. For each segment, click Add value and enter a code (up to the segment’s length) and an optional description. Drag to reorder, or toggle a value Inactive to retire it without deleting historical bins.
The Live preview panel shows the code template — for example XX-XX-X for a three-segment layout.
Deactivate values instead of deleting them. Existing bins keep their codes; deactivated values just stop appearing in new pickers and generation previews.

Example: Denver DC

Trail Ridge configures three segments on Denver DC: Composed bin codes read A1-R1-1, A1-R1-2, and so on.

Generate bins preview

The Generate bins panel previews how many bin codes your segment structure and values would produce. It does not create bins — you add bins one at a time from the bin list. Each rule shows its bin count. The footer sums unique codes across all rules.

Create and edit bins

1

Open the bin list

From the warehouse editor, click Create/Edit Bins. The list shows one column per active segment plus Bin code, Description, and Status.
2

Add a bin

Click New bin. Pick a value for each segment — the picker cascades: after you pick the first segment, later segments only suggest values that already exist in that context, so it’s easy to fill in gaps without duplicating bins.
3

Save

The Bin code field auto-composes from your picks. Add an optional Description and click Create bin.
Edit an existing bin by clicking its code or Edit. Saving recomposes the code from the current segment values. Deactivate bins you no longer stock; delete only bins that never held inventory.

Allocate stock to bins

When a warehouse has bin locations on, Receive stock and Adjust stock show a Bin allocations editor:
  • Click Add bin, pick a bin, and enter the quantity for that bin.
  • Split a receipt across multiple bins by adding more rows.
  • The editor shows how much of the transaction quantity is still unallocated; you must allocate the full quantity before saving.
Outbound fulfillments allocate from bins that hold the item, respecting on-hand quantity per bin.

Bin stock report

From the warehouse editor, click Create/Edit Bins → View bin stock, or open Warehouses → [warehouse] → Bin stock directly. Search filters by bin code, SKU, or item name.

Warehouses

Create warehouses and enable bin locations.

Stock on hand

Quantities rolled up by item and warehouse.

Troubleshooting

Bin locations are off for the selected warehouse. Turn on Bin locations on the warehouse editor.
The value is either inactive or its segment has no values yet. Open Bin location structure → Segment values and add or reactivate the value.
Legacy bin codes are preserved as-is. adorabl created Aisle and Rack segments automatically for warehouses that already had bins. Edit a bin and save to recompose its code from segment values.