Skip to content

Inventory Control Service (ICS)

ICS — Inventory Control Service

Contract-only documentation for Inventory Control Service (ICS).

Status

  • Implementation: implemented (core stock, zones/bins, movements including putaway/pick/pack/ship/replenishment, stock transitions, adjustments, cycle counts with plans/approvals, receiving + QC, transfers, consignment, comments/inbox, org-wide search)
  • OpenAPI: /ics/openapi.yaml

Scope

  • Org-scoped, facility-aware, and channel-aware where applicable.
  • No UI; headless API + eventing only.

Clarifications (B7)

  • Buckets/terminology:
    • on_hand: total physical stock at a logical facility (sum across bins).
    • available: on-hand minus holds (eligible for sale).
    • reserved: soft hold for a cart/quote.
    • allocated: hard hold for an order/fulfillment plan.
    • committed: stock committed to a shipment/pick wave.
    • quarantine / damaged: non-sellable buckets pending QC or disposition.
    • in_transit: stock between facilities (transfer/return).
  • Negative stock policy: configurable per logical_guid + variant_id. Default is protected; overcommit is allowed only when protection is disabled.
  • Reservation/allocation TTL defaults: when expires_at is omitted, ICS applies channel-family defaults. POS family (g3npos, g3nlegacypos, kiosk, pos_generic) defaults to 5 min; DTC/Shopify family (shopify, shopify_plus, g3nlegacyshopify, dtc_generic) defaults to 15 min; wholesale (wholesale_generic) defaults to 60 min (unknown codes also fall back to wholesale). Allocation holds default to 120 min for all channels. Overrides: ICS_RESERVATION_TTL_MINUTES_POS, ICS_RESERVATION_TTL_MINUTES_ECOM, ICS_RESERVATION_TTL_MINUTES_WHOLESALE, ICS_ALLOCATION_TTL_MINUTES_POS, ICS_ALLOCATION_TTL_MINUTES_ECOM, ICS_ALLOCATION_TTL_MINUTES_WHOLESALE. Commit TTL remains aligned to ship/pick windows.
  • Stock card events: immutable audit records with reason, source_refs, actor, quantity delta, and optional cost deltas.
  • Transfers: request → approval → in_transit → received; partial shipments supported; receipts reconcile quantities.
  • Counts: count plan (policy) → count create → submit → approve/reject; variances create adjustments with reasons.
  • Bins/zones: zones are defined in OFM; bins are defined in ICS and reference logical+zone context.