Scenario 23 — Import Procurement (Foreign Vendor + LC + Customs)

TIER 8 · PK COMPLIANCE ★★★★★ ⏱️ ~3 hours ME21N (ZIMP) → MIRO (planned delivery costs) → MIRO (customs) → F-53
← Previous
Scenario 22: Output Determination
Next →
Scenario 24: Withholding Tax
⚠️ Not yet live-tested
This page is built from researched standard-SAP content and has not yet been executed end-to-end in our IDES. The T-codes, fields, and accounts follow SAP standard but may need small adjustments on your S/4HANA 2023 system — we'll confirm and correct them when you run this scenario live. Hit a snag? See the Troubleshooting Center.

📊 Business Case

Import procurement is buying material from a foreign vendor, where the price you pay the supplier is only part of the story. Sea freight, marine insurance, customs duty and bank charges all pile on top — and in SAP they must be capitalized into the inventory value of the goods (the "landed cost"), not written off as expense. A Letter of Credit (LC) is the banking instrument that guarantees the foreign seller gets paid. This is one of the most complex P2P flows because one PO spawns several invoices from several vendors in multiple currencies.

🕐 When to use it

Whenever you buy from an overseas supplier — raw materials, machinery, spares — and freight/customs/insurance must be added to the material's cost rather than expensed.

❓ Why it matters

It uses planned delivery costs on the PO so freight, customs and insurance capitalize at GR into inventory. Get this wrong and your inventory is undervalued and margins are misstated.

👤 Who triggers it

The import/procurement buyer raises the PO; Treasury/FI opens the LC with the bank; the customs broker, freight forwarder and insurer each invoice separately.

🔁 The key distinction

One PO, many vendors and currencies. The goods vendor invoices in USD; the forwarder, customs broker and insurer invoice in PKR — each clears its own delivery-cost GR/IR, but all roll into one inventory value.

💰 Financial Impact — The Easy-Money Example

PakSteel imports 100 TO of coking coal from Shanghai Steel Trade Co. The supplier's invoice is USD 50,000 = PKR 14,000,000 @ 280:1 — but that is not what the coal is worth on the balance sheet. Watch the landed cost build up:

🧾 Goods price
PKR 14,000,000
USD 50,000 @ 280 — what Shanghai Steel charges for the coal itself.
+
🚢 Freight + insurance + customs
+ PKR 2,800,000 ↑
Sea freight (≈840,000), marine insurance (≈252,000), 5% customs duty (≈1,708,000) — all planned delivery costs.
→
📦 Landed inventory value
PKR 16,800,000
At GR, inventory RM-COAL is valued at the full landed cost, not the USD invoice price.

The big idea: the foreign supplier invoice (PKR 14M) is only ~83% of what the coal actually costs you. The remaining freight, insurance and customs capitalize through planned delivery costs, so inventory carries the true landed value of PKR 16.8M. Each of the four vendors then invoices separately and clears its own clearing account.

💡 Lesson: In imports, inventory is valued higher than the goods invoice. Planned delivery costs on the PO are the mechanism that pulls freight, customs and insurance into the material value at goods receipt — capitalized, never expensed.

🇵🇰 The Business Story

PakSteel imports 100 TO of coking coal from Shanghai Steel Trade Co. (China). Invoice value: USD 50,000 = PKR 14,000,000 @ 280:1. Additional costs flow in: sea freight (Karachi port) USD 3,000; marine insurance 1.5% of CIF; customs duty 5% on assessed value; sales tax 17% on CIF + customs; and a Letter of Credit (LC) opened via Habib Bank Ltd. as the payment instrument. All costs must be capitalized into the inventory value of coal (not expensed) — this is what makes imports complex.

🎯 What you'll learn

⚙️ Config Prerequisites

📦 Material needed — create first (just-in-time)

RM-COAL-01 (ROH — same steps as RM-IRON-01) — create steps · how to create a ROH.

✅ Before you start — what this scenario assumes

🔧 Step-by-Step — Transaction Flow

