Files
mcp-wms-wiki/wiki/concepts/quality-control.md
T
2026-05-20 09:41:27 +02:00

11 KiB

title, type, sources, related, last_compiled
title type sources related last_compiled
Quality Control concept
areas/inventory_management/quality_control/index.md
areas/inventory_management/quality_control/quality_lock_web.md
areas/inventory_management/quality_control/quality_lock_trf.md
areas/inventory_management/quality_control/quality_lock_erp.md
areas/inventory_management/quality_control/quality_unlock.md
areas/inventory_management/quality_control/quality_automatic_unlock.md
areas/inventory_management/quality_control/cut_stock_lock.md
concepts/stock.md
concepts/container.md
concepts/reception.md
concepts/order-outbound.md
concepts/product-item.md
concepts/stock-adjustment.md
2026-04-10

Quality Control

Overview

Quality Control in EasyWMS manages the usability of stock throughout its lifecycle in the warehouse. It operates via a stock status (also called a stock lock) system: each status can block specific warehouse operations on the affected stock, preventing it from being picked, moved, replenished, or shipped until the quality issue is resolved.

EasyWMS controls stock quality from reception through shipping. Statuses can be applied:

  • At reception (via reception profile, inbound order line, or operator action)
  • In the warehouse (web interface, RFT, or ERP message)
  • At shipping (to require or prefer stock in a specific status for a shipping order line)

Important: The Expired state is not a stock status — stock expires automatically when logistic attribute dates (expiry date, best before date, end of life) are reached.


Stock Status (Quality Lock) Concept

Each stock status is configured to block or allow specific operations:

Operation Can be blocked
Putaway Yes
Move Yes
Picking Yes
Replenishment Yes
Shipping Yes
Internal use (manufacturing) Yes

A single stock record can have two simultaneous statuses:

  • Receiving status — set at reception time (from profile, order line, or operator)
  • User status — applied manually by an operator, manager, or via ERP message

Types of Stock Status Application

Reception Status (Inbound Lock)

Three mechanisms can apply a status at reception time:

Mechanism Who Priority
Item receiving profile System (automatic) Base
Inbound order line / receiving order line ERP/planner Overrides profile if different
Operator at reception (RFT) Operator Applied as user status (in addition to receiving status)

Both a receiving status and a user status can coexist on the same stock. The operator-set status is the user status.

At reception close, the ERP is notified of stock status via the STC message (stock status change).


Locking Stock in the Warehouse

Lock from Web Interface (SmartUI)

From Warehouse > Stock or Warehouse > Received stock:

  • Lock can apply to stock from open receptions or stock without reception origin
  • Optional: end date/time for the lock
  • Optional: comment

If no end date is set, the lock remains until manually removed by a user or ERP.

Effects of lock on active operations:

  • If lock blocks replenishment: replenishment source assignments canceled → picking tasks decremented or canceled → affected lines re-released
  • If lock blocks picking: replenishment source assignments canceled → picking tasks decremented or canceled → lines re-released

Lock from RF Terminal (RFT)

Via RFT > Quality > Lock by location / Lock by container / Lock by item:

Lock scope Granularity
By location All stock in location, or stock of specific item/logistic attribute/quantity
By container All stock in container, or specific item/attribute/quantity
By item All stock of the item in warehouse, or filtered to specific locations/attributes

Optional: end date/time and comment (same as web).

Same side effects on tasks and assignments as web interface lock.

Lock from ERP (STR Message)

The ERP sends an STR (stock status request) message to request a lock. The lock can:

  • Specify any combination of location, item, logistic attribute, container
  • Include an optional end date/time and comment

EasyWMS responds with STC messages for each locked stock line (provided reception is closed).

In the SmartUI, ERP-applied locks appear as a user status.


Unlocking Stock

Manual Unlock (Web)

From Warehouse > Stock view: select stock lines and remove status. STV-style notification via STC to ERP.

Manual Unlock (RFT)

Via RFT > Quality > Unlock by location / Unlock by container / Unlock by item:

  • Unlock all stock at a scope, or partial (specific item, attribute, quantity)
  • Receiving status can be unlocked (not just user status)
  • Communications: STC sent to ERP when reception is closed

Unlock from ERP (STR Message)

The ERP sends an STR message to unlock specific stock. EasyWMS:

  1. Removes the user status (or receiving status) from the matching stock
  2. Sends STC confirmation messages to ERP (provided reception is closed)

The ERP can unlock both user-set locks and receiving-status locks.

Automatic Unlock (Time-Based)

