Site Items (ITM)

The itm submodule of inv owns the per-(site, item) configuration that says how an item is stocked, ordered, and sourced at each site — minimum stock and order quantities, default location reference, label count, and the workflow team responsible for material handling. It also defines a small family of in-memory QuantityRecord value types other inventory submodules use to carry composite (pieces + quantity + UoM) figures around. It depends on inv.loc for the site and cat.itm for the item.

Concepts

Site Item

A configuration row for one item at one site. Records the planning policy (order system / order policy / sourcing type), thresholds (minimum stock, minimum order), and the default storage location reference and material team for material handling.

Item Order System

Whether the item is planned by MRP, by statistical inventory control (SIC), or manually.

Item Order Policy

Whether the item is replenished anonymously to stock or is ordered to a specific demand.

Item Sourcing Type

Where the item comes from — purchase, manufacturing, or distribution.

Quantity Record

An in-memory value type bundling pieces, quantity, and UoM. Three variants exist: QuantityRecord (UoM-code), QuantityRecord2 (with a full Uom entity), and SimpleQuantityRecord (no UoM). EconomicQuantityRecord aggregates three of them for on-order, on-hand, and allocated.

Entities

ITM entities

Site Item (SiteItem)

A per-(site, item) stocking configuration.

FieldDescription

site

Owning site (composite business key with item, final).

item

The catalogue item (final).

labelCount

Optional number of labels printed per unit. Default 1.

locationReference

Optional default storage location reference at the site.

minimumStockQuantity

Optional minimum-stock threshold below which replenishment is needed.

minimumOrderQuantity

Optional minimum-order threshold a replenishment must satisfy.

orderSystem

Planning system — see Order Systems below.

orderPolicy

Replenishment policy — see Order Policies below.

sourcingType

Where the item comes from — see Sourcing Types below.

wfTeamForWpMaterial

Optional workflow team responsible for material handling.

Order Systems (ItemOrderSystem)

CodeNameMeaning

MRP

MRP

Planned by Material Requirements Planning.

MAN

Manual

Planned manually (replenishment decided per case).

SIC

SIC

Statistical Inventory Control — for items without planned demand (floorstock, consumables).

Order Policies (ItemOrderPolicy)

CodeNameMeaning

ANO

Anonymous

Replenished to stock; not tied to a specific demand.

ORD

To-order

Replenished against a specific order.

Sourcing Types (ItemSourcingType)

CodeNameMeaning

PUR

Purchase

Bought from a supplier.

PRD

Manufacturing

Produced internally.

DIS

Distribution

Distributed from another site.

Functionality

Mandatory site-item lookup

INV_ITM_QueryApi.getSiteItemMandatory returns the SiteItem row for a (site, item) pair, raising a business exception when the row does not exist. Used by every flow that needs to know how the item is stocked at the site (stock issue, receipt, replenishment plan, …​).

Site-item copy

SiteItemWriterService.copyAndPersistSiteItems clones every SiteItem row of an existing item and re-persists it under a new item, preserving the planning configuration (order system / policy / sourcing type), label count, location reference, and material team. Used by INV_ITM_CommandApi.copyAndPersistSiteItems when an item is duplicated at the catalogue level.

Public API

INV_ITM_QueryApi

Read-side facade.

MethodDescription

getSiteItemMandatory(HasTrace, Site, Item)

Returns the SiteItem for the (site, item) pair; raises if not configured.

INV_ITM_CommandApi

Write-side facade.

MethodDescription

copyAndPersistSiteItems(HasTrace, Item, Item)

Copies every site-item row of an existing item to a new item and persists the copies.

Quantity record value types

Other inventory submodules consume the QuantityRecord, QuantityRecord2, SimpleQuantityRecord, and EconomicQuantityRecord value types from this package directly — they are not entities and they are not exposed through the query/command API.

ViewModel actions

The submodule defines a view model for SiteItem but does not declare any custom UI actions.