SAP functional issueObjectStock stuck in quality inspection after usage decisionModuleQM

QM Stock Not Released After Usage Decision

The usage decision was saved and the inspection lot shows a decision code, but the goods movement that should move quantity out of quality stock either never fired, failed, or only partially fired. Check the lot's stock posting status on the usage decision screen and the stock quantities in MMBE against the lot quantity before touching anything else.

Covers the recurring gap between a completed usage decision on an inspection lot and the material actually leaving quality stock in the warehouse. Walks through the configuration and process causes that break the automatic or manual stock posting step, the check sequence across the lot, batch, and job log, and the resolution path split between data fixes and IMG changes.

Published 16 Sept 2026· 1,304 words

The business symptom

Quality reports the lot as closed: the inspector signed off, the usage decision code is 'accepted', the file is done from their point of view. Three days later production or the warehouse comes back saying the material is still sitting in quality stock, MRP will not count it as available, and a reservation or delivery cannot be picked against it. The complaint usually arrives as 'why is this batch still blocked, QC already released it' rather than as a system defect, because from the inspector's screen the transaction completed without any error message. Sometimes it surfaces as a month-end reconciliation issue instead, when someone runs a stock aging report and finds material with a UD from weeks ago still coded to the quality stock type.

The configuration behind it

  • Usage decision code not configured with a stock posting: the decision code customizing for that inspection type has no movement type or stock type transition attached, so the UD is recorded as a status change only, with no goods movement generated at all.
  • Automatic follow-up posting failed silently: the inspection type is set for automatic stock posting on UD, but the background step (locked material master, missing storage location, blocked batch) errored out; the UD itself commits fine so the inspector sees no failure, and the error sits only in the job log or the lot's system message log.
  • Partial lots not all decided: the goods receipt generated more than one inspection lot (split delivery, over-delivery, multiple deliveries against one PO item), and only one partial lot received a usage decision. The remaining quantity is still open in quality stock under a separate lot number nobody looked at.
  • Quantity mismatch between the lot and physical stock: a movement was posted against the QM stock type outside the inspection lot's own transaction (manual MB1B, scrap posting, stock transfer) between goods receipt and usage decision, so the stock posting triggered by the UD tries to move a quantity that no longer matches what is actually in quality stock and fails or posts a rounded remainder.
  • Manual stock posting required by design: the inspection type is deliberately configured for manual stock posting rather than automatic, meaning the UD only sets the decision code and a separate posting step (via the usage decision screen's stock posting tab, or a follow-up MIGO/MB1B) is still required. Inspectors trained on plants with automatic posting assume the UD alone is enough.
  • Batch status not synchronized: inventory management stock type changes correctly on the material document, but the batch's own status field (restricted vs unrestricted) is maintained separately and was not updated, so availability checks that read batch status still see it as blocked even though the stock type says otherwise.
  • Warehouse-managed location transfer order not confirmed: in a WM or EWM-managed storage location the inventory management posting for the UD completes, but the physical transfer order moving the material out of the quality interim area was never confirmed, so the system-level stock type changed while the bin location did not.

What to check

  • QA12 or QA13: open the lot, go to the usage decision tab, check the stock posting section for a completed status, an error flag, or a quantity that does not match the lot quantity.
  • Lot system messages / long text within the same transaction: look for a goods movement error logged at the time the UD was saved.
  • QA07 or a lot list by material and plant: check whether other inspection lots exist for the same goods receipt still without a usage decision.
  • MMBE or MB52: compare the quantity still sitting in the quality inspection stock type against the lot's own quantity field to see if they match.
  • MSC3N: check the batch status field independently of the inventory stock type.
  • SM37: if automatic posting is configured, check for a cancelled or failed background job tied to the UD timestamp.
  • Inspection type configuration in the IMG (quality management control key for the inspection type): confirm whether stock posting is set to automatic or manual, and whether a movement type is actually assigned to the decision code.
  • LT21/LT24 or the equivalent warehouse task list, if the storage location is warehouse-managed: check for an unconfirmed transfer order out of the quality area.

How to prove it in the data

Pull the inspection lot table joined against the plant stock tables for the material and plant in question: list every lot with a usage decision date populated and a decision code marked as accepted or rejected, then compare the lot quantity against the quantity still recorded under the quality inspection stock type in MARD/MCHB. Any lot where the UD date is populated but the quality stock quantity is still greater than zero is the evidence set. Cross-check the job log timestamps against the UD save time to isolate failed automatic postings.

Resolution path

If the decision code simply has no stock posting configured, this is a change to the QM decision code customizing (movement type assignment against the code and inspection type) and needs a transport through the normal change path; it is not something a single lot fix resolves, because every future lot using that code will repeat the symptom. If the cause is a failed background job, the fix is data-level: clear the blocking condition (unlock the material, fix the storage location) and reprocess the stock posting for that specific lot, usually via the usage decision screen's posting function rather than redoing the whole UD. If a partial lot was missed, the remaining lot needs its own usage decision; no configuration change is involved. If the quantity mismatch is the cause, reconcile the actual stock quantity against the lot before reposting, and only then repost the movement, otherwise the second posting fails the same way. If manual posting is the intended design, the resolution is procedural: update the work instruction so inspectors execute the stock posting step, not a system change. Batch status and WM transfer order issues are cleared as one-off data corrections against the affected batch or transfer order, with no config impact.

The fix people try first (and why it fails)

The common reflex is to reopen the usage decision in QA12, change nothing, and save it again hoping the posting fires the second time, or to bypass QM entirely and post a manual MIGO/MB1B movement to shove the stock out of quality status. Re-saving the UD often does nothing if the root cause is a missing movement type assignment, since the same configuration gap is hit again. The manual MIGO workaround gets the stock moved but leaves the inspection lot's own stock posting field inconsistent with what actually happened in inventory management, which shows up later as an unexplained quantity difference during lot closure review or in a batch traceability audit.

Whose problem this is

First ownership sits with the QM configuration or support consultant, since the decision code and inspection type setup determine whether a posting should even occur automatically. MM involvement is needed when the block is a stock or batch inconsistency, and WM/EWM support is needed when a transfer order is the blocker. The handover note should state the lot number, the decision code and date, the exact stock quantity discrepancy observed, and whether the fix applied was configuration (needs transport) or a one-off data correction.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/stock-stuck-in-quality-inspection-after-usage-decisionERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.