🧭 The route at a glance — read this first
StepT-codeWhat it doesWhy this step exists
23.1ME21N (ZIMP)Create the import PO with freight, insurance and customs planned on ita foreign promise must carry all its extra costs
23.2MIGO 101Receive the coal — stock valued at the full landed costgoods must enter stock at their true total cost
23.3MIROPost the goods vendor's USD invoice; main GR/IR clearsthe coal supplier bills in its own currency
23.4MIRO ×3Post freight, insurance and customs invoices — one per agenteach cost company sends its own bill
23.5— (FI)Bank settles the goods vendor's USD bill via the LCthe LC guarantees the foreign seller gets paid
23.6F-53Pay the three PKR agents — one run per vendora purchase isn't finished until every vendor is paid
23.1 — Create Import PO · ME21N with planned delivery costs

⚡ This step will: turn the import deal into a binding promise to the Chinese vendor — with freight, insurance and customs written onto the PO in advance, so goods receipt can later pull them into the coal's value. 📄 paper: purchase order · 📦 stock: no change · 💰 money: no posting

The ME21N screen has 3 zones (recap from Scenario 6): ① the Header (top: doc type + supplier, and header tabs — the Delivery/Invoice tab carries currency, exchange rate and Incoterms for an import), ② the Item overview grid (one row per material), ③ the Item detail tabs (bottom — the Conditions tab is where the planned delivery costs go). An import PO touches all three.

Where on screen · FieldFillWhat the field asks (plain words)Why we choose this — and the impact if wrong
Header (top) · Doc TypeZIMP (or NB)Which rule book governs this PO? ZIMP is the import "flavour" (Scenario 20) that forces the import fields.An import PO should carry import controls (Incoterms, LC, origin). Impact: use plain NB and those fields are optional, so a buyer can save an import missing its compliance data
Header (top) · VendorVEN-IMPCHWhose goods are you buying? The Chinese supplier (currency USD, country CN).Picking the foreign vendor makes the PO default to USD and pulls its import terms. Impact: the wrong vendor changes currency, tax and bank details, mis-pricing the whole order
Header → Delivery/Invoice tab · CurrencyUSDIn which money is this DEAL priced? The deal is in USD; your books stay in PKR.The coal is quoted and invoiced in USD, so the PO must match. Impact: enter PKR and the amounts are wrong by the exchange rate — a ~280× error on every figure
Header → Delivery/Invoice tab · Exchange Ratefrom OB08 (auto)What is one USD worth in PKR today? OB08 is the rate table SAP reads automatically.Auto-pulling today's rate keeps the PKR value current. Impact: the rate can move between PO date and invoice date — that gap becomes the variance handled in 23.3; a manually forced wrong rate mis-values the goods from the start
Header → Delivery/Invoice tab · IncotermsCIF · Karachi PortWho pays for which LEG of the journey? Incoterms are the agreed shorthand for "included up to where" — CIF = seller covers cost, insurance and freight to the named port. Like a fare quoted "included to the gate".CIF matches the actual deal with Shanghai Steel. Impact: the wrong term (e.g. FOB or DDP) misstates who bears freight/insurance, so costs are planned on the wrong side and the landed cost is wrong
Item grid · MaterialRM-COAL-01WHAT are you buying?The coking coal being imported. Impact: wrong material and stock, valuation class and G/L all post against the wrong item
Item grid · Quantity100 TOHOW MUCH — in what unit (TO = metric tonnes)?100 TO is the shipment size; 100 × 500 = the USD 50,000 invoice value from the story. Impact: a wrong quantity mis-scales the goods value and the % duties/insurance on top
Item grid · Net PriceUSD 500/TOThe unit price of the goods, before delivery costs.This is the base every % condition (insurance, customs) is worked out on. Impact: a wrong price mis-states both the goods value and all the percentage costs riding on it
Item grid · PlantPK01WHERE do the goods arrive and get valued — which plant's stock?PK01 (Karachi) receives and values the coal. Impact: the wrong plant sends the landed value to the wrong location's inventory
Item detail → Conditions tab · FRA1 FreightUSD 30/TO (planned)The sea-freight cost written onto the PO line in advance.Because it is planned here, goods receipt capitalises it into the coal's value instead of expensing it. Impact: leave it off the PO and freight is not part of stock value — inventory is understated and freight hits P&L wrongly
Item detail → Conditions tab · INS1 Insurance1.5% on goods+freightMarine insurance, as a percentage of goods plus freight.A planned % condition so insurance also capitalises at GR. Impact: omit it and the insured cost is missing from the landed value, understating inventory
Item detail → Conditions tab · ZCUS Customs5% on CIFImport customs duty, a percentage of the CIF value (goods+insurance+freight).Planned on the PO so the duty joins the coal's inventory value, not expense. Impact: miss it and the biggest add-on cost never capitalises — stock value and margins are materially wrong
Item detail → Conditions tab · Vendor (per condition)Forwarder · Customs Broker · Insurance CoWHO actually gets paid for each cost line? Each cost condition carries its own Vendor field.Each cost is owed to a different company than the goods vendor; naming them here is what lets four separate invoices settle against one PO (23.3–23.4). Impact: leave them blank and you cannot invoice the forwarder/broker/insurer separately
Toolbar · Save—Commits the PO and its planned costs.The planned costs are now locked in to capitalise at GR. Impact: not saved, nothing is committed and GR has no planned costs to pull in
23.2 — GR — capitalizes goods + planned costs · MIGO mvt 101

