Audit Controls for the SAP S/4HANA Forecast-to-Stock Cycle
Inventory audits are rarely just about counting boxes.
They are about trust. Trust that the quantities in SAP S/4HANA reflect physical reality. Trust that movements are valid. Trust that scrapped material is actually scrapped. Trust that stock in transit exists. Trust that inventory valuation is right, period cutoffs are right, and adjustments are not hiding mistakes or theft.
That is why the forecast-to-stock cycle matters so much, even when most audit work in this area ends up focusing on inventory management rather than forecasting.
I have seen inventory environments where the count procedures looked disciplined but the underlying movement controls were weak. The result was predictable. Repeated write-offs. Unexplained adjustments. Warehouse frustration. Management arguing over whether the issue was process, system, or people. I have also seen the reverse. Well-designed movement controls, cycle counting discipline, material master governance, and better reporting reduced inventory noise sharply before year-end counts ever began.
This article gives you a practical framework for auditing the SAP S/4HANA forecast-to-stock cycle, with emphasis on inventory management. It covers the key S/4HANA changes, enterprise structure, material master, movement types, security, configurable controls, and the most useful audit reports. As requested, I include transaction codes, key tables, technical field names, and practical implementation guidance throughout.
Understanding the core framework for a SAP S/4HANA forecast-to-stock audit
Most organizations say they want accurate inventory.
What they usually mean is something more complicated.
They want accurate quantity. Accurate valuation. Accurate timing. Accurate movement history. Accurate status. Accurate ownership. Accurate location. And they want all of that without slowing operations down.
That is the real challenge in the forecast-to-stock cycle.
Component 1: Forecast-to-stock is operational first, but inventory control is financially significant
Forecasting and planning often sit close to operations leadership and supply chain specialists. Inventory itself sits at the meeting point between operations and finance.
A material receipt can affect stock, GR/IR, valuation, and later expense recognition. A scrap posting can hit both warehouse accuracy and the income statement. A delayed goods receipt can distort period cutoffs. That is why inventory management is one of the most audit-relevant parts of the cycle.
Original implementation tip: In scoping discussions, separate forecast risk from inventory accounting risk, but do not separate them too far. Weak forecasting often shows up later as obsolescence, emergency transfers, and odd adjustment behavior.
Component 2: SAP S/4HANA changed valuation and the inventory data model in useful ways
S/4HANA improved inventory in at least two ways that matter for audit work.
First, valuation is more flexible. Actual costing and multiple valuation views are possible in ways that were harder before. Second, the underlying data model changed. Material movement data is now driven through MATDOC and summarized through MATDOC_EXTRACT, improving report performance and simplifying some analytics.
If you audited inventory on older SAP releases, you will feel the difference. Especially on movement reporting.
Original implementation tip: Revisit your legacy audit analytics after migration. Some old logic still works, but SAP S/4HANA often allows broader and faster population analysis than teams realize.
Component 3: Inventory risk often hides in movement types, not just in counts
Many audits over-focus on the count and under-focus on the movement population.
That is a mistake.
Inventory can be distorted through:
- Reversals
- Scrap postings
- unusual transfers
- direct inventory difference postings
- initial stock movement types
- adjustments tied to production or quality
- custom movement types no one revisited after implementation
Original implementation tip: Always start the inventory audit with movement type analytics. The count process may be strong, but movement behavior often reveals where the real control pressure sits.
What Changed in SAP S/4HANA for Inventory Management
Two areas carry significant changes from SAP ERP.
Valuation. SAP S/4HANA allows inventory valuation at actual cost, not just moving average or standard cost. Multiple currency valuation is now supported (up to three currencies versus one). Three levels of valuation provide legal entity, group, and profit center valuations directly from SAP rather than requiring external systems or manual spreadsheets.
The underlying data model. Material-related tables MARC and MARD still exist and contain master data, but the values previously stored directly in those tables are now calculated on the fly using table MATDOC_EXTRACT, which contains material transaction values. Table MATDOC contains material movement header and detail data previously found in tables MKPF (Material Document Header) and MSEG (Material Document Segment). MATDOC_EXTRACT is a summarized version of MATDOC. Reports run dramatically faster.
Many transactions starting with MB (like MB01 and MB1A) have been replaced by transaction MIGO, which uses a new locking concept during parallel posting. SAP Note 2210569 documents this change.
Original implementation tip: If you performed audit analytics on SAP ERP using tables MKPF and MSEG, the same queries still work in SAP S/4HANA because those tables still present data in the original format. But for new analytics development, build against table MATDOC for better performance. The difference is dramatic. Transaction MB51 (Material Document List), which routinely crashed or required heavy filtering in material-rich SAP ERP environments, now runs efficiently because the underlying data storage has been restructured. This means full-population analytics that were previously impractical are now feasible.
Forecast-to-Stock Risks That Drive Your Audit Scope
Most auditors think of inventory counting when they think of inventory auditing. Counting matters. But the risks extend far beyond count accuracy.
Costs recorded in the wrong period. Costs associated with sales, manufacturing consumption, and inventory loss must be recorded in the period incurred. Improper counts shift costs outside the correct period, creating incorrect financial statements and potentially ill-informed management decisions. Year-end physical inventory counts sometimes produce unnecessary adjustments from counters unfamiliar with the inventory. Without proper review, recounting, and approval, these adjustments create significant valuation errors.
Portions of inventory excluded from counting. Cycle counts set to cover only single storage locations can create dramatically fluctuating inventory levels if materials are moving between locations and the adjusted inventory is simply in a different place.
Inaccurate or incomplete inventory adjustments. Adjustments outside cyclical counts occur when product is damaged during movement or when employees find uncounted goods. Without review, these adjustments can create expenses or inflate inventory value. I have seen scrapped material (removed for quality issues) found by an employee and recorded back to the original inventory item and value, not realizing it was intended to be scrapped.
Theft. Transactions that move inventory out of the system can mask physical theft. Scrapping transactions reduce inventory value to zero and justify moving material to a dumpster or external location for later retrieval. Movement type 309 was designed to correct batch numbers but allows a user to transform one material into another in the system. Someone could convert a laptop computer into a USB flash drive, ship the flash drive, and the cost difference would either inflate the average cost of flash drive inventory or, under standard costing, disappear into a variance bucket spread across all sales.
Obsolete or expired inventory. Obsolete inventory remaining on the books overstates asset values and defers costs. I have seen managers keep obsolete inventory on the books to meet bonus targets or create the appearance that their operation runs more effectively than it does. SAP S/4HANA provides expiration date fields. Monitoring inventory past expiration identifies material that should be adjusted.
Overvalued consignment inventory. Consignment inventory moves outside the company's custody. Without physical observation and third-party confirmation, consignment inventory can be overstated.
Improper storage of hazardous materials. Hazardous or restricted-access materials require special storage locations and proper security. If not coded correctly in SAP S/4HANA, materials may be stored in inappropriate locations.
Implementation tip: Do not focus exclusively on inventory overvaluation. Understatement is equally risky and often overlooked. The plant manager story I opened with is not unusual. I have also seen receiving docks where goods were staged but not entered into SAP until after month-end close, deliberately suppressing the inventory balance and the corresponding accounts payable recognition. If your audit only looks for phantom stock, you will miss manipulation in the other direction.
Understanding the Enterprise Structure
The forecast-to-stock cycle does not introduce new enterprise structure elements beyond those discussed in previous chapters. The relevant assignments can be viewed through transaction SPRO, SAP Reference IMG, Enterprise Structure, Assignment.
Primary assignments affecting inventory include plant to company code (linking materials management to financial accounting), purchasing organization to company code (linking procurement to financial accounting), and purchasing organization to plant (linking procurement to specific material locations).
Two points about inventory-related organizational units deserve emphasis.
Plants can be a location, a building, a warehouse, or a corporate office. They are not restricted to manufacturing facilities. Using a corporate office as a plant allows purchase orders to be set for delivery to that office and assignment of users as purchasers for that location.
Storage locations are unique to a plant and required to store valuated material within the system. Each storage location exists within exactly one plant.
Key Concepts for Inventory Auditors
Movement Types: The Complete Risk Framework
Movement types are the driving force behind all inventory transactions in SAP S/4HANA. Understanding their risk profile is essential for any inventory audit.
Movement types 101 through 199 cover goods receipts. Receipt from vendors, from other warehouses or plants, or from production of finished goods. Types ending in 1 receive. Types ending in 2 reverse previous movements. The reversal types (like 102) deserve audit scrutiny because in production, a 102 reversal puts raw materials back into stock and reverses a finished goods production posting. This could be used erroneously to record defective product or to hide stolen finished goods.
Movement types 201 through 299 cover consumption. Internal movements between cost centers or projects, movements applied to sales orders or production orders. Movement type 231 applies to sales orders involving package-type selections. Movement type 261 shifts inventory to a production department for manufacturing. These movements offset within the organization.
Movement types 300 through 399 and 641 through 649 cover transfers. These do not change inventory values. Common manufacturing transactions include 321 (move into quality inspection) and 322 (move out of quality). These are status changes only, not quantity or value changes.
Movement types 401 through 499 cover group-to-group transfers. Movement types 411 and 412 move items between storage locations within the same plant. These are necessary for operations but generally represent noise during an audit. They may be interesting when investigating specific storage location discrepancies.
Movement types 501 through 599 are the highest-risk category. They relate to exceptional situations like receipt without a purchase order or delivery at no cost. Movement types 555 and 556 allow scrapping, which writes material off the books entirely and makes theft easy to conceal. Movement types 561 through 566 allow movements that skip normal sequential states, such as making material ready for production when it was never received through the standard receiving process. These types are designed for go-live when material already exists physically but is not yet in SAP. After go-live, access should be removed.
Movement types 600 through 639 cover deliveries to customers. Most activity is 601 (delivery) and 602 (return). Because these tie to sales orders, they represent more controlled movements.
Movement types 700 through 799 cover inventory differences. Physical inventory count adjustments, cycle count adjustments, and day-to-day inventory corrections. This is the highest-risk range for adjustments and should always require approvals or entry by inventory managers.
Movement types 800 through 899 cover special stock including consignment (820s), returnable packaging (840s), and tax-related activity.
Movement types starting with 9, Y, or Z are custom and not supplied by SAP.
Movement type names are context-dependent. The same movement type (like 101) has different descriptions depending on whether it is used for a purchase order goods receipt, a production order receipt, or another context. Table T156T contains all variations, filtered by login language, with different values for Special Stock Indicator, Movement Indicator, Receiving Indicator, and Consumption Indicator. Movement type 101 alone has 19 different description variations and 41 total behavioral variations.
Material Documents
Material documents are the journal entries of the inventory system. A material document number can include one or multiple lines. Multiple lines exist because they relate to one another. A production order consumption posting includes all raw materials consumed in one transaction. Receipt of finished goods from that production order creates a separate material document. View material documents through transaction MB51.
Valuation Area
The valuation area determines how inventory value is set and can be defined as either a plant or a company code. Once established during initial configuration, this setting cannot be changed. SAP recommends plant-level valuation, and it is mandatory for organizations using production planning, costing functionality, or SAP S/4HANA retail.
View the configuration through transaction SPRO, SAP Reference IMG, Enterprise Structure, Definition, Logistics General, Define Valuation Level.
Valuation areas can be configured to allow negative stocks. A negative balance requires three conditions: the valuation area allows negative stocks, the storage location allows them, and the plant data of the material master allows negative stock quantity (the latter is not required for special stock).
View negative stock configuration through transaction SPRO, SAP Reference IMG, Materials Management, Inventory Management and Physical Inventory, Goods Issue/Transfer Postings, Allow Negative Stocks. Drill into related plants to see which storage areas also allow negative posting.
Original implementation tip: Movement types 561 through 566 are implementation movement types designed for initial stock uploads. After go-live, access should be revoked from all users. I found an organization with 4,200 postings using movement type 561 in the 18 months after go-live. None had corresponding purchase orders. The warehouse team used them as a shortcut when goods arrived without matching POs, bypassing all purchasing controls including the three-way match. The root cause was never addressed because nobody monitored these movement types after the implementation team disbanded.
Master Data: Material Master for Inventory Audits
View material master data through transaction MM03. SAP S/4HANA has more than 20 different material data views.
Basic Data 1 View
Material type determines whether a material is finished goods, raw materials, packaging, supplies, or another category. The material type configuration determines the cost calculation method (standard or average) and whether that method can be changed per material. After initial creation, the material type is not visible on any standard view. Click the information icon to the right of the material ID to see additional details including material type. A standard audit procedure validates governance over material type assignment and independently verifies a sample of assigned values.
Material group controls the valuation class assignment (which determines GL account postings for different movement types), purchasing value keys (defining reminder days, tolerance limits, shipping instructions, and order acknowledgment requirements). Validate governance and sample-test assigned values.
Authorization group restricts which user IDs or roles can interact with the material through authorization object M_MATE_MAT (or M_MATE_CHP for batch record maintenance).
Plant Data / Storage 1 View
Haz. material number indicates the material is dangerous and can link to regional hazardous goods data for tracking.
CC Phys. Inv. Ind. defines the ABC indicator for cycle counting, driving how frequently the material is selected. A materials are counted most frequently, C materials least frequently.
CC fixed, once checked, prevents the cycle counting ABC indicator from being changed once the count has started. This prevents someone from moving a material to a less frequent count category mid-cycle.
Batch Management determines whether batches are used for tracking the material in smaller groups.
The plant-specific material status indicator restricts material usage. View configuration through transaction SPRO, SAP Reference IMG, Logistics General, Material Master, Settings for Key Fields, Define Material Statuses. A material assigned status 05 (obsolete) with message type B (error) cannot be purchased, used in a BOM, used in routing or recipe, considered for MRP, or used in production.
MRP Views
Key fields affecting upstream ordering processes include reorder point (triggering MRP acquisition), ABC indicator based on consumption value (driving cycle count frequency), planned delivery time in days (determining order lead time), goods receipt processing time in days (time from receipt to final inspection), safety stock level (preventing depletion of critical inventory), and maximum inventory level (limiting total purchase quantity to prevent excess holdings).
Original implementation tip: When auditing material master data, build a query that identifies materials where the price control field on the Accounting 1 view is set to S (standard cost) but the standard price has not been updated in more than 12 months. Standard costs that are not periodically reviewed drift from actual costs, creating valuation distortions that accumulate over time. I found an organization with 3,400 materials on standard cost where the standard price had not been updated since go-live 26 months earlier. Raw material market prices had changed by 15-40% during that period. The inventory valuation on the balance sheet was materially misstated.
Security Considerations
Limiting Access to Powerful Transactions
Restrict the following to minimal personnel: Transaction MBPM (delete held data from MIGO), transaction MIAD (delete or archive inventory documents), transaction MM17 (mass maintenance of material data), transaction MSL2 (delete logs for mass changes), transaction MI07 (post inventory differences), and transaction MI32 (block a material for physical inventory).
Monitor usage of these transactions independently of the authorized group.
Inventory-Specific Authorization Objects
Authorization object M_SKPF_VGA (Inventory Sampling: Transaction) limits activities related to inventory sampling. M_SKPF_WRK (Inventory Sampling: Plant) limits physical inventory actions within a plant. M_ISEG_WDG (Physical Inventory: Difference Posting in Plant) restricts who can post physical inventory differences. M_ISEG_WZB (Physical Inventory: Count and Difference Posting in Plant) restricts who can post counts and differences.
Authorization object M_MSEG_BWA (Goods Movements: Movement Type) is the most critical for inventory audits. Use it to limit who can create high-risk movement types including 309 (material-to-material transfer), 551-556 (scrapping), and 561-566 (implementation movement types). SoD conflicts can exist within this single authorization object. A user with both movement type 101 (goods receipt) and 102 (goods return) within M_MSEG_BWA can receive goods and reverse their own receipts.
Original implementation tip: Movement type 309 deserves special attention in every inventory audit. It was designed to allow correction of batch numbers or incorrect entries during receiving. But it also allows a user to transform one material into another material within the system. Under standard costing, the cost difference flows to a variance account that gets spread across all sales. The transformation is invisible in the material consumption reports. The only way to detect it is through analysis of movement type 309 transactions, comparing the source material to the target material and questioning whether the transformation makes business sense. If your organization has no legitimate use for movement type 309, block it through security. If it has legitimate use, restrict it to a small number of users and monitor every transaction.
Testing Common Controls: Erroneous or Fraudulent Inventory Adjustments
Freezing Book Inventory During Counts
SAP S/4HANA is real-time. In plants with high inventory turnover, quantities change constantly. Between when an employee finishes counting and when they enter the count into SAP, goods movements can alter the system balance.
Consider this scenario. SAP shows 100 items. The counter finds 99. Normally, entering 99 creates a 1-unit adjustment. But if a goods receipt of 20 items posts between the count completion and data entry, SAP now shows 120 items. Entering 99 creates a 21-unit reduction. The inventory is now understated by 20 units.
Freezing book inventory mitigates this. When frozen, SAP batches movements in memory and applies them only after the count is entered. Two requirements: the storage location must be configured to allow freezing, and someone must run transaction MI33 before the count begins. After count entry, MI33 is rerun with the Reset book inv. Balance option to unfreeze.
View which storage locations allow freezing through transaction SPRO, SAP Reference IMG, Materials Management, Inventory Management and Physical Inventory, Physical Inventory, Allow Freezing of Book Inventory Balance in Storage Location. The configuration shows a simple list of storage locations with checkboxes.
To verify that freezing actually occurred during counts, check the security audit log for transaction MI33 execution. If transaction starts are enabled for relevant employees, you can see who ran MI33 and when.
Inventory Adjustment Tolerances
Tolerance groups define the maximum amount of an inventory adjustment a user can post in a single document, plus the maximum per line item. One or more tolerance groups are assigned to a company code, then assigned to user IDs.
Users not assigned to a tolerance group can post unlimited adjustments. Company codes not assigned to a tolerance group allow any authorized user to post unlimited adjustments.
View tolerance group configuration through transaction SPRO, SAP Reference IMG, Materials Management, Inventory Management and Physical Inventory, Physical Inventory, Define Tolerances for Physical Inventory Differences. Select Physical Inventory Tolerance Group. If your company code does not appear, no tolerances are configured.
Double-click the tolerance group to see values. The configuration includes maximum per line item and maximum per document, both in company code currency.
View user assignments through the same IMG path, selecting the User Name option. Watch for the asterisk value, which assigns all user IDs to that tolerance group. If a catch-all asterisk assignment exists, the associated tolerance group should be the most restrictive. Setting the asterisk tolerance group to $0.01 means every user defaults to essentially zero adjustment capability unless consciously assigned to a specific tolerance group.
The configuration screen sorts alphabetically by tolerance group then by company code. If a company code is assigned to multiple tolerance groups, you must scroll through the entire list to see all assignments.
Original implementation tip: The most common observation on inventory adjustment controls is that organizations simply do not use them. Many people I have spoken with did not know SAP S/4HANA had these capabilities. While detective review of inventory adjustment reports remains the primary control, enabling these preventive settings catches problems before they reach the review stage. In the rare cases I find inventory tolerances configured, I regularly see only one tolerance group (defeating the purpose of differentiation) or the same amount across all company codes (failing to account for currency differences). A $5,000 tolerance in USD is very different from $5,000 in a currency with significantly lower purchasing power.
Other Configurable Controls Worth Testing
Change Documents for Physical Inventory
A plant-level setting controls whether change documents are created when someone modifies a physical inventory document or count. If disabled, changes go unrecorded in the SAP change log, allowing fraud or suspicious activity to go undetected.
View through transaction SPRO, SAP Reference IMG, Materials Management, Inventory Management and Physical Inventory, Plant Parameters. Double-click the plant. Check whether the Change Document field is selected. If unchecked, no changes to physical inventory documents are being recorded.
This is a straightforward but critical finding. Without change documents on physical inventory, you cannot determine whether someone altered a count after it was entered, changed the material on an inventory document, or modified quantities after supervisory review.
Cycle Count Indicators
Cycle count indicators drive counting frequency through ABC analysis. View through transaction SPRO, SAP Reference IMG, Materials Management, Inventory Management and Physical Inventory, Physical Inventory, Inventory Sampling, Cycle Counting.
Configuration shows indicators assigned to each plant. The Percentage column must sum to 100% across all indicators. When ABC analysis runs, SAP sorts materials from highest consumption to lowest. Materials accounting for the top percentage (typically 56% for A) receive the most frequent counting. The No.of phys.inventories column shows how many counts are expected during the fiscal year. Phys.inv.interval is calculated by SAP. Float time provides a grace period before a material is tagged for automatic counting.
Verify that the volume of inventory being counted at each frequency provides sufficient assurance for the reliance management intends to place on inventory values.
Preventing Reversal of Goods Receipt After Invoice
If using goods receipt-based invoice verification, SAP can prevent reversal of a goods receipt after the related invoice has been posted. Without this control, a goods receipt could be reversed after the vendor has been paid, removing the inventory from the books while the payment stands.
View through transaction OMJJ, selecting Movement Type. Review configuration for movement type 102 (goods receipt reversal) and any custom reversal movement types. The RevGR Despite IR indicator controls this behavior. If set to allow reversal despite posted invoices, the control is not effective.
Material Status Restrictions
Material status indicators can prevent usage of materials across multiple functions. A material marked as obsolete with error-level messages cannot be purchased, used in BOMs, used in routing, considered for MRP, or used in production.
Verify that materials with status restrictions are actually restricted. Query the material master for materials with status indicators and cross-reference against recent transaction activity. A material flagged as obsolete but still appearing in purchase orders or production orders indicates either a configuration problem or a process bypass.
Useful Audit Reports
Change Reports
Program RSSCD200 mines SAP change document tables for material master changes across all materials within a date range. Run with object class MATERIAL. This program requires transaction SA38 to execute. I recommend creating a custom transaction that calls this program for the material object class to avoid granting SA38 access.
The output shows which materials were changed, who made the change, when, and the old and new values for each changed field. Focus on standard price changes, material type changes, valuation class changes, and material status changes.
Transaction MI12 shows changes to physical inventory documents by fiscal year. Filter by user ID for targeted investigations. Drill into line items to see specific quantity changes with old and new values.
Transaction MM04 shows changes to individual material master records but requires specifying a material number.
Stock Value and Selection Reports
Transaction MB52 (Display Warehouse Stocks of Material) shows current stock quantities and values. Filter by material, plant, storage location, or batch number. Restrict by stock type such as zero-quantity materials or special stocks. The limitation is that MB52 provides only current-date data with no historical capability.
Transaction MB5B (Stocks on Posting Date) shows stock movements over a selected period. Filter by material number, manufacturer part number, GL account, storage location, valuation type, or movement type. Display in total or detail view. For valuated stock, the detailed view includes accounting document numbers and local currency amounts. Clicking material document or accounting document numbers opens the related documents.
Material Document Reports
Transaction MB51 (Material Document List) provides all movements or filtered subsets. Filter on header data (posting date, user ID) or item data (material number, supplier, movement type). Click the Detail List icon for analysis-friendly output. From the detail view, the Environment menu provides direct links to the purchase order, stock overview, and accounting document.
For audit analytics, focus MB51 on specific high-risk movement types: 309 (material transformation), 551-556 (scrapping), 561-566 (implementation movements), and 700-series (inventory adjustments). Filter by user ID to identify concentration patterns. Filter by time of day to detect after-hours activity.
Exception and Reconciliation Reports
Transaction MB5L (List of Stock Values: Balances) compares valuated inventory balances in materials management to financial accounting balances. Variances highlighted require investigation. SAP Note 1846376 notes that differences can result from inventory balances not carried over from the prior year. Double-click records for detail by valuation area and material.
Transaction MB5K (Material Consistency Check) identifies inconsistencies in material data. Anything appearing in the output should be investigated and resolved promptly. Management should run this report regularly.
Other Useful Reports
Transaction MB5T shows stock in transit for the current day. Transaction MB5TD shows stock in transit for past dates. Transaction MIDL with the Blocked option shows inventory items blocked from physical inventory. Transaction MI24 displays physical inventory documents. Transaction MI23 displays physical inventory data for a specific material. Transaction MI20 displays physical inventory differences.
SAP S/4HANA Audit Program: Forecast-to-Stock Cycle (Inventory Management)
Audit Objectives
This audit program provides a structured approach for evaluating the Forecast-to-Stock cycle, with primary focus on inventory management, in an SAP S/4HANA environment. The program is designed for auditors, compliance professionals, and operations specialists who need to assess the reliability, integrity, and effectiveness of inventory processes, including material movements, valuation, physical inventory, and related controls. The primary objectives are to:
Evaluate the design and operating effectiveness of controls over inventory transactions, including goods receipts, issues, transfers, and adjustments
Assess configuration settings and master data that impact inventory valuation and movement processing
Review security controls that protect inventory transactions from unauthorized or fraudulent activity
Validate physical inventory processes, including cycle counting and year-end counting procedures
Identify control weaknesses and provide recommendations for remediation, particularly focusing on fraud prevention and inventory accuracy
This program follows a risk-based approach consistent with COSO Internal Control Framework, COBIT 2019, and common external audit practices . The procedures should be tailored to your organization's specific risk profile, industry requirements, and system complexity.
Section 1: Understanding the SAP S/4HANA Forecast-to-Stock Environment
1.1 SAP S/4HANA Specific Features Impacting Inventory Management
Audit Objective: Understand the unique SAP S/4HANA features that affect inventory management processes and identify any related risks.
Background: SAP S/4HANA introduces significant changes to inventory management compared to legacy SAP ERP systems. Key changes include enhanced valuation capabilities (actual cost, multiple currencies, multiple valuation levels), a redesigned data model (MATDOC/MATDOC_EXTRACT tables), and the consolidation of material movement transactions into MIGO .
Audit Procedures:
Identify which SAP S/4HANA-specific inventory features are implemented:
Actual cost valuation (if applicable)
Multiple currency valuation (up to three currencies)
Multiple valuation levels (legal entity, group, profit center)
MATDOC/MATDOC_EXTRACT table structure for material documents
Review SAP Notes related to retired functionality:
SAP Note 2210569 - Consolidation of MB* transactions into MIGO
Verify that the organization is using current, supported transactions (e.g., MIGO instead of legacy MB transactions)
Review documentation of inventory processes that leverage new S/4HANA functionality
Assess whether the migration to SAP S/4HANA has introduced any new risks or control gaps
Important Consideration: If you audited SAP ERP inventory management, you will appreciate the speed improvements in SAP S/4HANA. Transaction MB51 (Material Document List) now runs much more efficiently using table MATDOC_EXTRACT, a summarized version of MATDOC. Table MATDOC contains material movement header and detail data previously found in tables MKPF and MSEG .
Section 2: Risks in the Forecast-to-Stock Cycle
Audit Objective: Identify and understand the key risks affecting inventory processes and related financial reporting.
Background: Inventories can be a significant portion of an organization's balance sheet, with transactions impacting the income statement and statement of cash flows in high volumes and amounts. While forecasting and MRP are operationally critical, most audit focus tends to be on inventory management, which starts once materials are procured and ends when they are incorporated into finished goods, sold, or scrapped .
Risk Categories and Audit Focus:
| Risk Category | Description | Audit Focus |
|---|---|---|
| Costs recorded in wrong period | Sales, manufacturing consumption, and inventory loss not recorded in period incurred | Review period-end cutoffs; analyze physical inventory adjustments |
| Portions of inventory excluded from counting | Cycle counts only covering specific locations, missing inventory elsewhere | Review cycle count scope and coverage |
| Inaccurate inventory adjustments | Damaged goods, found goods, or obsolete materials incorrectly valued | Review adjustment approvals; analyze adjustment patterns |
| Theft | Unauthorized removal of inventory masked by system transactions | Monitor high-risk movement types; review segregation of duties |
| Obsolete or expired inventory | Inventory overvalued due to obsolescence or expiration | Review expiration dates; analyze slow-moving inventory |
| Overvalued consignment inventory | Inventory outside company custody not properly verified | Confirm consignment inventory with third parties |
| Improper storage of hazardous materials | Hazardous materials not properly coded or secured | Review hazardous material designations and storage locations |
Important Consideration: Don't just focus on inventory overvaluation. There is also risk that the company owns goods not included in the SAP S/4HANA inventory list. For example, a plant manager might store material outside the warehouse near period close to deflate inventory and prevent expense recognition .
Section 3: Enterprise Structure Review
Audit Objective: Verify that the enterprise structure supporting inventory management is appropriately configured and aligned with organizational and operational requirements.
3.1 Inventory Management Organizational Units
Background: Inventory management relies on proper assignment of organizational elements including plants, storage locations, and valuation areas. These assignments drive the flow of materials through the forecast-to-stock cycle .
Audit Procedures:
Using Transaction SPRO, navigate to SAP Reference IMG • Enterprise Structure • Assignment
Review the following assignments affecting inventory management (see Figure 9.1):
Assign plant to company code (affects financial posting)
Assign purchasing organization to plant (affects procurement)
Assign standard purchasing organization to plant (affects procurement defaults)
Assign plant to sales organization/distribution channel (affects sales)
Key Concepts:
Plants can be a location, building, warehouse, or even a corporate office. They are not restricted to manufacturing facilities.
Storage locations are set within a plant, unique to that plant, and required to store valuated material.
3.2 Valuation Level
Background: Valuation areas determine how inventory value is set—either at plant level or company code level. This setting cannot be changed after initial configuration .
Audit Procedures:
Determine valuation level configuration:
Transaction SPRO • Enterprise Structure • Definition • Logistics – General • Define Valuation Level - see Figure 9.2
Document whether valuation is at plant or company code level
Note: SAP recommends plant-level valuation, and it is mandatory for:
Organizations using production planning or costing functionality
SAP S/4HANA retail systems
3.3 Negative Stock Configuration
Background: Negative stock balances can only exist if multiple conditions are met: valuation area configured for negative stocks, storage location allows it, and material master plant data configured to allow negative stock .
Audit Procedures:
Review negative stock settings:
Transaction SPRO • Materials Management • Inventory Management and Physical Inventory • Goods Issue/Transfer Postings • Allow Negative Stocks
Check if "Negative Stocks" checkbox is selected for valuation areas
Drill into plants to see which storage locations allow negative postings
Common Findings:
Negative stock allowed without business justification
Inconsistent configuration across plants
Material master settings not aligned with valuation area settings
Section 4: Key Concepts
Audit Objective: Understand key inventory management concepts that impact audit procedures and control evaluation.
4.1 Movement Types
Background: Movement types classify the type of goods movement (receipt, issue, transfer, adjustment, etc.). Each movement type has specific financial and operational implications .
Movement Type Categories and Audit Focus:
| No. Range | Category | Commentary | Audit Focus |
|---|---|---|---|
| 101–199 | Goods Receipt | Receipt from vendor, another plant, or production. Types ending in "2" reverse previous movements. | Monitor reversal movements (102, etc.) for unusual activity |
| 201–299 | Consumption | Internal movements to cost centers, projects, sales orders, or production orders. | Review production consumption (261) for accuracy; analyze cost center postings |
| 300–399, 641–649 | Transfers | Do not change inventory values. Moves between plants or stock types (e.g., 321 into quality, 322 out of quality). | Low audit risk; status changes only |
| 401–499 | Group to Group | Transfers between storage locations within same plant (411, 412). | Mostly noise for audits; exclude unless analyzing specific locations |
| 501–599 | Exceptional Movements | High-risk category for exceptional situations. | CRITICAL AUDIT FOCUS |
| 600–639 | Deliveries | Goods to customers (601) and returns from customers (602). | Tied to sales orders; more controlled |
| 700–799 | Inventory Differences | Physical inventory adjustments, cycle count adjustments. | CRITICAL AUDIT FOCUS - Require approval and monitoring |
| 800–899 | Special Stock | Consignments (820s), returnable packaging (840s), tax activity. | Review if regularly used |
| 9, Z, Y* | Custom | Custom movement types not supplied by SAP. | Understand purpose and validate controls |
High-Risk Movement Types Requiring Enhanced Scrutiny:
| Movement Type | Description | Risk |
|---|---|---|
| 309 | Transfer posting (material to material) | Can transform one material into another; potential fraud vehicle |
| 551 | Scrapping (with GR) | Writes off inventory; can mask theft |
| 552 | Scrapping reversal | Reverses write-off |
| 555 | Scrapping (no GR) | Writes off inventory without receipt |
| 556 | Scrapping reversal (no GR) | Reverses write-off |
| 561–566 | Initial stock upload | Should be restricted after go-live; can bypass normal processes |
Important Consideration: Movement 309 was designed to allow correction of batch numbers or incorrect entries during receiving, but it also allows a user to transform one material into another within the system. For example, a user could convert a laptop into a USB flash drive and then ship the USB drive to a friend. With standard costing, the difference may be spread across all sales, potentially masking the fraud .
4.2 Material Documents
Background: Material documents are the journal entries of the inventory system, similar to accounting documents. A material document number is unique and can include multiple related lines (e.g., all raw materials consumed in one production order) .
Audit Considerations:
Material documents can be viewed in Transaction MB51
Each line item represents a specific movement
Related documents (e.g., consumption and subsequent receipt) have separate material document numbers
4.3 Storage Bins
Background: Storage bins allow for more specific inventory locations within a plant or storage location. In embedded EWM, storage bins are unique within a warehouse .
4.4 Valuation Area
Background: Valuation areas contain settings determining how inventory value is calculated. They can be configured to allow negative stocks (see Section 3.3) .
Section 5: Master Data Review
Audit Objective: Assess the controls over master data that impacts inventory processes, including material master settings that affect valuation, movement, and counting.
5.1 Material Master Record - Basic Data Views
Background: The material master contains extensive data across multiple views. Control-related settings can be changed in production without transport, requiring strong change management .
Audit Procedures:
Using Transaction MM03, review a sample of material master records
For each sample, verify the following fields:
Basic Data 1 View (see Figure 9.3):
Material Type (view by clicking the "i" icon next to material ID) - see Figure 9.4
Determines how item cost is calculated (standard or average cost)
Determines whether cost setting can be changed
Common audit procedure: Validate governance around material type assignment
Material Group
Controls valuation class (GL account assignment)
Associates purchasing value keys (tolerance limits, reminder days, etc.)
Common audit procedure: Validate governance around material group assignment
Authorization Group
Controls user access via M_MATE_MAT authorization object
Verify that authorization groups are used appropriately to restrict sensitive materials
Plant Data / Stor. 1 View (see Figure 9.5):
Haz. material number - Indicates dangerous materials; should link to hazardous goods data
CC Phys. Inv. Ind. - ABC indicator for cycle counting frequency
A = most frequent, B = moderate, C = least frequent
Verify indicators align with consumption patterns
CC fixed - Prevents changing ABC indicator once cycle counting has started
Should be checked to ensure counting frequency integrity
Batch Management - Determines whether batches are used for tracking
Temperature conditions, storage conditions, container requirements (if applicable) - Should be accurate for proper storage
Plant-Specific Material Status (not shown in figure):
Restricts material usage (e.g., obsolete materials cannot be purchased, used in BOMs, etc.)
View configuration: Transaction SPRO • Logistics – General • Material Master • Settings for Key Fields • Define Material Statuses - see Figure 9.6
Example: Status 05 (obsolete) with message type B (error) prevents all usage
MRP Views (if MRP in scope):
| Field | Audit Focus |
|---|---|
| Reorder point | Determines when MRP acquires new inventory |
| ABC indicator | Based on consumption value; drives cycle counting frequency |
| Planned delivery time (days) | Affects order timing |
| Goods receipt processing time (days) | Affects order timing |
| Safety stock level | Prevents key inventory depletion |
| Maximum inventory level | Prevents excess inventory |
Common Findings:
Material types incorrectly assigned affecting valuation
Authorization groups not used for sensitive materials
CC fixed not checked, allowing frequency changes mid-cycle
Hazardous materials not properly identified
Material status not used to block obsolete materials
Safety stock and maximum levels not maintained
5.2 Material Master Change Monitoring
Audit Procedures:
Review changes to material master during audit period:
Program RSSCD200 (requires Transaction SA38) with object class MATERIAL - see Figure 9.11
Export results for analysis outside SAP (e.g., Excel)
Focus on high-risk changes:
Standard price changes (especially significant increases/decreases)
Valuation class changes
Material type changes
Authorization group changes
ABC indicator changes
For significant changes, trace to supporting documentation and approvals
Section 6: Security Considerations for Inventory Management
Audit Objective: Evaluate security controls that protect inventory processes and data from unauthorized access or manipulation.
6.1 Limiting Access to Powerful Transactions
Audit Procedures:
Identify users with access to powerful inventory transactions :
| Transaction | Description | Risk |
|---|---|---|
| MBPM | Delete held data (MIGO) | Destroy pending transactions |
| MIAD | Delete (archive) inventory documents | Destroy audit trail |
| MM17 | Mass maintenance of material data | Unauthorized mass changes |
| MSL2 | Delete logs for mass changes | Destroy audit trail |
| MI07 | Post inventory differences | Unauthorized adjustments |
| MI32 | Block material for physical inventory | Prevent counting of targeted materials |
For users with access to powerful transactions, verify:
Business justification exists
Access is limited to appropriate personnel
Usage is monitored by independent parties
Emergency access procedures (firefighter) are in place for highly critical functions
6.2 Restricting Authorizations to Adjust Inventory
Audit Procedures:
Review assignment of inventory adjustment authorization objects :
| Authorization Object | Purpose | Audit Focus |
|---|---|---|
| M_SKPF_VGA | Inventory sampling: transaction | Limit sampling activities |
| M_SKPF_WRK | Inventory sampling: plant | Restrict by plant |
| M_ISEG_WDG | Phys inv: difference posting in plant | Restrict who posts differences |
| M_ISEG_WZB | Phys inv: count and difference posting | Restrict who posts counts and differences |
| M_MSEG_BWA | Goods movements: movement type | Limit high-risk movement types (551, 561-566, etc.) |
Verify that users with access to high-risk movement types (309, 551-556, 561-566, 700-799) are appropriately restricted
Check for segregation of duties conflicts:
Physical counter should not post differences
Inventory adjuster should not have unrestricted goods movement access
Common Findings:
Excessive users with access to high-risk movement types
No monitoring of powerful transaction usage
Segregation conflicts between counting and adjustment posting
Emergency access IDs used for inventory adjustments without review
Section 7: Configurable Controls - Inventory Adjustments
Audit Objective: Assess controls designed to prevent erroneous or fraudulent inventory adjustments.
7.1 Freezing Book Inventory During Counts
Background: When inventory is counted, there is a risk that movements occurring between the count and data entry can cause incorrect adjustments. Freezing book inventory batches movements in memory and applies them after count entry .
Audit Procedures:
Review storage location configuration for freeze capability:
Transaction SPRO • Materials Management • Inventory Management and Physical Inventory • Physical Inventory • Allow Freezing of Book Inventory Balance in Storage Location - see Figure 9.7
Document which storage locations have this enabled
Verify that freeze functionality is actually used:
Check security audit log for Transaction MI33 executions (if transaction start logging enabled)
Interview plant personnel about freeze procedures
Test that freeze/unfreeze procedures are followed:
MI33 to freeze before counting
MI33 with "Reset book inv. Balance" after count entry
Requirements for freeze functionality:
Storage location must be configured to allow freezing
Someone must run Transaction MI33 to freeze before counting
Someone must run Transaction MI33 to unfreeze after count entry
7.2 Inventory Adjustment Tolerances
Background: Inventory tolerances define maximum adjustment amounts per document and per line item. Amounts exceeding tolerance are rejected .
Audit Procedures:
Review inventory tolerance group configuration:
Transaction SPRO • Materials Management • Inventory Management and Physical Inventory • Physical Inventory • Define Tolerances for Physical Inventory Differences
Select "Physical Inventory Tolerance Group"
Document tolerance groups assigned to each company code:
Note: Screen is sorted alphabetically by tolerance group, then company code
Scroll through entire list to see all assignments for your company code
For each tolerance group, review settings - see Figure 9.8:
Maximum amount per line item (e.g., $4,000)
Maximum amount per document (e.g., $25,000)
Review user assignment to tolerance groups:
Same menu path, select "User Name"
Pay attention to:
Users assigned to specific tolerance groups
Users assigned to tolerance group with "*" (all users not otherwise assigned)
Tolerance groups assigned to multiple company codes (values may differ by company code)
Best Practice:
Assign "*" users to a very restrictive tolerance group (e.g., $0.01)
This prevents any user from posting adjustments unless explicitly assigned to a higher tolerance group
Common Findings:
Inventory tolerances not configured (many organizations unaware of functionality)
Only one tolerance limit used (defeats purpose of graduated controls)
Same absolute values used across all company codes (ignores currency differences)
"*" users assigned to high or unlimited tolerances
No monitoring of adjustments near tolerance limits
Section 8: Other Configurable Controls
8.1 Change Document Settings for Physical Inventory
Background: Plant parameters can disable change documents for physical inventory documents and counts, potentially allowing undetected fraud .
Audit Procedures:
Review plant parameters:
Transaction SPRO • Materials Management • Inventory Management and Physical Inventory • Plant Parameters
Double-click the plant of interest - see Figure 9.9
Check "Change Document" field:
If unchecked: No changes recorded in change logs (HIGH RISK)
If checked: Changes are recorded and can be audited
If change documents are disabled, verify compensating controls (e.g., manual log reviews)
8.2 Cycle Counting Configuration
Background: Cycle counting uses ABC indicators to determine counting frequency. Configuration defines the percentage of consumption for each indicator and required count frequency .
Audit Procedures:
Review cycle counting settings:
Transaction SPRO • Materials Management • Inventory Management and Physical Inventory • Physical Inventory • Inventory Sampling • Cycle Counting - see Figure 9.10
For each plant, verify:
Percentage column sums to 100% across all indicators
No.of phys.inventories reflects desired count frequency (e.g., 12 for monthly)
Float time provides reasonable grace period
Understand the logic:
SAP sorts materials from highest to lowest consumption
Top X% (e.g., 56%) get indicator A
Next Y% (e.g., 28%) get indicator B
Remaining get lower indicators
Assess whether cycle count coverage is sufficient for management's reliance on inventory values
Section 9: Audit-Relevant Reports
Audit Objective: Identify and utilize SAP S/4HANA reports that support audit procedures and ongoing monitoring.
9.1 Reports Identifying Changed Data
| Report | Transaction | Use |
|---|---|---|
| Changes to Material Master | RSSCD200 (via SA38) with object class MATERIAL | Identify all material changes in date range - see Figure 9.11 |
| Changes to Physical Inventory Documents | MI12 | Identify changes to physical inventory documents by fiscal year/user - see Figure 9.12 |
Audit Procedures:
Run RSSCD200 for the audit period to identify material master changes
Export to Excel for analysis (report output is very wide)
Focus on:
Standard price changes (especially >50% changes)
Valuation class changes
Material type changes
Authorization group changes
ABC indicator changes
Run MI12 for the audit period:
Initial screen shows summary
Drill into line items to see specific quantity changes (old value, new value) - see Figure 9.12
Investigate unusual adjustments
9.2 Reports for Viewing Stock Values and Making Inventory Selections
| Report | Transaction | Use |
|---|---|---|
| Display Warehouse Stocks of Material | MB52 | Current stock by material/plant/storage location - see Figure 9.13 |
| Stocks on Posting Date | MB5B | Stock movements over selected period - see Figures 9.14-9.17 |
Audit Procedures:
Use MB52 for:
Selecting materials for test counts
Identifying materials by plant/storage location
Note: MB52 only shows current data, not historical
Use MB5B for:
Analyzing stock movements over time
Totals view (Figure 9.14) for summary
Detailed view (Figure 9.15) for line item analysis
Valuated view (Figure 9.16) shows accounting document numbers and amounts
Drill to related documents (Figure 9.17) for audit trail
9.3 Viewing Material Documents
| Report | Transaction | Use |
|---|---|---|
| Material Document List | MB51 | All movements with flexible filtering |
Audit Procedures:
Run MB51 with appropriate filters:
Posting date range
User ID
Material number
Movement type
Plant/storage location
Initial display (Figure 9.18) is summary view
Click "Detail List" icon to get analysis-friendly view (Figure 9.19)
In SAP GUI 770, icon appears as
Hover over icons for descriptions
Use Environment menu (Figure 9.20) to navigate to:
Purchase order
Stock overview
Accounting document
Account assignment (cost centers, GL accounts)
Tip: If you find the cell merging confusing (blank cells representing same values as above), change layout:
Settings • Layout • Current
Display tab • Select "Without cell merging during sorts"
Apply with green checkmark
9.4 Reports for Identifying Potential Processing Problems
| Report | Transaction | Use |
|---|---|---|
| List of Stock Values: Balances | MB5L | Compare MM inventory to FI balances |
| Material Consistency Check | MB5K | Identify consistency issues |
Audit Procedures:
Run MB5L to identify valuation differences between MM and FI - see Figure 9.21
Variances highlighted in red require investigation
Double-click to drill to detail by valuation area/material - see Figure 9.22
Common cause: Inventory balance not carried over from prior year (SAP Note 1846376)
Run MB5K to check material consistency
Any output requires investigation and timely resolution
9.5 Other Useful Reports
| Area | Transaction | Use |
|---|---|---|
| Stock in transit | MB5T | Current day stock in transit |
| Stock in transit (past) | MB5TD | Historical stock in transit |
| Physical inventory blocked | MIDL (with Blocked option) | Items blocked from physical inventory |
| Physical inventory documents | MI24 | View physical inventory documents |
| Physical inventory by material | MI23 | Display physical inventory data for material |
| Physical inventory differences | MI20 | View physical inventory differences |
Section 10: Summary of Key Transaction Codes
| Transaction | Purpose |
|---|---|
| MM03 | Material master display |
| MM04/RSSCD200 | Material master change analysis |
| MB51 | Material document list |
| MB52 | Display warehouse stocks (current) |
| MB5B | Stocks on posting date (historical) |
| MB5L | Inventory value differences (MM vs. FI) |
| MB5K | Material consistency check |
| MIGO | Goods receipt/issue (replaces MB* transactions) |
| MI07 | Post inventory differences |
| MI12 | Changes to physical inventory documents |
| MI20 | Physical inventory differences |
| MI23 | Physical inventory by material |
| MI24 | Physical inventory documents |
| MI32 | Block material for physical inventory |
| MI33 | Freeze/unfreeze book inventory |
| MIDL | Physical inventory blocked items |
| MB5T/MB5TD | Stock in transit (current/past) |
| MIGO | Display goods receipt |
| MM17 | Mass material maintenance |
| MSL2 | Delete mass change logs |
| MBPM | Delete held data (MIGO) |
| MIAD | Delete (archive) inventory documents |
Section 11: Common Audit Findings Summary
Based on the source material, the following findings are commonly observed in SAP S/4HANA inventory management audits :
Movement Type Risks
High-risk movement types (309, 551-556, 561-566) not restricted
No monitoring of unusual movement type combinations
Custom movement types without proper documentation or controls
Movement 309 activity not reviewed (potential fraud vehicle)
Inventory Adjustment Controls
Inventory tolerances not configured
Freeze book inventory functionality not used
Change documents disabled for physical inventory
Adjustments posted without independent review
Physical Inventory Process
Cycle count coverage insufficient
CC fixed not checked in material master
Counts performed but not entered timely
Differences not investigated or resolved
Physical inventory documents changed without audit trail
Valuation Issues
Negative stock allowed without justification
MB5L differences between MM and FI not resolved
Standard prices not reviewed or updated
Valuation class assignments inconsistent
Master Data
Material types incorrectly assigned
Authorization groups not used for sensitive materials
Hazardous materials not properly identified
Material status not used to block obsolete items
Safety stock and maximum levels not maintained
Segregation of Duties
Same user counting and posting differences
Excessive users with mass maintenance access
No monitoring of powerful transaction usage
Emergency access IDs used for inventory adjustments
Obsolete/Expired Inventory
Expiration dates not monitored
Slow-moving inventory not identified or written down
Obsolete materials still active in master data
Fraud Indicators
Unusual scrapping activity (high volume/frequency)
Material-to-material conversions (movement 309)
Adjustments shortly before period end
Pattern of small adjustments just below tolerance limits
Section 12: References and Additional Resources
SAP S/4HANA Security Guide (current version)
SAP Note 2210569 - Consolidation of MB* transactions into MIGO
SAP Note 1846376 - MB5L differences (inventory balance not carried over)
COBIT 2019 Framework (ISACA)
COSO Internal Control Framework
Association of Certified Fraud Examiners (ACFE) Fraud Tree
Tips for Forecast-to-Stock Audits
Original implementation tip on negative stock configuration: Negative stock balances should be prohibited in most environments. A negative balance means the system believes more material has been consumed or shipped than was ever received. This can happen legitimately due to timing (goods issue posted before goods receipt) but it can also mask inventory theft or processing errors. If your organization allows negative stocks, verify that the configuration is intentional, that monitoring procedures exist to identify and resolve negative balances promptly, and that the magnitude of negative balances is tracked and trended. An increasing trend in negative balance occurrences suggests process deterioration.
Original implementation tip on consignment inventory: Consignment inventory exists physically at a third-party location but remains on your balance sheet until consumed or purchased by the consignee. Without periodic confirmation from the third party and occasional physical verification, consignment balances can become overstated. Build a quarterly confirmation process for consignment inventory, similar to the accounts receivable confirmation process described in the record-to-report chapter. Compare confirmed quantities against SAP balances. Discrepancies indicate either consumption that was not reported or physical loss at the consignee location.
Original implementation tip on scrapping movement types: Movement types 551-556 (scrapping) should require supervisory approval or be restricted to inventory managers and above. When a material is scrapped, its value is written off entirely. An employee could identify goods as obsolete or damaged, scrap them in the system, and physically move them to a location outside the building for later retrieval. The scrap transaction provides the cover story. If your organization allows line-level employees to execute scrap transactions, you have an uncontrolled theft vector. Review all scrapping activity through MB51 filtered on movement types 551-556. Analyze by user, material value, and frequency. High-value or high-frequency scrapping by a single user warrants investigation.
Original implementation tip on cycle count manipulation: The CC fixed flag on the material master prevents the cycle counting ABC indicator from being changed once the cycle count starts. If this flag is not set, someone could move a material from category A (counted frequently) to category C (counted rarely) after the count cycle begins, effectively removing it from the current count. Query the material master for materials where CC Phys. Inv. Ind. has been changed during the current counting period. Cross-reference against change documents to identify who made the change and when. If the change occurred after the count cycle started and CC fixed was not set, the material may have been deliberately excluded from counting.
Making Your Forecast-to-Stock Audit Count
Organizations that audit inventory by counting a sample of items and confirming that quantities match the system produce audits that validate a point-in-time snapshot while missing the control gaps that create ongoing exposure. Movement types designed for implementation still assigned to warehouse staff. Scrapping transactions executable by line-level employees without approval. No change documents on physical inventory modifications. No tolerance limits on adjustment postings. Cycle count indicators that can be changed mid-cycle. These are the findings that enable theft, mask errors, and create persistent valuation risk, and they require testing that goes beyond physical count verification.
Organizations that analyze the full population of movement type activity, verify that preventive controls like book inventory freezing and adjustment tolerances are configured and used, test that change documents capture every physical inventory modification, and monitor high-risk movement types for anomalous patterns produce audits that genuinely reduce inventory risk. Their findings prevent losses rather than documenting them after the fact. Their reports quantify the exposure created by each control gap in terms that plant managers and CFOs understand immediately.
The value of your inventory depends on the integrity of every movement that touches it, and the movement types with the least controls are always the ones where the problems hide.
When was the last time someone in your organization analyzed movement type 309 transactions across all plants, and can you confirm that implementation movement types 561 through 566 have been removed from every warehouse user's security profile?
About the Author
The SAP frameworks, tools, taxonomies, and implementation guidance described in this article are part of the applied research and consulting work of Prof. Hernan Huwyler, MBA, CPA, CAIO. These materials are freely available for use, adaptation, and redistribution in your own SAP management and audit programs. If you find them valuable, the only ask is proper attribution.
Prof. Huwyler serves as AI GRC ERP Consultancy Director, AI Risk Manager, SAP GRC Specialist, and Quantitative Risk Lead, working with organizations across financial services, technology, healthcare, and public sector to build practical AI governance frameworks that survive contact with production systems and regulatory scrutiny. His work bridges the gap between academic AI risk theory and the operational controls that organizations actually need to deploy AI responsibly.
As a Speaker, Corporate Trainer, and Executive Advisor, he delivers programs on AI compliance, quantitative risk modeling, predictive risk automation, and AI audit readiness for executive leadership teams, boards, and technical practitioners. His teaching and advisory work spans IE Law School Executive Education and corporate engagements across Europe.
Based in the Copenhagen Metropolitan Area, Denmark, with professional presence in Zurich and Geneva, Switzerland, Madrid, Spain, and Berlin, Germany, Prof. Huwyler works across jurisdictions where AI regulation is most active and where organizations face the most complex compliance landscapes.
His code repositories, risk model templates, and Python-based tools for AI governance are publicly available at https://hwyler.github.io/hwyler/. His ongoing writing on AI Governance and AI Risk Management appears on his blogger website at https://hernanhuwyler.wordpress.com/
Connect with Prof. Huwyler on LinkedIn at linkedin.com/in/hernanwyler to follow his latest work on AI risk assessment frameworks, compliance automation, model validation practices, and the evolving regulatory landscape for artificial intelligence.
If you are building an AI or SAP governance program, standing up a risk function, preparing for compliance obligations, or looking for practical implementation guidance that goes beyond policy documents, reach out. The best conversations start with a shared problem and a willingness to solve it with rigor.
Primary keyword: SAP S/4HANA forecast-to-stock audit
Secondary keywords: SAP inventory management audit, SAP material movement audit, SAP physical inventory controls, SAP material master audit, SAP cycle count audit, SAP stock valuation audit, SAP movement type controls, SAP MB51 audit, SAP MB5L reconciliation, SAP inventory adjustment controls

