AWRA OpsHub Search

The Shelf That Could Not Be Full

A storage location here has a capacity. Until 1 October 2026 nothing read it, nothing warned because of it, and it carried no unit. It is now counted in stock units, shown as a percentage full, and raised as an alert when a location goes over — and it still never refuses a delivery, on purpose.

Inventory Insights AWRA OpsHub Team 9 min read

The position, stated first

The capacity field used to be inert, and we said so rather than let you configure it. When we wired it we kept to the argument this post made: a hard refusal on putaway would be satisfied by somebody typing a different location, and a system full of deliberate lies is worse than a system with an unenforced number. So capacity now warns and measures. It does not block.

Storage capacity is one of the few constraints in an operation that is genuinely physical. A shelf is a certain size. When it is full, it is full, and no amount of configuration changes that.

Which makes it an interesting thing to model badly, because the physical world enforces it whether or not the software does.

What was there, and what is there now

A nullable integer on a location, editable when you created or changed one and shown in the location list. A search of the application for anything reading it found the model property, the fillable list, the cast, and two lines in the controller that wrote it as null. No putaway check consulted it, nothing warned, and no screen showed how full anything was.

Since 1 October 2026 the number is saved from the forms and the API, and it means one thing: a count of stock units, the same units stock on hand is held in. The location list shows each location's on-hand against its capacity with a percentage full, and flags any location that is over. An edit that leaves a location over its capacity says so. And a Smart Alert in the Ops Center, Locations over capacity, lists the locations holding more than they should, fullest first.

3
Places it now shows: the location list, an edit warning, a Smart Alert
1
Unit it is counted in — stock units
0
Receipts it will refuse, by design
6
Inert settings we published in one month, four now wired

The unit problem, and the unit we chose

Capacity used to be a number with no unit attached. One warehouse manager would enter pallets. Another would enter cases. A third would enter cubic metres, and a fourth the number of distinct items they thought fit.

Wiring it meant choosing, because a percentage is only meaningful if both sides of it are in the same unit. We chose stock units, because stock on hand is already held in them and the comparison needs nothing else. That is honest about what it measures: a shelf of 200 boxes of pins and a shelf of 200 drums of oil are both at 200. A capacity in volume or weight needs those figures on every item, and that is still to build.

A number with no unit is not a measurement. It is a note somebody left for themselves and forgot the convention for.

If you entered capacities before October in pallets or cases, read them again now. The system takes them as stock units from here on.

Why a hard block would be the wrong fix

The instinct on finding an unenforced constraint is to enforce it. Here that instinct is wrong, and the reason generalises well beyond storage.

Goods that have physically arrived have to go somewhere. If the system refuses to accept them into the location they are actually in, the receiver does not send the lorry away. They put them there anyway and record them somewhere else.

Now the stock record is wrong, deliberately, and it is wrong in a way that is invisible — because the system believes it prevented an overfill. The control did not stop the overfill. It stopped the record of it. That is why a receipt into a full location goes through, and the alert is where the overfill is seen.

The constraint is physical and already enforced by reality

Warn and measure

Storage capacity. The shelf enforces itself; what you need is to see it coming and to know how full you are.

The constraint is financial and reversible

Block, with an override

Payment against a discrepancy. Money can wait, and the override leaves a record of who decided.

The constraint protects a legal or accounting position

Block, without an override

Self-approval of your own expense. No grant should be able to turn this off.

The constraint is about tidiness

Do not build it

Every rule has a compliance cost, and rules people route around teach them to route around the others.

What to do today

Set capacity in stock units on the locations where space is genuinely tight, and leave it empty everywhere else — an empty capacity is simply not measured. Give the Ops Center alert an owner, so a location going over is somebody's job to look at rather than everybody's to notice.

Then watch the percentage, not just the flag. A location at ninety per cent is the one to plan for, and the list now shows it.

Location capacity, precisely

What AWRA OpsHub does today

  • A capacity on a location, counted in stock units, saved from the create and edit screens and from the API.
  • On-hand against capacity, a percentage full and an over-capacity flag on the location list.
  • A warning when an edit leaves a location over its capacity.
  • A Locations over capacity Smart Alert in the Ops Center, listing the fullest locations first, which can be given an owner and acknowledged.
  • Receipts into a full location that proceed rather than being refused, so the stock record stays true.
  • Locations and warehouses as a real hierarchy, with stock held per location.

More we can add to your workspace

  • A warning at the moment of receipt, on the receiving screen itself, when the location being received into is over.
  • A dimension, weight or volume on an item, so capacity can be expressed in something other than stock units.
  • A utilisation trend over time, showing which locations are filling and how fast.
  • Directed putaway, or a capacity-aware suggestion of where something should go.

Where we point you to a specialist

  • The recommendation against a hard block is a position we hold rather than an excuse for not building one. A control satisfied by entering false data is a net loss, and we built the warning instead.
  • This was one of six inert settings found here in a month, and the pattern was recorded publicly rather than quietly cleaned up. An inert field is a trap for whoever finds it next.
  • This is market-neutral. Seychelles is here because on a small island storage is genuinely scarce and imported, which makes capacity a live constraint rather than a theoretical one.

What we would build next

The measure is built. Two pieces remain

Capacity is now measured against stock on hand. What is left is telling the receiver at the moment it matters, and measuring in something other than units.

A warning at the receiving screen

Receiving into a location above its capacity still proceeds, and now says so to the person holding the pallet, with the exception recorded. The alert already tells the warehouse manager; this tells the receiver while they can still choose a different shelf.

Volume and weight, and a trend

Dimensions and weight on items, so capacity can be declared in cubic metres or kilograms where units mislead, and a utilisation history per location so you see which shelf will be a problem next month.

How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. If you want the refusal rather than the warning, we will build it and say on the record that we advised otherwise.

Talk to us about warehouse capacity

Four questions about capacity in a warehouse system

What unit is capacity measured in?

A good answer sounds like

A declared unit, per location.

What it actually means

No unit means no comparability. Ours is stock units, everywhere, which is comparable and does not know size.

Show me how full my busiest location is.

A good answer sounds like

A percentage.

What it actually means

The one screen a capacity field exists to produce. Ours is on the location list.

What happens if I receive into a full location?

A good answer sounds like

A warning, and it proceeds.

What it actually means

A refusal here is a design smell. Ask what the receiver is expected to do with the pallet.

Do items carry dimensions or weight?

A good answer sounds like

Yes, if capacity is meant to be physical.

What it actually means

Without them a capacity model can only count units, which is what ours does today.

Ask what reads the field

Any settings screen will show you fields. The question worth asking is which of them changes behaviour — and the answer is almost never all of them, in anybody's product.

Talk about warehouse setup

Frequently asked questions

Should I fill the capacity field in?

Yes, where space is tight, and in stock units — that is the unit the percentage and the alert compare against. Leave it empty on locations you do not need to measure.

Will a full location stop a delivery being received?

No, deliberately. The receipt goes through, the location shows as over capacity on the list, and the Locations over capacity alert picks it up. Refusing a receipt for goods that have physically arrived only moves them to a location they are not in.

Can I stop stock going into a specific location?

Not through capacity. Location-level stock status can hold stock, which is a condition rather than a capacity control, and it does not restrict what arrives.

Can capacity be set in pallets or cubic metres?

Not yet. Capacity is counted in stock units, because that is the unit stock on hand is held in. Volume or weight needs those figures on each item, which is something we can add.

Share this article

LinkedIn X WhatsApp

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center