⚡ This step will: bring the coal IN: the shelf at PK01 fills, valued at the FULL landed cost (goods + freight + insurance + customs), and the first money document posts. 📄 paper: material + accounting document · 📦 stock: ↑ 100 TO at PK01 · 💰 money: Dr Inventory / Cr GR/IR + freight, insurance and customs clearing

Do: MIGO → set the top bar to Goods Receipt + Purchase Order → type the import PO → Enter → tick Item OK → Post.

Field / ActionFillWhat it asks (plain words)Why — and the impact if wrong
Top bar (header line) · Action + ReferenceGoods Receipt + Purchase Order → import PO no.What are you doing, against which paper? Receiving, against the import PO.The PO pulls in the coal line, its price, the plant AND all the planned delivery costs. Impact: no PO reference and the freight/insurance/customs cannot capitalise.
Top bar (top-right) · Movement Type101 (auto)Which kind of movement is this?101 = goods receipt for a PO — proposed automatically. Leave it.
Item detail → Quantity tab · Qty in Unit of Entry100 TO (proposed)How much actually arrived at Karachi port?Reduce it for a part shipment. Impact: receiving more than landed over-values inventory.
Item detail → Where tab · Storage Locationthe receiving SLoc at plant PK01 — present hereWhere is the coal put away? RM-COAL is a stocked raw material, so it DOES go to stock — unlike a consumable, this field is asked.Stock is created here, valued at the full landed cost. Impact: a wrong plant/SLoc lands the value in the wrong stock.
Item overview grid · ☑ Item OK → toolbar · Posttick the line → Post → note the material docConfirm the line, then make it real.Forget the tick and Post fails "no items selected" — the #1 MIGO beginner error.

What changes at this exact moment — one GR posts the WHOLE landed cost into inventory and splits the credit across four "we owe…" clearing accounts:

Inventory RM-COAL (300100)Dr PKR 16,800,000(goods + freight + insurance + customs all included)
GR/IR (191100) - MainCr 14,000,000Main vendor
Freight Clearing (191500)Cr 840,000Forwarder
Insurance Clearing (191600)Cr 252,000Insurance Co
Customs Clearing (191700)Cr 1,708,000Customs broker

All 4 vendors will invoice separately — each MIRO clears its own GR/IR.

23.3 — Goods Invoice · MIRO in USD

