SAP MIGO — Goods Movement
Whenever stock physically moves, SAP needs to know. MIGO is the single screen that records it: goods arriving from a supplier, goods issued to production, stock moving between storage locations, returns going back.
Two things happen on every posting. A material document records the physical movement — what moved, how much, from where to where. If the movement changes stock value, an accounting document is created alongside it, debiting inventory and crediting the GR/IR clearing account. Two documents, one action.
The field that decides everything is the movement type: a three-digit code that tells SAP what kind of movement this is and, through configuration, which accounts to hit. 101 is a goods receipt against a purchase order. 561 is an initial stock upload with no PO behind it. 501 is a receipt without a purchase order. They look similar on screen and are accounted for completely differently.
The top of the screen is two dropdowns that most beginners overlook: an action (Goods Receipt, Goods Issue, Transfer Posting…) and a reference (Purchase Order, Material Document, Other). Those two together decide what the rest of the screen even asks for.
When you would actually use MIGO
- Receiving goods delivered against a purchase order.
- Reversing a receipt that was posted in error.
- Issuing stock to a cost centre, order or scrap.
- Transferring stock between storage locations or plants.
- Loading opening stock balances when a system goes live.
What the screen looks like
Action and reference
Header
| Ln | Material | Qty in UnE | UnE | SLoc | Stock type | Plant | Item OK |
|---|---|---|---|---|---|---|---|
| 1 | Cotton T-Shirt | 500 | PC | 0001 | Unrestricted | 1000 | X |
| 2 | Packing carton | 50 | PC | 0001 | Unrestricted | 1000 | X |
| 3 | Consultancy — SAP FI | 0 | DAY | 1000 |
The fields, in plain English
MSEG-BWARTThe three digits that define the movement and drive account determination. The ones worth memorising: **101** goods receipt against a PO, **102** its reversal, **122** return to vendor, **201** issue to a cost centre, **261** issue to a production order, **301** plant-to-plant transfer, **501** receipt without a PO, **561** initial stock entry.
Watch out: 101 and 501 both increase stock, but 101 posts against the GR/IR account and expects an invoice to follow, while 501 has no purchase order behind it and hits a different offsetting account. Choosing 501 to "just get the stock in" leaves the purchasing side unbalanced.
The two dropdowns at the top. Action is what you are doing (Goods Receipt, Goods Issue, Transfer Posting, Cancellation). Reference is what it relates to (Purchase Order, Material Document, Order, Other). Together they preset the movement type and reshape the screen.
Watch out: Changing these after entering data resets the screen. Set them first.
The tick box on each line. Only ticked lines post. It is how you receive a partial delivery — tick what arrived, leave the rest.
Watch out: The single most common MIGO complaint is "it posted but the stock is not there". Nearly always an unticked line.
MSEG-LGORTWhere in the plant the stock physically lands. Required for stock movements; the PO usually defaults it.
What condition the stock arrives in: **unrestricted** (available to use), **quality inspection** (received but not usable until inspected), or **blocked**. Quality-relevant materials default to inspection.
Watch out: Stock in inspection or blocked is on hand but not available to MRP or sales. "We received it but the system says zero available" is usually this.
MKPF-BUDATWhich period the movement lands in. MM periods are opened and closed separately from FI ones, with MMPV.
Watch out: A posting date in a closed MM period is refused even when the FI period is open. They are different controls.
The supplier's reference for this delivery. Free text, but recording it consistently makes disputes far easier to settle later.
Step by step
- 1Set the action (Goods Receipt) and reference (Purchase Order) at the top of the screen.
- 2Enter the purchase order number and press Enter. SAP loads the open lines.
- 3Confirm the movement type — 101 for a standard receipt against a PO.
- 4Check the posting date is in an open MM period.
- 5Adjust quantities to what physically arrived. Do not accept the defaults for a partial delivery.
- 6Set storage location and stock type on each line.
- 7**Tick Item OK on every line you intend to post.**Unticked lines are ignored without warning.
- 8Press Check. SAP validates everything before committing.
- 9Post. SAP returns a material document number, and an accounting document alongside it if value changed.
Errors you will hit, and what they mean
Document does not contain any items
Why: No line has Item OK ticked.
Fix: Tick the lines you want to post. This is the most frequent MIGO error by a wide margin.
Posting only possible in periods 2026/07 and 2026/06 in company code 1000
Why: The MM posting period is closed for your posting date. MM periods are controlled separately from FI.
Fix: Use a date in the open period, or ask whoever runs MMPV to roll the period. Do not backdate into a closed month.
Purchase order 4500012345 does not contain any open items
Why: Fully received already, or the order is not released.
Fix: Check the PO history in ME23N. If it is a release strategy issue, release it in ME29N first.
Deficit of Stock in transit / unrestricted-use
Why: You are trying to move or issue more than is actually there in that storage location and stock type.
Fix: Check MMBE for the real position. Stock in quality inspection or blocked is not available for unrestricted movements.
Account determination for entry ... not possible
Why: The automatic account assignment (OBYC) has no rule for this movement type and valuation class combination.
Fix: A configuration gap, not a user error. It needs the material's valuation class and the account determination checking together.
Common questions
What is the difference between movement types 101, 501 and 561?
**101** receives goods against a purchase order — it posts to GR/IR and expects an invoice to follow. **501** receives goods with no purchase order at all, so there is nothing to match an invoice against. **561** loads opening stock at go-live and posts against an initial-entry account, not a supplier. They all increase stock; only 101 is part of the procure-to-pay chain.
How do I reverse a goods receipt?
Use action Cancellation with reference Material Document, and give the original material document number. SAP applies movement type 102 automatically. Do not post a manual 102 unless you know why.
Why is the stock not showing after I posted?
Three usual causes: the line was not ticked Item OK, the stock went to a different storage location than you are looking at, or it landed in quality inspection rather than unrestricted.
What is the GR/IR account?
A clearing account holding the gap between goods received and invoice received. The receipt credits it, the invoice debits it, and it nets to zero when both agree. A balance on it means one side is missing.
What is the difference between MIGO and MB01?
MB01 and its siblings are the old single-purpose transactions. MIGO consolidates them all into one screen driven by the action and reference dropdowns. Use MIGO.
Transactions that go with MIGO
Reading about it only gets you so far
Click through this transaction in a simulated SAP screen — no account needed, nothing to break.
Practise SAP transactions hands-on
Interactive modules, games, and an AI tutor — free to start.
Get started free →