One vehicle, one order — allocation, holds, swaps, dispatch. Crosstable governs the distributor's stock book from production to dispatch, so a unit in transit is promised once and the whole desk knows who holds it.
A vehicle distributor allocates individual units — each a specific VIN — to dealers, from production through transit and into stock. A unit can be promised to exactly one order, but it moves: it can be held, swapped between dealers, split out of a pool in bulk, and finally dispatched. The commercial team runs this against a stream of order lists and arrival manifests.
This is a working system, built from a real distributor's operation and generalised — the same workflow an allocation desk runs every day.
A VIN is promised to two dealers at once because the allocation sheet has no way to refuse the second allocation.
A tentative allocation sits indefinitely with no expiry, blocking stock that a firm order could have taken.
Reallocating a unit leaves the displaced dealer with nothing recorded — no place in line, no trail of what was taken and given.
An import manifest overwrites the sheet, and a vehicle's status slides backwards with no record of who changed it.
Each vehicle carries at most one active allocation, and a second is refused. Allocations are tentative or firm — tentative ones carry a renewable validity and expire; firm ones require a customer PO and hold the unit — while the vehicle itself only ever moves forward, from production through transit and stock to sold. Around that rule sits the full machinery of a distribution desk: holds that block a unit from the pool, swaps that leave the displaced dealer first in line for the next comparable unit, bulk splits across dealers, and a dispatch queue ordered by age.
Tentative allocations expire; firm orders, backed by a customer PO, hold the unit — so the pool reflects real commitment, not stale intent.
Place and release a hold with a reason and expiry, blocking a unit from the split pool while a decision is pending.
When a vehicle is reallocated, the displaced dealer isn't dropped — they go first in line for the next comparable unit.
Bulk-allocate the eligible in-stock pool across dealers by count or percentage in one governed action.
Firm, in-stock allocations ordered by how long they've waited, with category and days in stock in view for the dispatch decision.
The core enforces one order per vehicle and runs tentative and firm allocations, holds, swaps and splits. The rest is the setup conversation.
Your division and quarantine rules, import field aliases, and the model-code prefix map behind category.
Dispatch policy — the queue ships ordered by age; your dispatch rules and delivery recording drop in on top.
Validation against approved customer quantities — a periodic sync to the CRM or approvals system that holds each customer's cap.
An end-user hierarchy under the customer master, and warehouse preference in splits — serve a customer from the same site where possible.
Roles — admin, manager, employee — team column tints, and the allocation-letter document.