🔁 Procure-to-Pay (P2P) — Interactive Walkthrough
Complete P2P cycle with real SAP fields, tooltips on every field, mandatory/optional flags, and step-by-step instructions to follow in your real SAP system. Practice in browser → execute identical steps in IDES → verify results.
Step 1 — Create Purchase Requisition (PR)
A Purchase Requisition is an INTERNAL document asking "we need this material." No commitment to a vendor yet. Created manually or auto-generated by MRP. T-code: ME51N
📋 PR Header
📦 PR Line Item
📊 What happens when you save
- System assigns PR number (e.g.
1000000123) - Row written to
EBANtable (Purchase Requisition) - PR status: open (released yet)
- If release strategy active and PR value > threshold → goes into release queue
- No FI document yet (PR is not financial commitment)
🎯 Try this in real SAP
- Open ME51N
- Header: Pick Document Type (NB)
- Line: Material M-100, Quantity 1000, Plant 1100, Date future, Purch Group 001
- Save (Ctrl+S) — note the PR number
✅ Verify result in real SAP
- ME53N — Display your PR number; should show all fields
- SE16N → EBAN — Find your PR row in the DB table
- ME5A — Open PR list (filter by your Purch Group)
Step 2 — Create Purchase Order (PO)
The PO is a formal commitment to the vendor. Can be created manually, from PR, or from contract. T-code: ME21N (or ME59N auto-convert PR→PO)
📋 PO Header
📦 PO Item (Line 10)
📊 What happens when you save
- PO number assigned (e.g.
4500001234) - Rows written:
EKKO(header),EKPO(items),EKET(schedule lines) - If release strategy active → status: "Locked, not released"
- No FI posting yet (PO is commitment, not transaction)
- If output is configured → PO ready to be printed/emailed to vendor
🎯 Try this in real SAP
- Open ME21N
- Document type NB
- Vendor: 100001, Purch Org: PSPK (or your Purch Org), Purch Group: 001
- Add line: Material M-100, Plant 1100, Qty 1000, Net Price 50 PKR
- Save — note PO number
✅ Verify result
- ME23N — Display PO; check all fields
- SE16N → EKKO — PO header in DB
- SE16N → EKPO — PO line(s) in DB
- ME2L — PO list per vendor (find your new PO)
Step 3 — Release PO (if release strategy active)
If your client has release strategy configured (e.g. PO > 1L needs Manager approval), the PO is "locked" until released. Approvers use T-code ME29N (individual) or ME28 (mass release).
✅ Release codes example
| PO Value (PKR) | Approver level | Release code |
|---|---|---|
| < 1,00,000 | Buyer (auto-released) | — |
| 1L – 5L | Procurement Manager | 01 |
| 5L – 50L | Procurement Head | 02 |
| > 50L | CFO | 03 |
🎯 Try in real SAP (if release config exists)
- Open ME29N with your PO number
- Click "Release" button (green flag) for your release code
- Save — PO status changes to "Released"
✅ Verify
- Open PO via ME23N — status should be "Released"
- Output/print enabled (if configured)
Step 4 — Goods Receipt (GR) — Movement Type 101
Vendor delivers. Receive goods into inventory via T-code MIGO. This creates a material document AND an FI posting.
📋 GR Header (MIGO)
📦 GR Item
📊 What happens when you post
- Material document created (e.g.
5000001234) - Rows written:
MKPF(header),MSEG(lines) - Stock updates:
MARDqty up,MBEWvalue up - FI document created automatically via OBYC:
Dr Inventory (BSX → G/L 200000) ₨50,000 Cr GR/IR Clearing (WRX → 191100) ₨50,000 - PO history updated:
EKBEgets row for the GR - Open PO quantity reduces by received qty
🎯 Try in real SAP
- Open MIGO
- Top-left: select "Goods Receipt" + "Purchase Order"
- Enter PO number
- Movement type 101
- On the item tab: confirm qty, Plant, SL
- Tick the OK box
- Click "Check" — system validates
- Click "Post" — material doc number appears
✅ Verify result
- MB51 — Material document list, find your doc
- MMBE — Stock for M-100 in Plant 1100 — should show new qty in unrestricted
- MB03 — Display material document; click "Accounting Documents" button
- FB03 — FI document — confirm Dr Inventory / Cr GR/IR posted
- ME23N on PO → Item History tab → GR row visible
Step 5 — Invoice Verification (LIV) — MIRO
Vendor sends invoice. Verify it against PO + GR (3-way match). T-code: MIRO
📋 Invoice Header
📦 Invoice Items
After entering PO number, system pulls in PO lines automatically. You match what was invoiced against what was received.
| Item | Material | PO Qty | GR Qty | Invoice Qty | Net price |
|---|---|---|---|---|---|
| 10 | M-100 | 1000 | 1000 | 50 |
📊 What happens when you post
- Invoice document created (e.g.
5100001234) - Rows written:
RBKP(header),RSEG(items) - FI document created via OBYC:
Dr GR/IR Clearing (191100) ₨50,000 Cr Vendor (160000 - Tata) ₨50,000 - Vendor open item appears:
BSIKrow created - PO history updated:
EKBEgets IV row - 3-way match check: PO ✓ GR ✓ Invoice ✓ — block raised if mismatch
🎯 Try in real SAP
- Open MIRO
- Top: Company Code dialog → confirm
- Fill header: invoice date, posting date, amount, tax code
- Reference type: Purchase Order/Scheduling Agreement → enter PO #
- System pulls PO lines; verify qty/price
- Balance must be zero (green light)
- Click "Simulate" then "Post"
✅ Verify
- MIR4 — Display invoice doc
- FB03 — FI document, see Dr GR/IR / Cr Vendor
- FBL1N — Vendor line items; open item should appear
- ME23N on PO → PO history → IV row visible
Step 6 — Payment
FI pays the vendor. Either automatic via F110 (payment run) or manual via F-53.
💳 F110 — Automatic Payment Run
In real systems, AP team runs this on a schedule (e.g. weekly). Steps:
- Maintain parameters — Run date, identification, Company Codes, Payment methods, Next payment run date, Vendors
- Proposal — System suggests which open items to pay based on payment terms / due dates
- Review proposal — Approve or exclude items
- Payment run — System creates FI documents + payment medium (cheque, EFT file, etc.)
📊 What happens when payment posts
- FI document created:
Dr Vendor (160000 - Tata) ₨50,000 Cr Bank (100000) ₨50,000 BSIKrow (open vendor item) MOVES toBSAK(cleared vendor item)- Vendor balance now zero for this invoice
- Bank balance decreases by paid amount
- Payment medium generated (cheque, EFT file, bank transfer)
🎯 Try in real SAP (manual F-53)
- Open F-53
- Posting date, Period, Document type: KZ
- Bank: G/L account (e.g. 100000)
- Vendor: 100001, Amount: 50,000 PKR
- Click "Process open items" — system shows your invoice
- Activate the invoice line; balance = zero
- Save
✅ Verify
- FBL1N — Vendor line items; invoice should be in "Cleared" status
- FBL3N — G/L 160000 (vendor recon) — see debit entry
- FBL3N — G/L 100000 (bank) — see credit entry
- SE16N → BSAK — find your cleared vendor item
🎉 P2P Cycle Complete!
Summary of all entities/documents created
| Step | T-code | Document | FI Impact |
|---|---|---|---|
| 1. Create PR | ME51N | PR 1000000123 | None (commitment-tracking optional) |
| 2. Create PO | ME21N | PO 4500001234 | None (commitment) |
| 3. Release PO | ME29N | — | None |
| 4. Goods Receipt | MIGO 101 | Mat doc 5000001234 FI doc 4900000123 | Dr Inventory / Cr GR/IR |
| 5. Invoice Verification | MIRO | Inv doc 5100001234 FI doc 5100000456 | Dr GR/IR / Cr Vendor |
| 6. Payment | F110 or F-53 | FI doc 6000000789 | Dr Vendor / Cr Bank |