Who Is Holding the Fertiliser? Custody When Stock Belongs to a Place
An asset is held by a person. Consumable stock is held by a place. That single asymmetry decides how you answer "who has the fertiliser?" — and it is why a spray gang, a satellite store and a tractor driver all end up modelled as warehouse locations. The workaround, its limits, and where it stops being honest.
Two hundred litres of herbicide leave the main store on Tuesday morning with a spray gang of six. On Thursday, ninety litres come back. Nobody is accused of anything and nobody can account for the difference either, because the only record of the movement is a line in a store book saying the herbicide went out.
The reason this is hard has nothing to do with honesty and everything to do with a structural choice in how stock and assets are stored. Understand that choice and the answer becomes obvious — including which part of it you will be doing by convention rather than by feature.
The asymmetry at the centre of it
An asset — a knapsack sprayer, a moisture meter, a tractor — has a custodian. There is a custodian record, it holds a name and a code and a phone number, movements are recorded from one custodian to another, an expected return date can be set, and an asset held past that date is overdue and can be listed as such.
Consumable stock — herbicide, fertiliser, seed, twine, fuel — has no custodian and cannot have one. A quantity of stock exists at a warehouse and, optionally, at a location inside that warehouse. That is the only place it can be. There is no field on a stock quantity for the person holding it.
Assets
Held by somebody
- A custodian record with a name, code, phone, email and job title
- Custodian types beyond staff: contractor, department, vendor, visitor, other
- A custodian who need not be an employee at all
- Movements from custodian to custodian, with condition before and after
- An expected return date, and an overdue list when it passes
- Pooled tracking for identical units: forty of one thing, split across holders by quantity
Consumable stock
Held by somewhere
- A quantity at a warehouse, and optionally at a location within it
- Locations with a storage role — pick face, bulk, reserve, staging, receiving, shipping, quarantine, general bin
- Transfers between warehouses and between locations, with the movement recorded
- An inventory status per stock row: available, or one of five holds
- No person field, of any kind, on a quantity of stock
- No expected return, because stock is consumed rather than returned
What crosses the seam
- A sprayer converted to inventory, or a stock item capitalised as an asset — the conversion is recorded
- Nothing else. A quantity of herbicide cannot become a thing that a person holds
This is not a gap so much as a modelling decision with consequences. Assets are countable individuals with histories; stock is a fungible quantity. Custody is a natural fit for the first and a category error for the second — until your crew walks off with two hundred litres of it.
The workaround, stated plainly
If stock can only live at a place, then make the crew a place. Create a location — inside your main warehouse or inside a warehouse called Field — named after the gang, the vehicle or the store it represents. Transfer the herbicide to it on issue. Transfer the remainder back on return. The difference between the two is consumption, attributable to that location, and therefore to whoever that location stands for.
This works, and it is what the location model will bear. Locations carry a code, a storage role and a capacity, transfers between them are recorded, and stock on hand by location is reportable. What you are doing is using a shelf to represent a person, deliberately and consistently.
What the workaround buys you
- A quantity attributable to a named crew, vehicle or satellite store
- A recorded transfer at issue and at return, with a date and a user
- Consumption per crew per period, computable from the two transfers
- A stock figure that stops pretending the herbicide is still in the main store
- The same discipline for a spray gang, a pickup and an outgrower depot
What it does not buy you
- Any notion that a person is responsible — the record says "location", not "Mwangi"
- A single view of everything one person holds across stock and assets
- Automatic reconciliation on return — the difference is arithmetic you do
- Any block on issuing more to a crew that never returned the last lot
- A clean picking model: your warehouse now contains locations that are not shelves
The cost you should count before you commit
Every crew-location you create sits in the same list as your real storage locations, and locations belong to exactly one warehouse with no hierarchy above them — no tree, no grouping, no "all field locations" parent. Ten crews is a naming convention. Eighty crews is a warehouse list nobody can read, and a picking screen full of places that are not places.
Naming is the whole discipline
Because there is no hierarchy, the only structure you get is the one you encode in names and codes. Do it once, at the start, and write it down where the storekeeper can see it.
-
Decide what a crew-location represents
A gang, a vehicle, a person, or a satellite store. Pick one and stay with it. Mixing them — some locations are people and some are pickups — produces a report nobody can interpret six months later.
-
Prefix every one of them
A prefix like FLD- or CREW- makes the non-shelf locations sortable and filterable in a list that has no grouping. It is the closest thing to a hierarchy available.
-
Give the code a stable meaning
CREW-03 should be the same gang next season, or a retired code, never a reused one. Reusing a code merges two seasons of consumption history into one line.
-
Set the storage role honestly
A crew is closest to staging — stock that is out of the store but not yet consumed. Leaving them all as general bins works, but tagging the role lets you tell shelves from people in a filter.
-
Transfer on the way out and on the way back
The return transfer is the one that gets skipped, and skipping it is what makes the whole scheme useless — the outstanding balance simply sits at the crew forever, and consumption is never established.
A crew-location without a return transfer is worse than no record at all: it moves the stock off your shelf, out of your reorder maths, and into a place nobody is watching.
When to use an asset custodian instead
Some of what leaves the store with a crew is not consumable at all, and for those things the proper mechanism already exists and is better than anything you can build out of locations. Knapsack sprayers, moisture meters, hoses, PPE and hand tools are assets, and an asset can be held by a named custodian who is not on your payroll — a contractor, a gang leader, a neighbouring farm.
| What is leaving the store | Stock item at a location | Asset with a custodian | Pooled asset by quantity |
|---|---|---|---|
| Herbicide, fertiliser, seed, fuel | Yes | No | No |
| One knapsack sprayer | No | Yes | Partly — configurable by you |
| Twenty identical sprayers across four gangs | No | Partly — configurable by you | Yes |
| PPE issued and expected back | Partly — configurable by you | Yes | Yes |
| Crates and sacks that come back | Partly — configurable by you | Partly — configurable by you | Yes |
| A tractor on hire to a member | No | Yes | No |
Built and maintained Configurable by you, not maintained by us Not built
The pooled column is the one most people miss. Twenty identical sprayers do not need twenty asset records: one asset tracked as a quantity pool holds balances per custodian, per department, per location, with movements that shift quantities between them. That is the right model for anything issued in numbers and expected back.
Crates and sacks sit awkwardly on purpose. They behave like pooled assets — issued, returned, counted — and most stores treat them as stock because they arrive with the produce. Either works; pick per container type and record the choice, because the two produce completely different reports.
What nobody will tell you
Two silences are worth naming before you rely on any of this. First, an asset held past its expected return date appears on an overdue list — and nothing emails anybody about it. There are no asset notifications at all. The overdue list is a screen somebody has to open.
Second, nothing prevents issuing more stock to a crew-location that still holds the last issue. There is no outstanding-balance check at issue, because as far as the system is concerned you are moving stock from one shelf to another and the second shelf can hold as much as you like. Capacity exists as a field on a location; nothing enforces it.
What we do and do not do
What AWRA OpsHub does today
- Locations inside warehouses with codes, storage roles, capacity and zone/aisle/bay/shelf/bin fields, and stock quantities held per location.
- Recorded transfers between warehouses and between locations, with quantity, user and date.
- Asset custodians who need not be employees — contractor, department, vendor, visitor or other — with codes, contacts and movement history.
- Pooled asset tracking, so twenty identical sprayers are one record with balances and movements per holder.
- Expected return dates on assets, with an overdue list you can filter.
- Five inventory holds that genuinely prevent issue — quarantined, inspection-pending, damaged, expired, returned. Only available stock can be allocated.
What it does not do
- No custody of consumable stock by a person. A quantity lives at a place; there is no person field on it, and modelling a crew as a location is a convention you run, not a feature.
- No location hierarchy. Locations belong to one warehouse and nothing groups them, so structure comes from naming alone.
- No enforcement of location capacity, and no check that a crew has returned the previous issue before receiving another.
- No single view of everything one person holds. Assets by custodian and stock by location are separate reports, and a crew-location is invisible to the first.
- No asset notifications of any kind, so an overdue return alerts nobody — the list is a page you visit.
- No automatic reconciliation on return. Issue minus return equals consumption, and that subtraction is yours.
The honest summary: the mechanism for things is good, the mechanism for quantities is a naming convention, and the two never join up in one view. Decide which of your issues are things and which are quantities before you design the process, because the answer changes which module you are in.
Our take
Put tools, sprayers, PPE and returnable containers on the asset side with real custodians — that mechanism is built and a gang leader can hold them without being on your payroll. For consumables, create a prefixed location per crew, transfer out and transfer back, and accept that the record names a place rather than a person. Keep the count of crew-locations small enough that the list stays readable, because nothing groups them for you.
See warehouses, locations and transfers
Stock held per location with storage roles and capacity, recorded transfers between them, enforced holds, and asset custody for anything that comes back.
Explore inventory managementFrequently asked questions
Can we record that a specific person is holding farm inputs?
Not directly. Consumable stock is held by a warehouse and a location inside it, and there is no person field on a stock quantity — custody by a named individual exists for assets, not for consumables. The workable pattern is a location per crew, vehicle or satellite store, with a transfer out at issue and a transfer back on return. The record then names a place that stands for a person, which is honest as long as everybody knows that is what it is.
Does the crew-location approach scale?
Up to a point, and the limit is readability rather than performance. Locations belong to exactly one warehouse and nothing groups them — there is no hierarchy, no parent, no "all field locations" — so with eighty crew-locations your warehouse list and your picking screens are full of places that are not shelves. Prefix them consistently, retire codes rather than reusing them, and if you are heading past a few dozen, split them into their own warehouse.
Can somebody who is not an employee hold an asset?
Yes. A custodian is its own record with a name, code, phone, email and job title, and its type can be contractor, department, vendor, visitor or other as well as employee. Linking it to an employee record is optional. That makes it genuinely usable for a gang leader, a hired operator or a neighbouring farm holding your equipment — which is exactly the case most asset registers cannot handle.
What is the right way to track twenty identical sprayers?
As one pooled asset rather than twenty records. Pooled tracking holds a balance per custodian, per department and per location, and movements shift quantities between them, so you can see that four gangs hold five each without maintaining twenty individual histories. Use individual tracking when each unit has its own serial, warranty or service history worth keeping separately.
Will anything warn us that a crew has not returned what it took?
No. Nothing checks an outstanding balance before issuing more, nothing enforces a location's capacity, and there are no asset notifications at all — an asset held past its expected return date appears on an overdue list that somebody has to open. The substitute is a fixed weekly look at stock by crew-location and the overdue asset list, in the same fifteen minutes, by a named person.
Should returnable crates be stock or assets?
Either works and the choice matters, so make it deliberately per container type. As pooled assets they are issued to a custodian and expected back, which is what they actually are. As stock they arrive and leave with the produce, which is how most stores handle them in practice. What you must not do is record some crates each way, because the two produce different reports and neither will then be complete.
Can held or quarantined stock still be issued by mistake?
No — this part is genuinely enforced rather than advisory. A stock row carries an inventory status, only available stock is eligible for allocation, and the five hold statuses (quarantined, inspection-pending, damaged, expired, returned) are filtered out of every allocation query. Holding and releasing records the quantity, the reason and the person who did it, and disposal writes an adjustment.