How to Set Up Bin Locations in Your Warehouse
A bin location is an address for a place, not a label for a product, and most rules about designing one follow from that. Number the parts of the building that do not move, keep anything changeable out of the code, and resist the instinct to address every gap in the rack, because some of those gaps are deliberate and the system is the wrong tool for keeping them clear.
A bin location is an address for a place, not a label for a product. That distinction sounds pedantic until you watch a scheme fail, and then it explains a great many of the failures: codes reprinted every time a product moves, codes nobody can read aloud over a radio, codes that sort into a pick path no picker would walk.
GS1, which maintains a widely used family of supply chain identifier standards, defines a physical location as "a tangible place that may be represented by an address, coordinates, or other means." The word doing the work is tangible. A bin location names a piece of steel and air; what is sitting in it today belongs somewhere else.
What a bin location is, and what it is not
Three things get confused with each other. The address is the bin location: a coordinate in your building. The assignment is which product lives at that coordinate, which is warehouse slotting, and it changes as demand changes. The layout is where the racks stand in the first place, which is warehouse layout design, and it changes rarely and expensively.
Bin locations sit in the middle. They should be roughly as stable as the layout and indifferent to the assignment. Note the word roughly: beam levels get moved, and converting a bay from pallet to shelving is an ordinary weekend job. No scheme prevents that. What a good scheme prevents is relabelling caused by something that was never the address's business.
GS1's treatment of sub-locations is a useful test to borrow, with a caveat. GS1 says a sub-location warrants its own identifier where there is a business need to distinguish it across organisations and it has a different access address. That is a rule about identifiers exchanged between trading partners, not about internal codes. The underlying question still travels: give a space its own code when somebody has to be directed to it separately.
What belongs in the code, and what must never go in it
Most schemes are some arrangement of four fields: a zone or aisle, a bay along that aisle, a level up the upright, and a position across the bay. Something like A-12-03-02 reads as aisle A, twelfth bay, third level, second position. The separators matter less than three properties.
Fixed width, always. A-12-03-02 and A-12-3-2 look like the same place to a person and like two places to a system. The damage is not a scruffy sort order, it is two location master records for one piece of steel with your on-hand split between them, which produces phantom stockouts and inventory nobody can pick. Zero-pad every field to the widest value the building will ever hold, then add a digit.
Readable aloud. Somebody will say this code over a radio or into a headset while operating equipment. Letters that sound alike under noise cost real time, and so does mixing the letter O with the digit zero, or I with 1.
Nothing that describes the contents. Do not encode the product, the stock owner, the velocity class, the ABC band, or the season. Each is a fact about what is in the location rather than about the location, and all of them change while the steel does not.
The line is structure versus contents, and schemes get it wrong in both directions. A freezer, a cooler or a hazmat cage is a fixed and expensive part of the building, so putting it in the zone field is correct. A temperature requirement attached to a product is not.
GS1 draws a version of this line inside its own standard: a GLN extension component, the part of the key identifying a sub-location, "SHALL only be used in conjunction with a GLN identifying a physical location" and must not be associated with party identification. That is GS1's rule for GS1's identifier, not one anybody imposes on your internal codes. The reasoning transfers anyway: an identifier for a place that also identifies a party stops being an identifier for a place the moment the party changes.
How to number aisles, bays, levels and positions
Number aisles in the order somebody walks them rather than the order the drawing was drafted. This is close to free before labels are printed, and recoverable afterwards: most warehouse management systems carry a travel or pick-sequence field per location precisely so the printed code need not match walk order. You change a sort field, not the steel.
Bays run along the aisle in one consistent direction. Whether you count up one side and back down the other, or run both sides in parallel with odd numbers on the left and even on the right, matters less than holding one convention across the building. The odd-even convention has a consequence worth knowing: a picker at bay 12 has 10 and 14 within reach on the same side, while 11 and 13 are across the aisle. Both arrangements work, but mixing them in one building is how cartons get put away one bay off.
Levels run from the floor up, with the floor as level 1 rather than 0. Skipping the floor level because it does not feel like part of the rack is a mistake: an unnumbered position is still a position, and people will store things in it.
Which products belong at which level is a slotting question, not an addressing one, and the answer is not universal: some operations put the fastest movers on the floor, others reserve floor level for bulk pallets and put the pick face at waist height. The scheme should express the level and stay out of the argument.
Positions across the bay need a field even when today's bays hold one pallet each. Keep it at 01. The moment any part of the building gets carton flow, shelving or a pick module, a scheme without the field gives you two label templates and a ragged location master.
The spaces that must never get a code
Racks are loaded with flue spaces left clear: deliberate gaps between back-to-back rows and between pallets, so heat can rise to the sprinklers and water can get down into the rack. The Rack Manufacturers Institute, a trade association for rack makers, describes them as typically around six inches and points to NFPA 13 as the design standard for sprinkler installation. On blockages RMI is blunt: "heat from the fire cannot rise to the ceiling as quickly — delaying the initiation of the sprinklers," and "obstructed flue spaces prohibit the flow of water from the sprinklers through the racking." It attributes them often to inadequate forklift driver training, and to pallet loads or overhang larger than the rack was designed for.
Now hold that next to the instinct every addressing project has, which is to address the building as densely and consistently as possible. Density is a reasonable objective for storable positions. It is the wrong objective at the flue, where it tempts you into giving the flue a code so the system can mark it as a location that must stay empty.
Do not do that. The idea is superficially appealing, so it is worth being specific about why.
A scannable label in a flue creates a putaway path that did not exist before. Every warehouse management system has an override, and a location that can be scanned can be received into. It also assumes a location type most mid-market systems do not really offer: scannable and genuinely unfillable is not usually one of the available states. On a double-row rack the flues outnumber the positions on some levels, so you could roughly double the location master, which sends cycle counters to verify permanently empty bins, breaks every utilisation report that does not filter the new series, and costs money in systems that meter on active locations. And a transaction history that can show stock having been in a named flue is a record you would rather not have created.
Flue spaces are an engineering problem with an engineering answer. Flue keepers, pallet stops and row spacers hold the gap physically whether or not anyone is paying attention, which is what RMI recommends alongside training and visual labels. Those are stronger controls than a flag in software, and the addressing layer's job is not to compete with them.
That leaves one useful addressing lesson, and it is the opposite of the usual advice: completeness is not the goal. A scheme that addresses every gap it can find will eventually address something that exists in order to stay empty. Address storable positions, mark the deliberate voids physically, and let each system do what it is good at. That is an argument rather than a finding — no source here measured what happens to an unaddressed gap — but it follows from what the sources say about where blockages come from and what stops them.
The same restraint applies to clearances in front of electrical panels, the swing of a fire door, and the safe clearances OSHA requires where mechanical handling equipment is used, "for aisles, at loading docks, through doorways and wherever turns or passage must be made." Those are floor markings and signage, not location records: OSHA requires permanent aisles and passageways be appropriately marked and kept clear, and that clearance signs warn of clearance limits.
Rolling out a scheme that is already in use
Changing a live scheme is the hard case, and it is mostly a sequencing problem.
Do it zone by zone: count, relabel, recount, reconcile, then start the next. Cycle counting after relabelling checks the mapping was applied rather than intended, though it is not the only check — a reconciliation report showing old location IDs still holding stock, new locations never touched and orphaned records tells you much the same in minutes.
Before the cutover, deal with whatever points at the old codes. Open pick tasks and existing allocations reference locations, and so do downstream integrations or customer systems that were given location codes at some point. Those are what turn a clean relabel into a Monday morning outage.
Keep an old-to-new mapping table for a full counting cycle and make it queryable from the floor. Somebody will find a carton with a handwritten old-format code months later.
Print and mount labels before the cutover, and check the label stock against the environment: standard adhesive fails quickly in a freezer. A relabel is also the moment floor markings, clearance signs and rack labels are all being touched at once. Separately from the aisle rules above, OSHA's walking-working surfaces standard requires workplaces, passageways and storerooms be kept "in a clean, orderly, and sanitary condition" and surfaces maintained free of hazards. One pass beats two.
Before you print four thousand labels
Walk one aisle with the draft scheme on paper and a scanner in hand. Read five codes aloud to somebody at the other end of it. Hand a code to someone who does not know the scheme and see whether they find the product. Check the codes sort into the order a person would walk. Then confirm your barcode scanning setup reads the label from where the operator actually stands, including from an order picker at the top level, before the print run rather than after it.
Labels are cheap. Reprinting a building is not.
Frequently asked questions
What should a bin location code contain?
The parts of the building that do not move: a zone or aisle, a bay along that aisle, a level up the upright, and a position across the bay. A fixed physical zone such as a freezer or a cooler belongs in the code too, because it is structure rather than contents. Keep every field a fixed width and zero-padded. Leave out the product, the stock owner, the velocity class and the season.
How is a bin location different from slotting?
A bin location is the address. Slotting is the decision about what goes in it. The address should stay stable for as long as the steel is arranged the way it is, while slotting decisions change every season as demand moves. If you encode a slotting decision into the address, you have to relabel steel every time the decision changes, which is why velocity or fast-mover codes do not belong in a location code.
Should every space in the rack get a bin location?
No. Flue spaces, the deliberate gaps between back-to-back rows and between pallets, exist so sprinkler water can reach a fire inside the rack, and they must stay clear. It is tempting to give them codes so the system can police them, but a scannable label in a flue creates a putaway path that did not exist before. Keep them out of the location master and hold them physically instead.
Plan the route. We deliver the rest.
See how Binlogic powers last-mile logistics — routing, tracking, and the platform that turns the plan into the package on the doorstep.
Book a callback