Scenario 23 — Import Procurement (Foreign Vendor + LC + Customs)
📊 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:
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.
🇵🇰 The Business Story
🎯 What you'll learn
- Use Planned Delivery Costs on a PO — freight, customs, insurance enter the PO line so they capitalize at GR
- Multiple currencies — vendor invoice in USD, books in PKR (exchange rate at PO date vs invoice date can differ → variance)
- Multiple invoices per PO — main vendor (goods), customs broker (duty), forwarder (freight), insurance company
- Each cost has its own G/L account but all roll up to inventory value at GR
- LC is FI/Treasury domain — MM just records the PO terms (Incoterms FOB/CIF/DDP)
⚙️ Config Prerequisites
- Foreign vendor BP created (VEN-IMPCH) with currency USD, country CN
- Condition types defined for Freight (FRA1), Customs (ZCUS from Sc 21), Insurance (INS1)
- Pricing procedure includes these conditions
- Exchange rates maintained — OB08 rate type M for USD ↔ PKR
- OBYC entries for FRE (freight clearing), customs clearing G/L
RM-COAL-01 (ROH — same steps as RM-IRON-01) — create steps · how to create a ROH.
- A foreign/import vendor priced in USD — e.g. VEN-IMPCH (see BP Create Guide).
- The
ZIMPimport document type in place (see Scenario 20). - Import pricing conditions — freight (FRA1), customs (ZCUS), insurance (INS1) — in your pricing procedure (see Scenario 21).
- Exchange rates USD↔PKR maintained (OB08) and the material
RM-COAL-01ready (see Stock Readiness).
🔧 Step-by-Step — Transaction Flow
| Step | T-code | What it does | Why this step exists |
|---|---|---|---|
| 23.1 | ME21N (ZIMP) | Create the import PO with freight, insurance and customs planned on it | a foreign promise must carry all its extra costs |
| 23.2 | MIGO 101 | Receive the coal — stock valued at the full landed cost | goods must enter stock at their true total cost |
| 23.3 | MIRO | Post the goods vendor's USD invoice; main GR/IR clears | the coal supplier bills in its own currency |
| 23.4 | MIRO ×3 | Post freight, insurance and customs invoices — one per agent | each cost company sends its own bill |
| 23.5 | — (FI) | Bank settles the goods vendor's USD bill via the LC | the LC guarantees the foreign seller gets paid |
| 23.6 | F-53 | Pay the three PKR agents — one run per vendor | a 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 · Field | Fill | What the field asks (plain words) | Why we choose this — and the impact if wrong |
|---|---|---|---|
| Header (top) · Doc Type | ZIMP (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) · Vendor | VEN-IMPCH | Whose 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 · Currency | USD | In 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 Rate | from 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 · Incoterms | CIF · Karachi Port | Who 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 · Material | RM-COAL-01 | WHAT 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 · Quantity | 100 TO | HOW 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 Price | USD 500/TO | The 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 · Plant | PK01 | WHERE 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 Freight | USD 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 Insurance | 1.5% on goods+freight | Marine 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 Customs | 5% on CIF | Import 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 Co | WHO 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 / Action | Fill | What it asks (plain words) | Why — and the impact if wrong |
|---|---|---|---|
| Top bar (header line) · Action + Reference | Goods 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 Type | 101 (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 Entry | 100 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 Location | the receiving SLoc at plant PK01 — present here | Where 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 · Post | tick the line → Post → note the material doc | Confirm 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) - Main | Cr 14,000,000 | Main vendor |
| Freight Clearing (191500) | Cr 840,000 | Forwarder |
| Insurance Clearing (191600) | Cr 252,000 | Insurance Co |
| Customs Clearing (191700) | Cr 1,708,000 | Customs 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 · Field | Fill | What the field asks (plain words) | Why we choose this — and the impact if wrong |
|---|---|---|---|
| PO Reference tab · Vendor (from PO) | VEN-IMPCH | Whose 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 · Currency | USD | In 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 · Amount | 50,000 | How 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 rate | What 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 difference | variance → "Exchange Rate Difference" G/L | Who 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,000 | the "we owe the goods vendor" tray from GR is emptied |
| Vendor VEN-IMPCH | Cr 14,000,000 | now a real payable — a USD bill, held in PKR at the invoice-date rate |
| Exchange Rate Difference | Dr/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 · Field | Fill | What 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 Order | original PO | Which 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 forwarder | Which 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 · Amount | freight invoice amount | How 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 |
| Repeat | customs broker · insurance company | Do 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 |
| Effect | each clears its own delivery-cost GR/IR | What 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,000 | forwarder's tray emptied → Cr Forwarder 840,000 payable |
| Insurance Clearing (191600) | Dr 252,000 | insurer's tray emptied → Cr Insurance Co 252,000 payable |
| Customs Clearing (191700) | Dr 1,708,000 | broker'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 · Field | Fill | What it asks (plain words) | Why — and the impact if wrong |
|---|---|---|---|
| Header · Document / Posting Date | today | When 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 Code | PSPK | From 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 · Currency | PKR | In 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) | 113100 | From 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 · Amount | this 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 invoice | Amount 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 · Post | note the payment doc → repeat for the next vendor | Make 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 Bank | the USD bill, settled through the Letter of Credit |
| Forwarder — freight | Dr 840,000 / Cr Bank 113100 | F-53 run 1 |
| Insurance Co — insurance | Dr 252,000 / Cr Bank 113100 | F-53 run 2 |
| Customs Broker — duty | Dr 1,708,000 / Cr Bank 113100 | F-53 run 3 |
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).
- FBR Customs General Order rates change annually — keep customs duty % updated in OB08 / condition records
- Sales tax on imports @ 17% (or current FBR rate) charged at port; recoverable as input tax
- WeBOC integration optional (Web-Based One Customs system) — some Pakistani implementations integrate via IDoc
- GIDC (Gas Infrastructure Development Cess) applies to some imports
✅ Verification
| # | T-code | Check |
|---|---|---|
| 1 | ME23N | Import PO shows currency USD, Incoterms CIF, and FRA1/INS1/ZCUS conditions with their own vendors |
| 2 | MMBE / MB51 | RM-COAL-01 in stock at PK01; GR document valued at the full landed cost (~PKR 16.8M) |
| 3 | MB5B / material doc | Inventory G/L 300100 debited with goods + freight + insurance + customs combined |
| 4 | FBL3N | Each clearing G/L (191100/191500/191600/191700) cleared as its vendor's MIRO posts |
| 5 | MR51 | All 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.