Le modèle physique vient en premier. Les entrepôts forment une hiérarchie autoréférencée – un site principal et, en dessous, des entrepôts enfants, ce qui permet de modéliser les succursales – et chaque entrepôt est doté d’une localisation géocodée, de portes et de conditions d’accès. À l’intérieur, les secteurs se divisent en emplacements dotés d’une capacité et d’une unité de capacité explicites, et les secteurs peuvent imposer des conditions de stockage : température et humidité minimales et maximales avec règles d’alerte, de sorte que les marchandises sensibles sont surveillées là où elles se trouvent.
Sur cette structure, le stock est un journal de mouvements plutôt qu’un solde modifiable. Chaque ligne du journal enregistre l’événement qui l’a produite – la ligne d’approvisionnement reçue, la vente ou l’expédition qui l’a consommée – avec la quantité restante par ligne et un périmètre qui descend jusqu’à l’entrepôt et au secteur. Les réservations bloquent du stock pour des demandes, des ventes et des expéditions ; les mouvements internes le transfèrent de casier à casier ou de site à site selon un flux en deux phases ; et les articles qui le nécessitent portent des lots avec dates de péremption et des numéros de série traçables jusqu’à leur réception de marchandises.
La boucle de contrôle complète le module. Les inventaires saisissent, ligne par ligne, la quantité comptée en regard de la quantité du dernier relevé ; les inspections d’entrepôt consignent leurs constats avec pièces jointes et peuvent déclencher un comptage ; et le stock endommagé, périmé ou hors conditions passe par un enregistrement de mise au rebut avec indicateurs de motif, justification obligatoire et compte du grand livre. Les tableaux de bord de l’ensemble des entrepôts et de chaque entrepôt rendent visibles à la fois le réseau et chaque site – l’exploitation multisites est native, pas un ajout.