A Practical Guide to SAP Module Integration
Which transactions in MM, PP, FI, SD, QM and CO move which stock and which accounts
August 2026
Table of contents
Chapter 1: Why You Should Start by Understanding “Module Integration”
Chapter 2: The Big Picture, from Procurement to Sales
Chapter 3: MM ↔ PP — Requirements Planning and Material Issue
Chapter 4: MM ↔ FI — The GR/IR Clearing Account as the “Joint”
Chapter 5: MM ↔ SD — Shipping and Third-Party Order Processing
Chapter 6: MM ↔ QM — Inspection Stock and Usage Decisions
Chapter 7: MM ↔ CO — How the Account Assignment Category Determines Where Costs Go
Chapter 8: SD ↔ FI / PP ↔ CO — Until Profit and Loss Is Finalized
Chapter 9: Common Integration Pitfalls and How to Address Them
Chapter 1: Why You Should Start by Understanding “Module Integration”
Many of the problems that arise when implementing or operating SAP are not caused by configuration mistakes within a single module, but by the hand-off between modules. A received quantity that never lands on the cost, a shipment that never generates cost of goods sold, inspection stock that gets consumed by mistake — the root cause in every case is that no one on the team shares a common picture of which transaction moves which stock category and which accounts.
This article focuses on MM (procurement and inventory) and organizes its integration with PP, FI, SD, QM and CO at the level of transaction codes, movement types and journal entries. The goal is for business users, accounting staff and IT to work from the same map.
Chapter 2: The Big Picture, from Procurement to Sales
Running parallel to the physical flow of goods (MM→PP→SD) is always a flow of value (FI and CO). The core SAP principle is that accounting moves the instant goods move, and this simultaneity is the foundation of “real-time management.” In S/4HANA, FI and CO are unified in ACDOCA (the Universal Journal), making this integration even tighter.
Chapter 3: MM ↔ PP — Requirements Planning and Material Issue
Running PP’s MRP (MD01N, or MD02 for a single material) matches independent requirements against stock and generates any shortfall as a purchase requisition or a planned order. Externally procured materials (procurement type F) flow from a purchase requisition to a purchase order via ME21N, while in-house produced materials (procurement type E) are converted into a production order.
At the production stage, the components of a production order are issued from MM stock using MIGO with movement type 261. This is the point where “MM stock” and “the PP production order” connect, and it is also the starting point at which actual cost begins to accumulate in CO.
| Process | T-code / Movement Type | What Moves |
| Run MRP | MD01N / MD02 | Generation of purchase requisitions and planned orders |
| Stock/requirements list | MD04 | Checking the supply-and-demand balance |
| Issue to production order | MIGO (261) | MM stock decreases / actual cost posted to the order |
| Production receipt | MIGO (101) | Finished goods stock increases / credited to the order |
Practical tip: If MRP is not generating purchase requisitions, first check the material master’s MRP views (MRP type, lot size, procurement type) as well as the planned delivery time and safety stock. What looks like “an MM problem” is, in most cases, caused by master data settings on the PP side.
Chapter 4: MM ↔ FI — The GR/IR Clearing Account as the “Joint”
The core link between MM and FI is the GR/IR clearing account (goods receipt/invoice receipt account). It is an interim account that absorbs the time lag between the goods receipt (GR) and the invoice verification (IR); once the two match, its balance goes to zero.
| Timing | T-code | Journal Entry (Debit / Credit) |
| Goods receipt | MIGO (101) | Inventory / GR/IR clearing account |
| Invoice verification | MIRO | GR/IR clearing account + input VAT / Accounts payable |
| Payment | F110 (automatic payment) | Accounts payable / Cash and bank |
| When a variance occurs | MIRO | Additional posting of price variance (PRD) |
Account determination is governed by automatic account assignment (OBYC): the inventory account is controlled by BSX, the GR/IR account by WRX, price variances by PRD, and consumption accounts by GBB (with account modifiers such as VBR). When you need to trace “why did this posting go to that account,” keeping these four transaction keys in mind will get you to the cause.
Common symptom: The GR/IR balance never clears. The cause is one of: “goods received but not yet invoiced,” “invoiced but not yet received,” or “a quantity variance.” Use MB5S to surface the variances, and build automatic clearing with F.13 at period-end, along with root-cause analysis of any remaining variances, into your standard operating process.
Chapter 5: MM ↔ SD — Shipping and Third-Party Order Processing
A delivery document (VL01N) is created against a sales order (VA01), and posting goods issue (PGI) reduces MM stock using movement type 601. At the same time, a “cost of goods sold / finished goods inventory” entry is posted to FI, and billing (VF01) posts “accounts receivable / revenue.” It’s important that the physical shipment and revenue recognition are separate events.
With a third-party order (item category TAS), goods are shipped directly from the supplier to the customer without passing through the company’s own stock. Creating the sales order automatically generates a purchase requisition in MM, resulting in a flow with no goods receipt (or only a statistical GR). Because stock never moves, the timing of cost posting differs from the standard flow, which is worth watching closely.
| Process | T-code / Movement Type | Accounting Impact |
| Create sales order | VA01 | None (allocation only) |
| Post goods issue (PGI) | VL01N (601) | Cost of goods sold / Finished goods inventory |
| Billing | VF01 | Accounts receivable / Revenue + output VAT |
| Payment clearing | F-28 / FEBAN | Cash and bank / Accounts receivable |
Chapter 6: MM ↔ QM — Inspection Stock and Usage Decisions
When QM procurement inspection is active in the material master, received stock is posted to Quality Inspection Stock and is excluded from MRP allocation. When a usage decision is made for the inspection lot in QA32, the accepted quantity moves to unrestricted-use stock via movement type 321.
Practical tip: Many “stock exists but can’t be allocated” inquiries turn out to be this inspection stock. Checking the stock category in MMBE or MB52 lets you isolate the cause. Since a backlog of usage decisions directly translates into production delays, the number of open QA32 items should be monitored daily as a KPI.
Rejected quantities are handled through returns (movement type 122) or transfer to special stock, and the result also feeds into supplier evaluation (the QM score) — the point where quality and procurement connect through hard numbers.
Chapter 7: MM ↔ CO — How the Account Assignment Category Determines Where Costs Go
Whether a purchase becomes “inventory” or an “expense” is determined by the account assignment category on the purchase order line item. This is where MM and CO meet.
| Category | Meaning | Where the Cost Goes |
| (blank) | Stock purchase | Posted to inventory; expensed upon consumption |
| K | Cost center purchase | Posted directly to a cost center at goods receipt |
| P | Project purchase | Collected on a WBS element (PS) |
| F | Order purchase | Posted to an internal order or production order |
A design caution: Items purchased with category K are not visible as inventory. If you want to keep track of consumables as stock, a K-category purchase is the wrong choice; conversely, if you make office supplies a stock purchase, the physical inventory-counting burden jumps sharply. The rule of thumb is to work backward from “the unit at which you want to manage cost” and decide from there.
Chapter 8: SD ↔ FI / PP ↔ CO — Until Profit and Loss Is Finalized
Material costs (movement type 261), labor costs and manufacturing overhead all accumulate on the production order, and the finished-goods receipt (movement type 101) credits the order with the product cost. Any amount left on the order is the production variance, which is allocated to inventory or cost of goods sold through the monthly order settlement (KO88, or CO88 for mass settlement).
Standard cost is calculated with CK11N and released with CK24; the variance against actual cost can be unfolded into actual costing through the Material Ledger. Extending the chain into CO-PA (profitability analysis) makes profit visible by product and by customer.
| Area | T-code | Purpose |
| Standard cost estimate | CK11N / CK24 | Building up and releasing the cost estimate |
| Production order settlement | KO88 / CO88 | Allocating variances and finalizing cost |
| Variance analysis | KKS1 / COOIS | Reviewing variances by order |
| Profitability analysis | KE30 | Profit and loss by product and by customer |
Chapter 9: Common Integration Pitfalls and How to Address Them
| Symptom | Likely Cause | Where to Check |
| Stock exists but isn’t allocated | Quality inspection stock / blocked stock | Stock category in MMBE / MB52 |
| GR/IR balance never clears | Quantity or amount variance between GR and invoice | Clear with MB5S / F.13 |
| Cost never lands on the cost center | Wrong account assignment category | Category (K/P/F) on the PO line item |
| Postings hit an unexpected account | Automatic account assignment misconfigured | OBYC (BSX/WRX/PRD/GBB) |
| MRP won’t generate a purchase requisition | MRP type, procurement type, lot size | Material master MRP view |
| Cost of goods sold is never posted | PGI not performed / delivery not completed | VL06O / document flow |
The fastest way to isolate an integration problem is to check, in order, “the goods (stock category) → the document (document flow) → the account (automatic account assignment).” Even when the anomaly appears on the accounting side, the root cause is almost always a logistics document upstream.
Chapter 10: Transaction Code Quick Reference
| Module | Key T-codes |
| MM | ME51N (purchase requisition) / ME21N (purchase order) / MIGO (goods movement) / MIRO (invoice verification) / MMBE, MB52 (stock overview) / MB5S (GR/IR variance) |
| PP | MD01N, MD02 (MRP) / MD04 (stock/requirements list) / CO01 (production order) / CO11N (confirmation) / COOIS (order information) |
| SD | VA01 (sales order) / VL01N (delivery) / VF01 (billing) / VL06O (delivery monitor) |
| QM | QA32 (usage decision) / QA33 (inspection lot display) |
| FI | F110 (automatic payment) / F-28 (incoming payment clearing) / FB03 (display document) / F.13 (automatic clearing) |
| CO | CK11N, CK24 (standard cost estimate) / KO88, CO88 (settlement) / KKS1 (variance) / KE30 (CO-PA) |
Each module is covered in more depth in its own dedicated article. Once you have the overall picture from this article, dive deeper into the area you’re responsible for.
Have a question about this article?
Ask the author directly — no sales pitch, just an answer.