← Back to Controls

P2P-05

Business Process:
Procure to Pay
Sub-Process:
Good Receipt
Control Type:
Preventative
Execution Type:
Automated
Effective Date:
July 21, 2026

Control Description

SAP enforces delivery limits during goods receipt processing by comparing received quantities against Purchase Order quantities, using tolerance thresholds defaulted via Purchasing Value Keys or Purchasing Info Records. If a delivery exceeds the configured acceptance limits, the system automatically blocks the goods receipt posting, preventing inventory acceptance for unapproved quantities

Risk

The business could accept and inventory unauthorized excess quantities from a vendor, resulting in inventory overstock, inaccurate physical counts, and potential financial over-obligation before an invoice is even processed.

Implementation Details

1. Definition: Under-Delivery & Over-Delivery Tolerances
• Under-delivery tolerance = acceptable % shortfall from PO quantity (e.g., PO qty 100, tolerance 5% = system accepts 95+).
• Over-delivery tolerance = acceptable % excess above PO quantity (e.g., PO qty 100, tolerance 10% = system accepts up to 110).

Both tolerances define the acceptable variance band between ordered and received quantities.

2. Trigger: When Tolerances Are Evaluated

During goods receipt posting (TCODE MIGO), SAP compares the GR quantity entered against the PO quantity and retrieves the applicable tolerance %.
• If GR qty falls within the tolerance band: GR posts successfully.
• If over-delivery exceeds tolerance: System blocks GR posting with error message.
• If under-delivery exceeds tolerance: System issues warning (may allow override).

3. Hierarchy: Purchase Info Record (PIR) Hard-Coded % vs. Material Master, Purchase Value Key (PVK)

• Purchase Info Record (TCODE ME12). If it exists for a vendor-material combination — stores hard-coded over- and under-delivery tolerances that override Material Master defaults.
If no PIR exists, SAP uses tolerances inherited from the Material Master via the assigned Purchasing Value Key.

4. Configuration: Two Paths

Path A (Material Master + PVK): Assign Purchasing Value Key in MM01 (Purchasing view) → Key references SPRO > IMG / Materials Management / Purchasing / Material Master / Define Purchasing Value Keys (OME1) where tolerance % are defined.

Path B (PIR Override): Enter hard-coded tolerance % directly in ME12 Purchasing Org. Data 1 tab; these supersede Material Master PVK values for that vendor-material pair.

Test Procedures

Test of Design:

• Navigate to SPRO > IMG / Materials Management / Purchasing / Material Master / Define Purchasing Value Keys (OME1) and verify all active PVKs have configured over- and under-delivery tolerance %.

Test of Operating Effectiveness

Test 1 – PVK Drives Tolerance (No PIR):
• Select a material with Material Master PVK assigned and no active PIR (tolerance = PVK %, e.g., 10% over-delivery).
• Post GR via MIGO within tolerance (GR qty = PO qty + 5%). Confirm GR posts successfully.
• Attempt GR exceeding tolerance (GR qty = PO qty + 15%). Confirm MIGO blocks posting.

Test 2 – PIR Drives Tolerance (Override PVK):
• Select a material with both Material Master PVK (e.g., 10% over-delivery) and active PIR with different hard-coded tolerance (e.g., 5% over-delivery).
• Verify PO item (ME23N) reflects PIR tolerance % (5%, not PVK 10%).
• Post GR via MIGO within PIR tolerance (GR qty = PO qty + 3%) — confirm GR posts successfully.
• Attempt GR exceeding PIR tolerance (GR qty = PO qty + 8%) — confirm MIGO blocks posting using PIR % (not PVK %).