⚡ This step will: record the goods vendor's USD bill: the main GR/IR IOU clears and a real debt to Shanghai Steel appears — any currency gap posts to its own account, never into the coal's value. 📄 paper: invoice document · 📦 stock: no change · 💰 money: Dr GR/IR / Cr Vendor (± exchange-rate difference)

Do: MIRO → keep the Transaction dropdown on Invoice → PO Reference tab → the import PO → enter the vendor's USD total in the header Amount → Balance 0.00 · green → Post. Same three-way-match screen as Scenario 6 — Transaction dropdown (top-left), Basic Data tab (Amount, Currency, Invoice date), PO Reference tab (loads the PO lines), Balance indicator (top-right) — with the one currency twist below.

Where on screen · FieldFillWhat the field asks (plain words)Why we choose this — and the impact if wrong
PO Reference tab · Vendor (from PO)VEN-IMPCHWhose bill is this? The goods supplier.Only the goods vendor's invoice is posted here (the cost vendors are billed separately in 23.4). Impact: pick a cost vendor and you would clear the wrong open item
Header · Basic Data tab · CurrencyUSDIn which money is the bill raised?The supplier invoices in USD exactly as the PO agreed. Impact: a currency mismatch with the PO blocks the invoice or converts wrongly
Header · Basic Data tab · Amount50,000How much is the bill, in that currency?USD 50,000 matches the PO goods value, so the invoice reconciles cleanly against GR/IR. Impact: a figure that does not match GR raises a price/quantity block
Basic Data tab · PKR value (auto-translated)automatic — PKR at the invoice-date rateWhat is the bill worth in OUR books? Books are in PKR, so SAP converts using the rate valid today.Converting at the current rate reflects the real PKR cost on the invoice date. Impact: forcing the PO-day rate instead would hide the genuine currency movement
On Post · exchange-rate differencevariance → "Exchange Rate Difference" G/LWho absorbs the currency gap if the rate changed since GR?The difference posts to its own Exchange Rate Difference account — NOT into inventory — so the coal's value stays clean and the currency risk is visible on its own line. Impact: if this were dumped into stock, inventory value would drift with the exchange rate and margins would be distorted

What changes at this exact moment:

GR/IR — Main (191100)Dr 14,000,000the "we owe the goods vendor" tray from GR is emptied
Vendor VEN-IMPCHCr 14,000,000now a real payable — a USD bill, held in PKR at the invoice-date rate
Exchange Rate DifferenceDr/Cr the gap (if any)if USD↔PKR moved since GR, only the difference posts here — never into the coal's value

The difference from a domestic invoice: this MIRO clears ONLY the goods vendor's tray (14M of the 16.8M). The freight, insurance and customs trays are still full — they belong to three other companies and get their own invoices next in 23.4.

23.4 — Planned Delivery Cost Invoices · MIRO (3 more)

⚡ This step will: record the three agents' bills: each cost tray (freight / insurance / customs) empties and a real debt to each agent appears — one MIRO per company. 📄 paper: 3 invoice documents · 📦 stock: no change · 💰 money: Dr cost clearing / Cr agent vendor — three times

Do: MIRO again, but flip the Transaction dropdown (top-left) to Planned Delivery Costs so the PO's delivery-cost lines show instead of the goods line — then run it once per cost vendor. Same MIRO zones as 23.3 (Transaction dropdown, Basic Data Amount, PO Reference tab, Balance).

