Inventory fundamentals

Containers, items, lots, the lifecycle.

Inventory in Dalea tracks everything physical: vials, plates, tubes, frozen aliquots, kits, columns. It is intentionally separate from the data system — your records live in environments, your things live in inventory — but the two connect through references, so a result row can point to "the specific aliquot of anti-IFN-γ used".

Five concepts

Container type
A class of physical container — "9×9 cryobox", "PCR rack", "freezer shelf". Defines a position format and metadata.
Container
An instance of a container type, in a place. "Cryobox L-204-B12 in freezer L-204".
Item type
A class of inventory item — "antibody aliquot", "compound stock", "competent cells". Defines columns (concentration, supplier), units and an SKU pattern.
Item
An instance of an item type, with a quantity, an expiration, and (usually) a placement inside a container.
Lot
A manufacturing batch. Multiple items can share a lot for full traceability.

The lifecycle

An item flows through these states. Each transition is logged with operator, timestamp and optional notes:

  Created  →  Staged  →  Placed  →  Checked-out  →  Consumed  →  Discarded
   (intake)  (labelled, (in a       (in use,        (depleted)  (final)
              not yet     container)  not in
              placed)                 container)

Staged is the period after you receive a shipment but before you've found a home for it. Checked-out is what makes the item invisible to "what's available" queries without losing the audit trail.

Container types: why position formats matter

A container type's position format controls how items inside it are addressed:

  • None — bare list. "Reagent shelf L-204-A". Items have no positional info.
  • Numeric grid — 96-well plates (A1–H12), 9×9 cryoboxes (A1–I9), drawer slots.
  • Custom — arbitrary string positions ("rotor slot 3", "carousel cell X14").

Numeric grids let Dalea visualise containers as a heatmap and detect collisions ("you tried to place two items at A3").

SKU patterns

Each item type has an optional SKU pattern, much like data naming schemes:

  • AB-{lot}-{N} → AB-24119-001
  • RX-{YYYY}-{N:0000} → RX-2026-0007

The SKU is what gets printed on the label and read back at consumption time.

Barcodes and labels

Item types can opt into label printing. Dalea generates Code-128 or GS1-DataMatrix barcodes and prints to a configured network printer. On scan, Dalea opens the item's detail page directly — handy for a "scan to use" workflow.

Low-stock alerts

Item types can declare a low-stock threshold and a "watch" set of users. When the total available quantity (across all items of that type) falls below threshold, those users get a notification. Useful for centrally-managed reagents.

Linking to records

Inventory items can be referenced from data records. The reference column on a result row pointing to an item's lot means you can query "show me all results generated from antibody lot 24-119" — invaluable for tracing assay drift.

Receiving and consuming in bulk

Two batched flows exist:

  • Receiving session — open one when a shipment arrives, scan or paste in a list, Dalea creates items in the Staged state in one transaction.
  • Consumption session — for an experiment that uses many items at once. Open the session, scan items as they go onto the bench, close it when done. Dalea records check-out and quantity decrement against your audit log.

What's next