Motor Dealer Stock: Every Unit Is Unique
A used-vehicle yard has an inventory problem that looks like nothing else: every unit is unique, every unit has a landed cost nobody has finished paying, and every unit is aging. What works when you model each vehicle as its own record — and the reasons this is the weakest fit in the cluster.
Most inventory is fungible: one bag of cement is any bag of cement. A vehicle yard is the opposite — thirty units, each individually costed, individually priced, individually aging, and each carrying a different amount of unfinished paperwork. That makes it the least conventional inventory problem in this cluster and the one where a general operations system fits least comfortably.
It fits well enough to be worth describing, and the honest framing matters more here than anywhere else in the automotive set.
The three numbers a yard lives or dies on
-
Landed cost per unit, complete
Not the auction or purchase price. Purchase, freight, duty and levies, port and clearing, transport up-country, then the preparation — the panel work, the tyres, the service, the valeting. Yards routinely price against the purchase figure and discover the real cost after the sale.
-
Days on the yard
The single most predictive number in the trade. A unit at ninety days is a different commercial proposition from the same unit at fifteen, and almost every yard tracks this by looking at the vehicles and remembering roughly when they arrived.
-
Money still owed on the unit
Duty deferred, a clearing agent unpaid, a mechanic's bill outstanding. A yard can be profitable per unit and insolvent in aggregate, and this is the number that reveals it.
The modelling decision
There is no vehicle entity, so a unit has to be represented as something else. Two options, and one is clearly better for a dealer.
Each vehicle as its own item
- One item record per physical vehicle, quantity one, named with the registration or chassis number.
- Landed cost applies to it directly, so cost per unit is exact rather than averaged.
- It appears in stock valuation and inventory ageing, which gives you days-on-yard for free.
- It sells through the normal sales or POS path, with margin computed against its own cost.
- The cost: your item list grows by one row per vehicle, permanently, and old sold units clutter it unless you archive them.
Each vehicle as an asset
- Custody, movements, purchase cost, barcode and GPS — genuinely good for tracking a thing you own.
- Wrong for stock: an asset is not sellable through the sales path and does not appear in inventory valuation.
- No cost roll-up, so the preparation spend does not accumulate onto it.
- Right only for the yard's own vehicles — the recovery truck, the demo car — rather than for stock.
Item-per-vehicle is the answer. It is unusual, it works, and it is the reason days-on-yard becomes a report rather than a memory: inventory ageing already sorts stock by how long it has sat, and a yard where every vehicle is an item gets that for nothing.
Building the [landed cost](/glossary/landed-cost) properly
One imported unit, fully costed
The preparation line is the one that is almost never captured, because it is spent in pieces over three weeks by different people. The workable answer is to run preparation as a project named with the vehicle's registration, issue parts and log labour against it, and then treat that project's actual cost as a landed cost component. Not automatic, and it is the only way that money gets attributed to the unit that consumed it.
Where this fit is genuinely weak
What AWRA OpsHub does today
- Item-per-vehicle, so cost, price and margin are exact per unit rather than averaged.
- Landed cost on the purchase order, spread across a shipment of several units by value or quantity.
- Inventory ageing, which gives days-on-yard as a report.
- Preparation costed as a project, with parts at stamped cost and labour as time entries.
- Sales, invoicing, customer accounts and deposits through the normal paths.
- Attachments on the item and on the purchase order, so logbook copies, import documents and inspection reports live on the record.
What it does not do
- No vehicle entity, so registration, chassis, engine number, mileage, year and colour are custom fields on an item rather than a structured record. Searching on them works; validating them does not.
- No trade-in handling. A part-exchange is two transactions you record separately and reconcile by hand.
- No finance or hire-purchase support. No instalment schedule, no interest, no repossession tracking. If you sell on finance, that lives entirely elsewhere.
- No recurring invoice generation, so anything billed on a schedule is manual.
- No customer-facing listing or catalogue output — nothing publishes your stock to a website.
- No logbook or transfer-of-ownership workflow, which is a real part of the trade and entirely outside this.
If you sell on finance, this is the wrong tool for that half of your business and there is no configuration that changes it. A yard selling for cash and bank transfer is a reasonable fit; a yard whose product is essentially credit is not.
The one report worth building the whole thing for
Stock on the yard, aged, with cost and asking price against each unit. Every week. It is a short list and it answers the only strategic question a yard has: which units are you going to have to decide about soon.
| Age band | What it means | The decision |
|---|---|---|
| 0–30 days | Normal. Still commercially fresh. | Nothing. Hold the price. |
| 31–60 days | Watch. Either the price or the presentation is slightly wrong. | Review the asking price against what has actually sold. |
| 61–90 days | A problem forming. Capital is tied and the unit is not getting fresher. | Decide deliberately: reduce, or accept it is a longer hold and say so. |
| Over 90 days | A decision you have been avoiding. | Reduce to move, or move it to trade. Holding is now the most expensive option. |
The number that makes this argument for you
A KES 1.5m unit at a 20% cost of capital is costing roughly KES 25,000 a month to hold. At ninety days that is KES 75,000 — frequently more than the discount that would have moved it in week three. Yards resist discounting because the loss is visible and the holding cost is not, which is the same asymmetry that makes every business over-stock.
Our take
Model each vehicle as its own item, cost it fully including preparation run as a project, and read the aged stock list weekly — that combination is genuinely useful and gives you days-on-yard and true margin per unit, which most yards do not have. But be honest about the boundaries: no vehicle record, no trade-in handling, and nothing at all for finance or hire purchase. If credit is how you actually sell, this covers the yard and not the business.
Cost each unit, age the yard
Item-per-vehicle with exact landed cost, preparation costed as its own project, inventory ageing that gives you days-on-yard — and a plain statement that finance, trade-ins and logbook transfers are outside this.
See plans & pricingFrequently asked questions
How should a vehicle yard model its stock?
Each vehicle as its own item record, quantity one, named with the registration or chassis number. That gives exact cost, price and margin per unit rather than an average, puts each unit into inventory valuation and ageing so days-on-yard becomes a report, and lets it sell through the normal sales path. The cost is one permanent item row per vehicle, so archive sold units.
Should vehicles be assets instead?
Only your own — the recovery truck, the demo car. An asset is not sellable through the sales path, does not appear in inventory valuation and carries no cost roll-up, so preparation spend never accumulates onto it. For stock, item-per-vehicle is the right answer even though it looks unconventional.
How do we capture preparation costs against a unit?
Run preparation as a project named with the vehicle's registration, issue parts to it and log labour against it, then treat that project's actual cost as a component of the unit's landed cost. It is not automatic. It is the only way money spent in pieces over three weeks by different people gets attributed to the unit that consumed it — and it is typically 6% of true cost, universally omitted.
Can we sell vehicles on finance or hire purchase?
No. There is no instalment schedule, no interest calculation, no repossession tracking and no recurring invoice generation, so anything billed over time is entirely outside this. A yard selling for cash and bank transfer is a reasonable fit; a yard whose actual product is credit is not, and no configuration changes that.
What does it cost to hold a unit too long?
A KES 1.5 million unit at a 20% cost of capital costs roughly KES 25,000 a month to hold, so ninety days is KES 75,000 — frequently more than the discount that would have moved it in week three. Yards resist discounting because the discount is visible and the holding cost is not, which is the same asymmetry that makes every business carry too much stock.
Are trade-ins supported?
Not as a single transaction. A part-exchange is two things you record separately — a sale and a purchase — and reconcile by hand. It works and it means the net position on a deal involving a trade-in is something you compute rather than something you open.