Where on screen · FieldFillWhat the field asks (plain words)Why we choose this — and the impact if wrong
Header · Transaction dropdown"Planned Delivery Costs"Which KIND of bill is this — a goods bill or a delivery-cost bill? This switch tells MIRO to show the PO's delivery-cost lines, not its goods lines.These invoices are for the journey costs (freight/customs/insurance), not the coal. Impact: leave it on "Invoice" and MIRO offers the goods line instead, so the forwarder's bill has nothing correct to post against
PO Reference tab · Purchase Orderoriginal POWhich PO's journey costs are being billed?Referencing the import PO pulls in exactly its planned-cost lines. Impact: a wrong reference and the delivery-cost lines cannot be found to clear
PO Reference tab · Vendor (cost vendor)freight forwarderWhich cost company's bill is this one?The forwarder is one of the separate vendors named per condition in 23.1, so its freight line clears against its own invoice. Impact: pick the wrong vendor and the wrong clearing account is emptied
Header · Basic Data tab · Amountfreight invoice amountHow much did that company actually bill?Entering the real freight figure clears the freight clearing account against the cash owed. Impact: a wrong amount leaves a balance stuck in the clearing account
Repeatcustoms broker · insurance companyDo the same once more for each remaining cost vendor.One PO produces four invoices in total (goods + three costs) — normal for imports because each cost is a different company. Impact: skip one and that cost's clearing account never clears
Effecteach clears its own delivery-cost GR/IRWhat does each posting actually DO?At GR each cost was parked in its own clearing account (freight / insurance / customs); each invoice empties only its own slot — the coal's inventory value is no longer touched. Impact: mixing them up leaves clearing balances open and reconciliation fails

