Everything runs off one record.

Stortrace is the operations platform for valet storage. Dispatch, custody, measurement and billing read from the same row, so there is no second system to keep honest.

Custody chain

Replay the day nobody was watching

Every scan writes an append-only event, so where an item sits is something the system derives from its movements rather than something a person keeps up to date.

How this differs from a catalogue

Custody unit states

ExpectedPicked upIn transitReceivedStoredReservedPickedOut for deliveryDelivered

Plus Missing, Damaged and Disposed. A mistake is corrected with a compensating entry, never by editing history.

Dispatch & routes

Run the route off the same record as the stock

Jobs, routes, stops, vehicles and crews sit on the record the items already live on, so there is no dispatch system to reconcile against your inventory and no seam for an item to fall through.

Job states

DraftBookedConfirmedScheduledAssignedEn routeArrivedIn progressCompleted

Partial retrievals, failed pickups, split loads and reschedules are first-class states, not exceptions bolted onto a happy path.

Receiving & measurement

Invoice the footprint you measured, not the one you were told

Footprint, volume and weight are captured at receiving against a position down to the bin, and that measurement is what the invoice line reads from instead of the estimate your customer gave over the phone.

Why we never bill per item

Location hierarchy

STO-1Z2A14R3S2B07

Facility, warehouse, zone, aisle, rack, shelf, bin. Measured footprint, volume and weight are captured against it on intake.

Empties loop

Get your containers back

Operator-owned containers carry the returnable half of the same chain, so the box you dropped off empty is tracked out and back rather than written on a whiteboard.

Returnable states

In stockAllocatedOut emptyAt customer emptyReturned emptyInspectedIn stock

Same table, same enum as everything else. A customer-owned pallet simply never enters these states.

Billing

Charge once, however bad the van signal was

Invoices, lines, payments and subscriptions read from the same custody record, and every booking, payment, scan and job transition carries an idempotency key, because all of them get retried by a flaky mobile connection eventually.

See what this costs

What survives a lapsed subscription

Custody eventsPhotosSignaturesInvoicesAudit log

Capture stops when a card fails. Viewing does not — an operator still needs their defence against a damage claim.

API & webhooks

Mirror job state into whatever you already run

Signed outbound webhooks push every job and custody transition to your endpoint with delivery logs, a retry schedule and replay, so a field-ops tool you already pay for can follow along without holding any of the state.

Webhook events

pickup.completeditem.receiveditem.storedretrieval.requesteddelivery.completeddelivery.failedempties.overdueinvoice.paid

Job state never lives in another system. A custody chain with a third-party hole in it is not a custody chain.

None of this is worth much on a slide.
Bring us a week of your jobs.

Tell us how many sites you run and what you use today, and we will show you the same week running on a custody chain.