Scenario 15 — Outline Agreements (Contracts & Scheduling Agreements)
📊 Business Case
An outline agreement is a long-term purchasing arrangement with a vendor — a commitment to buy a target quantity or value over a period at agreed terms, instead of negotiating every order from scratch. The two flavours are contracts (a price/quantity framework you call off against with release orders) and scheduling agreements (the delivery schedule is built into the agreement itself). Both lock pricing and commit volume, which protects you from spot-market volatility and cuts the paperwork on every shipment.
🕐 When to use it
Repeated buying of the same material from the same vendor over months: a yearly raw-material supply deal, or a steady JIT delivery cadence into production.
❓ Why it matters
It locks the price for the whole period and secures capacity. You're insulated from price swings, and each call-off auto-fills terms from the agreement — faster, consistent, and auditable against the committed volume.
👤 Who triggers it
Strategic purchasing negotiates and creates the agreement (ME31K / ME31L). Operational buyers then raise release orders (ME21N) or the schedule lines (ME38) drive deliveries automatically.
🔁 The key distinction
Contract = framework + separate release orders. Scheduling agreement = framework with the delivery schedule embedded (no separate PO per shipment). Contracts suit volume guarantees with flexible timing; scheduling agreements suit predictable JIT cadence.
💰 Financial Impact — The Easy-Money Example
This is a control scenario — the win is the cost it avoids. PakSteel locks 1000 TO of iron ore at PKR 250,000/TO for a year. Now imagine the spot price climbs mid-year. Here is the money story:
The big idea: a contract converts an unknown future price into a known one. The agreement doesn't move the P&L by itself — it's the release orders (or schedule lines) that drive the actual GR and invoice — but it caps your input cost and guarantees the volume, which is exactly the protection a steel mill needs against commodity swings.
🇵🇰 The Business Story
🎯 What you'll learn — Contract vs Scheduling Agreement
| Aspect | Contract (ME31K) | Scheduling Agreement (ME31L) |
|---|---|---|
| What it is | Long-term price/qty agreement | Long-term delivery schedule |
| Release Order needed? | Yes (ME21N referencing contract) | No — delivery schedule embeds releases |
| Document Type | MK (quantity) or WK (value) | LP (with release docs) or LPA (without) |
| Use when | Volume guarantee + flexible scheduling | JIT, predictable cadence |
RM-IRON-01 (ROH, raw) — create steps. New to MM01? the why behind every field.
🔧 Step-by-Step
🔄 Contract Flow
15.1 — Create Quantity Contract · ME31K
- ME31K · Agreement Type
MK(Quantity Contract) · Vendor MUGHAL21 (Mughal) - Header: Validity From-To · Purch Org PKLO · Purch Group RMT
- Line: Material RM-IRON-01 · Target Qty 1000 TO · Net Price 250,000/TO · Plant PK01
- Save → Contract # (e.g., 4600000010)
15.2 — Create Release Order · ME21N referencing contract
- ME21N · Doc Type NB · Vendor MUGHAL21
- Document Overview ON → My Contracts → drag contract line
- Qty 100 TO (release portion) · system auto-fills price + plant from contract
- Save → Release PO # · Contract released qty updated (now 100/1000 consumed)
Track contract usage: ME33K → display contract → release qty visible.
🔄 Scheduling Agreement Flow
15.3 — Create Scheduling Agreement · ME31L
- ME31L · Agreement Type
LP· Vendor - Header validity · Line: Material · Target Qty 1000 TO · Price · Plant
- Save → SA # (e.g., 5500000010)
15.4 — Add Delivery Schedule · ME38
- ME38 · SA # · select line · Delivery Schedule tab
- Add rows: Date 15-Jan, Qty 100 · Date 15-Feb, Qty 100 · etc.
- Save
The system treats each schedule line as a "release" — GR/IV is done against the SA + schedule line directly.
✅ Verification
| # | T-code | Check |
|---|---|---|
| 1 | ME33K | Display the contract → target qty 1000 TO and net price 250,000/TO are stored; released qty updates after each release order |
| 2 | ME21N | The release PO auto-fills price + plant from the contract; you cannot exceed the target without a warning |
| 3 | ME33L | Display the scheduling agreement → header + line target qty present |
| 4 | ME38 | Schedule lines (15-Jan, 15-Feb …) are saved against the SA line and drive GR/IV directly |
🎓 Interview-Ready Answers
Q: What's the difference between a contract and a scheduling agreement?
A contract (ME31K) is a long-term price/quantity framework — you call it off with separate release orders (ME21N) whenever you need stock, so timing is flexible. A scheduling agreement (ME31L) embeds the delivery schedule in the agreement itself (ME38), so deliveries are driven by schedule lines with no separate PO per shipment — ideal for predictable JIT cadence.
Q: What's the difference between a quantity contract (MK) and a value contract (WK)?
An MK quantity contract commits to a target quantity (e.g. 1000 TO) — releases consume against that quantity. A WK value contract commits to a target value (a money cap, e.g. ₨50 crore) and is useful when you'll buy many different items from one vendor up to a spend limit rather than a single fixed quantity.
Q: How does a release order know the price?
When you create the release order in ME21N referencing the contract (via Document Overview → My Contracts), SAP copies the net price, plant, and conditions from the contract line. The buyer only enters the call-off quantity; the agreement guarantees the locked price, and the contract's released quantity is updated so you can track consumption (visible in ME33K).
Q: How does an outline agreement link to source determination?
You can reference the agreement in the source list (ME01 — see Scenario 14): set the Agreement number and item on the vendor's row. Then PRs/POs auto-pull that contract as the source, so call-offs consume the agreement automatically and invoice verification validates against its terms.