When a lock has an end date/time, EasyWMS automatically removes the status when the date expires.

The job Delete_StockStatusJob_PR runs every 15 minutes and checks for expired locks.

Warning: Locks with durations shorter than 15 minutes cannot be reliably enforced. If sub-15-minute locking is needed, the job periodicity must be changed.

After automatic removal, EasyWMS sends STC to ERP (provided reception is closed).


Quality at Shipping

Shipping order lines can specify a required or preferred stock status for the assigned stock:

Mode Behavior
Required status EasyWMS assigns only stock in the specified status (even if that status blocks picking/shipping)
Preferred status EasyWMS preferably assigns stock with that status; uses other status stock if insufficient

Cutting Stock Locks

Cutting stock (items with non-consolidating UoM conversions) has special lock behavior due to the indivisible nature of coil/roll stretches.

Partial Lock (Problem at Beginning of Coil)

When only part of a coil has a quality problem:

  1. Operator identifies the problematic length and locks it
  2. System splits the stock line into two (locked portion + clean portion)
  3. Operator physically cuts the locked length
  4. Optionally, operator relocates the locked/cut stock to another location
  5. Picking continues from the unaffected stretch

Total Lock (Entire Coil)

When the entire coil is defective:

  1. Operator selects the entire length and locks it
  2. Stock line remains unified (no split)
  3. When lock is removed, stock line remains unified

Both partial and total locks can be performed from RFT or ERP (STR message).


Transactions

Transaction Trigger
CST.STK Stock status applied or removed (when reception is closed)

Note: CST.STK is not generated if the reception is still open — changes are visible in the interface but not audited until reception closes.


ERP Integration

Message Direction Purpose
STR ERP → WMS Request stock lock or unlock
STC WMS → ERP Notify stock status change (per locked/unlocked stock line)

STC is only sent when the reception is closed. For stock from open receptions, changes are visible in the WMS but no ERP notification is generated until close.


Business Rules

  • A stock can have both a receiving status (set at reception) and a user status (set manually) simultaneously.
  • When a lock is applied, EasyWMS immediately checks all active tasks and assignments using that stock and adapts them (cancels or decrements) based on the operations the lock blocks.
  • Expired stock (_Expired_ state) is handled by the logistic attributes expiry system — not the quality lock system.
  • Only locations that allow inventory can have their stock counted. Quality locks do not change this — but locks that prevent counting block task generation.
  • The 15-minute job for automatic unlock means that very short-duration locks (< 15 min) are not reliably supported.

Configuration

Setting Location Description
Stock statuses master System master data Define each status name and which operations it blocks
Item receiving profile Item master → Receiving profile Auto-set receiving status + duration at reception
Delete_StockStatusJob_PR Configuration > Jobs Controls automatic unlock job (default: 15 min)

Interface

Path Equipment
Warehouse > Stock → lock/unlock actions PC
Warehouse > Received stock → lock actions PC
RFT > Quality > Lock by location RFT
RFT > Quality > Lock by container RFT
RFT > Quality > Lock by item RFT
RFT > Quality > Unlock by location RFT
RFT > Quality > Unlock by container RFT
RFT > Quality > Unlock by item RFT
Configuration > Jobs PC

Common Errors

Symptom Cause Solution
STC message not sent to ERP after lock Reception still open Close the reception; STC will be sent at that point
Automatic unlock not happening Job Delete_StockStatusJob_PR disabled or slow Check job status in Configuration > Jobs; verify it runs every 15 min
Picking tasks not canceled after lock Lock does not have "blocks picking" configured Check stock status master configuration for the applied status
Cannot unlock stock from RFT Operator lacks "Quality" menu access Check role permissions
Cutting stock split not happening after partial lock Non-consolidating UoM not configured for the item Verify cutting item configuration; check UoM consolidation flag
STC generated without lock set Reception was already closed at the time of the lock request Expected behavior; open receptions suppress STC

  • stock — Quality locks are stored as stock status fields; stock must have no movement-blocking lock to be picked, replenished, or shipped
  • container — Locks can be applied at container granularity; all stock in a container can be locked in one operation
  • reception — Receiving status is applied at reception time via profile, order line, or operator; STC sent at close
  • order-outbound — Shipping order lines can specify required/preferred stock status for assignment
  • product-item — Item receiving profile defines automatic lock status and duration at inbound
  • stock-adjustment — Both quality control and stock adjustment use STC/STK.ADJ transactions; quality locks affect task/assignment eligibility
  • cutting-stock — Cutting stock has partial/total lock behavior; lock can propagate to cut portions