MIGO — Post goods movements
MIGO is the single entry point for goods movements: goods receipt against a purchase order or production order, goods issue, transfer posting and stock-type change. You choose the action, the reference document and the movement type, and posting creates a material document that updates stock and, for valuated stock, the corresponding accounting document.
Goods movements in MIGO: choosing action and movement type, what a posting updates, and the errors that stop a receipt.
Reviewed by an ERPClimb SAP consultant on 13 Sept 2026· 606 words
What MIGO is for
MIGO records what physically happened to stock. Whether goods arrive from a supplier, are issued to a cost centre or an order, move between storage locations, or change from blocked to unrestricted, the movement is entered here and results in a material document. For valuated material the posting also produces an accounting document, so inventory value and the offsetting account move at the same moment. That dual effect is why goods movements are audited so closely: a movement posted against the wrong reference or the wrong movement type is both a stock error and a financial error.
When it is used in procure-to-pay and production
In procure-to-pay the goods receipt against a purchase order is the middle of the three-way match, and it is what makes an invoice postable in a goods-receipt-based invoice verification design. In production it records component issues and the receipt of finished goods. Warehouses running warehouse management or EWM handle physical movements in their own documents, so in those designs this transaction is used for the ERP-side postings rather than for picking work. Support teams also use it for corrections, reversals and stock-type changes after a quality decision.
How it is used in practice
You select the action, such as goods receipt or transfer posting, and the reference, such as a purchase order or a material document, then let the system propose items and quantities. The movement type carries most of the behaviour: it decides the direction of the movement, the stock type affected and how the posting is valuated. Enter the plant and storage location, batch and any required detail such as delivery note or bill of lading, then check the quantity actually received rather than accepting the proposal. Item OK flags control what is posted. Save creates the material document, and the document number is what you keep for any later reversal or reconciliation.
Fields and objects that matter
- Action and reference document, which set what is being posted and against what
- Movement type, which controls direction, stock type and valuation
- Plant and storage location, and batch where the material is batch managed
- Quantity received, as opposed to the quantity the purchase order proposed
- Posting date and document date, which decide the period the value lands in
- Material document header MKPF and items MSEG, plus the accounting document for valuated stock
Common pitfalls and how they show up
- Accepting the proposed quantity instead of entering what actually arrived, which turns into an invoice variance later
- Choosing a movement type that posts to the wrong stock type, so material is on hand but unavailable to planning
- Posting into the wrong period because the posting date was left as proposed
- Missing batch, serial number or quality requirements, which stop the posting rather than the document
- Posting a receipt against the wrong purchase order line, so one commitment stays open and another over-receives
- Reversing with a manual opposite movement instead of a proper cancellation, which leaves the purchase order history misleading
- Expecting a receipt to be possible when the purchase order is not released or the item is flagged as delivery complete
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Learn this properly
Lessons and topics
ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.