What changes at this exact moment — each of the three cost invoices empties only its OWN clearing tray (the coal's inventory value is never touched again):

Freight Clearing (191500)Dr 840,000forwarder's tray emptied → Cr Forwarder 840,000 payable
Insurance Clearing (191600)Dr 252,000insurer's tray emptied → Cr Insurance Co 252,000 payable
Customs Clearing (191700)Dr 1,708,000broker's tray emptied → Cr Customs Broker 1,708,000 payable

The lesson to carry away: one import PO = MIRO run four times — once for the goods vendor (23.3, on the "Invoice" default) and three more on the "Planned Delivery Costs" switch, one per cost company. Miss the switch and MIRO shows the coal line instead of the freight/customs/insurance lines, so the clearing trays stay stuck open.

23.5 — LC Settlement (FI side — outside MM)

⚡ This step will: settle the goods vendor's USD bill through the bank's Letter of Credit: the vendor's account clears and the bank shrinks — FI/Treasury runs this, not MM. 📄 paper: payment document (FI) · 📦 stock: no change · 💰 money: Dr Vendor / Cr Bank

FI consultant handles: Open LC against bank, debit margin from vendor, eventual payment via bank → vendor account cleared.

23.6 — Pay the vendors · F-53 (one run per vendor)

⚡ This step will: pay the three PKR agents: each F-53 run clears one agent's account and the bank shrinks — repeat once per vendor. 📄 paper: payment document (one per run) · 📦 stock: no change · 💰 money: Dr Vendor / Cr Bank

One import PO created four separate payables (23.3 + 23.4) — the goods vendor plus three agents. Each is a different company, so each is its own open item and gets its own payment. The goods vendor's USD bill is usually settled through the LC / bank (23.5); the three PKR agent bills are cleared with F-53 (or batched in one F110 run). Below is one F-53 run — repeat it per vendor.

Do: F-53 → header → Bank data → Process Open Items → balance 0.00 → Post. Same manual outgoing payment as Scenario 1, Step 5.

Where on screen · FieldFillWhat it asks (plain words)Why — and the impact if wrong
Header · Document / Posting DatetodayWhen did the payment happen / in which period does it post?Same-day defaults are right. Impact: a date in a closed period is rejected.
Header · Company CodePSPKFrom WHOSE books does the cash leave?PSPK is the importing company that owes each agent. Impact: the wrong company code pays from the wrong books.
Header · CurrencyPKRIn WHICH money do you pay?The three agent payables are held in PKR, so pay in PKR. Impact: a wrong currency mis-converts the amount.
Bank data · Account (G/L)113100From WHICH bank account does the money go out? A G/L account = one line in the books.113100 is the Bank Main Account — the same one Scenario 1 paid from. Impact: a wrong G/L drains the wrong bank ledger.
Bank data · Amountthis vendor's invoice (e.g. forwarder 840,000)HOW MUCH leaves the bank for THIS vendor?Match the exact agent invoice from 23.4 (freight 840,000 · insurance 252,000 · customs 1,708,000). Impact: a wrong amount leaves a balance stuck open on that vendor.
Open item selection · Account (Vendor)the agent being paid (forwarder / insurer / customs broker)WHOSE bill are you paying on this run?Each F-53 run clears one vendor. Impact: the wrong vendor shows no matching open item.
Process Open Items · select the invoiceAmount Entered = Assigned · balance 0.00 🟢Which exact open item does this cash clear?Ticking that agent's 23.4 invoice nets the vendor to zero. Impact: if "Not assigned" ≠ 0, SAP will not let you Post.
Toolbar · Postnote the payment doc → repeat for the next vendorMake the payment real?Post writes the cash-out and clears that agent. Impact: until you Post, the agent stays open.

What changes across the runs — each payment empties only its OWN payable (the goods vendor via the LC in 23.5):

VEN-IMPCH — goods (via LC / bank, 23.5)Dr 14,000,000 / Cr Bankthe USD bill, settled through the Letter of Credit
Forwarder — freightDr 840,000 / Cr Bank 113100F-53 run 1
Insurance Co — insuranceDr 252,000 / Cr Bank 113100F-53 run 2
Customs Broker — dutyDr 1,708,000 / Cr Bank 113100F-53 run 3
⚠️ Four invoices → four payments (the lesson)

Just as one import PO ran MIRO four times (23.3–23.4), it now needs the debt cleared four times — because each payable belongs to a different company. The goods vendor is paid through the LC / bank (23.5); each agent is cleared by its own F-53 against G/L 113100 (or all three batched in one F110 run). Same payment engine as Scenario 1 — just repeated per vendor.

Verify: FBL1N → each agent (forwarder / insurer / customs broker) → "Open items" empty after its run · FBL3N → G/L 113100 shows the three cash-outs (840,000 + 252,000 + 1,708,000).

💡 Pakistani import specifics

✅ Verification

#T-codeCheck
1ME23NImport PO shows currency USD, Incoterms CIF, and FRA1/INS1/ZCUS conditions with their own vendors
2MMBE / MB51RM-COAL-01 in stock at PK01; GR document valued at the full landed cost (~PKR 16.8M)
3MB5B / material docInventory G/L 300100 debited with goods + freight + insurance + customs combined
4FBL3NEach clearing G/L (191100/191500/191600/191700) cleared as its vendor's MIRO posts
5MR51All four invoices (goods USD + 3 planned-cost PKR) reference the same PO

🎓 Interview-Ready Answers

Q: How do freight and customs end up in the material's inventory value?

By entering them as planned delivery costs (condition types like FRA1 freight, INS1 insurance, customs) on the PO line. Because they are planned at PO time, at goods receipt SAP debits the full landed cost to inventory and credits a separate delivery-cost clearing account for each. When the forwarder/customs/insurance vendor invoices via MIRO "Planned Delivery Costs," that clearing account is cleared. The costs are capitalized, never expensed.

Q: One import PO produces how many invoices, and why?

Typically four: the goods vendor (in USD), the freight forwarder, the customs broker, and the insurance company (each in PKR). Each delivery cost was assigned its own vendor on the PO, so each invoices separately and clears its own GR/IR clearing account — but all four amounts roll into the single inventory value posted at GR.

Q: What causes an exchange-rate difference on an import, and where does it post?

The PO/GR are valued at the OB08 rate on the PO date; the supplier invoice (MIRO) is translated at the invoice-date rate. If the rate moved, the difference between the GR/IR value and the invoice value posts to an Exchange Rate Difference G/L — not to inventory.

Q: What is MM's role with the Letter of Credit?

The LC itself is an FI/Treasury instrument — opening it with the bank, the margin, and final payment all sit in FI. MM's job is to capture the commercial terms on the PO: the Incoterms (FOB/CIF/DDP), currency, and the delivery-cost conditions. MM records the procurement; FI handles the banking.

← Previous
Scenario 22: Output Determination
Next →
Scenario 24: Withholding Tax