Skip to content

Multi-site inventory: warehouses, sites and delivery runs

Atta counts stock per location from a ledger of movements. Stock moves between warehouses, store rooms and vans by transfer, so what's on the road still counts. A reorder point opens a transfer or a restock request, never an order, and a delivery run puts the day's stops in driving order.

Updated November 6, 2026 · By

Stock is a ledger

On hand is the sum of stock movements at a location. A count doesn't overwrite a number. It writes the difference as a counted row, so you can read why the figure changed. An outbound (use, ship, sell) locks the item rows and refuses a shortfall with both figures, and cancelling a committed outbound writes reversed rows once.

Marta: How much 3/4" conduit do we have?

Atta: Warehouse North 120 m, Warehouse South 40 m, Van 2 15 m. 30 m is on a transfer to South, counted as on hand while it's in transit. Total 205 m.

The agent only reads stock. Counting, receiving and moving need the inventory capability.

Low stock opens a request

When South falls under its reorder point, one of two things is drafted:

  • A transfer from a location that feeds South and can spare the stock.
  • A restock request if no feeder can spare it.

The request goes through the usual approvals. A reorder point never places an order, and a person still decides.

Atta: South is at 40 m against a reorder point of 60 m. North can spare 80 m. I've drafted a transfer of 60 m. Dispatch it?

Places and the documents between them

A location has a kind and the location that feeds it. Stock moves only through three documents: an inbound from a supplier into a location, a transfer between locations through a system transit location, and an outbound from a location to a destination. A purchase becomes stock in one place, where its open inbound says, and the inbound's count moves with it.

Delivery runs

A delivery run is one depot and the committed ship or sell outbounds it drops. Stock already left at commit, so the run moves outbounds and no stock.

  • Dispatch ships every stop in one transaction.
  • Deliver marks one stop delivered as the van gets there.
  • A stop must be picked at the depot and have a placed destination.

The stop order comes from a pure function, nearest neighbour then 2-opt, in great-circle kilometres. It's a straight-line estimate, not a drive time.

Places carry a position. A pinned or typed position is never overwritten, and an address edit only drops a geocoded one. Geocoding is off unless you turn it on.

Late and slow

A promise date makes an outbound late the way an expected date makes an inbound late. Suppliers are scored on when things actually arrived. Planning still uses their quoted lead times.

Where it fits

Teams with a few warehouses, store rooms or vans that move the same goods between them. See inventory for the reorder maths.

Atta is in invite-only beta and free during the beta.

Questions

Does low stock reorder automatically?

No. A reorder point drafts a transfer or opens a restock request. A person approves any order.

Does stock in transit still count?

Yes. Transfers go through a system transit location, so stock on the road stays on hand.

How are delivery stops ordered?

By nearest neighbour followed by 2-opt over great-circle distance. It's a straight-line estimate, not a drive time.

Can the agent change stock levels?

No. The agent reads stock. Counts, receipts and moves are done by people with the inventory capability.

Related