SCM Letter of Credit (LC) & Purchase Order Lifecycle: PI, Shipment, Cost Accruals
Complete masterclass on managing import POs with LC, reconciling Proforma Invoice, Bill of Lading, shipment cost, customs duty, and final landed cost in SAP TM, Dynamics 365 SCM, and custom SQL Server. Includes Bangladeshi import scenarios with Taka cost impacts.
1. Import Procurement & Letter of Credit in Bangladesh – The Foundation
Bangladesh relies heavily on imports for raw materials, machinery, and consumer goods. Managing import purchase orders linked to Letters of Credit (LC) is a critical business process for garment manufacturers, electronics assemblers, and pharmaceutical companies. The complexity arises from the need to reconcile multiple documents and costs across international boundaries.
1.1 Key Documents in Import PO Lifecycle
| Document | Description | Role in ERP | Bangladesh Example |
|---|---|---|---|
| Proforma Invoice (PI) | Preliminary invoice from supplier with estimated costs | Used to open LC, reference for PO | Fabric supplier in China sends PI for 20,000 meters of cotton knit |
| Bill of Lading (BL) | Carrier's receipt for shipped goods | Triggers shipment tracking, customs clearance | Maersk BL from Shanghai to Chittagong |
| Commercial Invoice | Final invoice from supplier after shipment | Matches against PI, posted in accounts payable | Final fabric invoice with exact quantities |
| Customs Duty & VAT | Import taxes and duties payable | Accrued as landed cost, included in valuation | Customs duty 10% on fabric, VAT 15% |
| Landed Cost | Total cost including freight, insurance, duty, handling | Allocated to material cost | Total landed cost per kg of fabric |
1.2 Why Real-Time LC Tracking Matters
In Bangladesh, where import cycles can take 30-45 days from LC opening to goods receipt, real-time tracking prevents:
- Cash flow surprises – unexpected bank charges, LC amendment fees.
- Stock valuation errors – missing landed cost leads to understated inventory.
- Purchase price variance (PPV) – difference between planned and actual costs due to unrecorded charges.
- Supplier payment delays – non-matching documents cause bank rejection.
2. The PO-to-Pay Cycle with LC – Step-by-Step
The complete cycle involves multiple touchpoints between procurement, finance, logistics, and the bank. Each step must be reflected in the ERP to maintain a single source of truth.
2.1 Step-by-Step Flow for a Fabric Import (Garments Example)
- Purchase Requisition – Production planning identifies need for 20,000 meters of cotton fabric from a supplier in China.
- Purchase Order Creation – PO is created in ERP with estimated price (৳500 per meter) and expected delivery date.
- LC Application – Based on PI from supplier, the commercial team applies for LC at a local bank (e.g., Eastern Bank Ltd.). LC amount = PO value plus freight allowance.
- LC Issuance – Bank issues LC, sends SWIFT message to supplier's bank. LC reference number is recorded in ERP against the PO.
- Shipment – Supplier ships goods, provides BL and commercial invoice. ERP is updated with shipment details (ETD, ETA, container number).
- Customs Clearance – Clearing agent submits documents, pays customs duty and VAT. These costs are entered as accruals in ERP.
- Goods Receipt – Warehouse receives goods, matches against PO. Landed cost is calculated and allocated to material valuation.
- Invoice Verification – Supplier's final invoice is matched against PO and goods receipt. Any variance is posted as PPV.
- LC Payment – Bank pays supplier upon compliant documents. LC is closed, and all charges are reconciled in ERP.
2.2 Cost Accrual Concept
Cost accrual is the accounting practice of recognizing expenses when they are incurred, not when payment is made. For import POs, this means recording estimated landed costs (freight, insurance, duty) at goods receipt, even if the actual invoice from the freight forwarder or customs broker arrives weeks later. This ensures accurate COGS and inventory valuation.
3. SAP TM & S/4HANA: Landed Cost & Accruals Handling
SAP is the leading ERP for large Bangladeshi conglomerates involved in import-heavy industries. SAP Transportation Management (TM) and S/4HANA provide robust tools for landed cost calculation and accrual management.
3.1 SAP Condition Types for Landed Cost
SAP uses Condition Types to represent various costs:
- FRA1 – Freight (sea/air)
- INS1 – Insurance
- ZCD1 – Customs Duty (custom)
- ZHC1 – Handling Charges
- ZLC1 – LC Charges
These condition types are linked to the purchase order through a calculation schema. At goods receipt, the system posts the landed cost to the material account, splitting the cost across PO line items.
3.2 Accrual Management in SAP
SAP uses Accrual Engine (transaction ACAC) or manual accruals through FBS1. For import POs, a common approach is to create a Purchase Order Accrual when goods are received, with estimated landed costs. When the actual invoice arrives, the accrual is reversed, and the actual cost is posted.
-- SAP Table: EKKO (PO Header) and EKPO (PO Item)
-- Landed cost condition types in PO
SELECT ekpo.ebeln, ekpo.ebelp, ekpo.matnr, ekpo.netwr,
konv.kschl, konv.kbetr
FROM ekpo
JOIN konv ON ekpo.ebeln = konv.knumv
WHERE ekpo.ebeln = '4500012345'
AND konv.kschl IN ('FRA1', 'INS1', 'ZCD1');
3.3 SAP TM Integration
SAP TM manages freight orders and calculates freight charges. These charges can be automatically transferred to the purchase order as landed cost condition types via TM Charge Management. This ensures that actual freight costs are allocated to materials in real-time.
4. Dynamics 365 SCM: Import PO Lifecycle & Landed Cost Module
Microsoft Dynamics 365 Supply Chain Management (D365 SCM) includes a dedicated Landed Cost module designed for import transactions. This module supports LC tracking, voyage management, and cost accruals from shipment to receipt.
4.1 Key Features of D365 Landed Cost
- Voyage Management – Track shipments from origin to destination, including multiple purchase orders in a single container.
- Auto Cost Allocation – Allocate freight, insurance, and duty to item cost based on weight, volume, or value.
- Estimated vs. Actual Costs – Accrue estimated costs at goods receipt; adjust when actual invoices arrive.
- LC Tracking – Record LC number, issue date, expiry date, and amendment status directly on the purchase order.
4.2 Cost Accrual Workflow in D365
In D365, when a purchase order is linked to a voyage, the system can automatically create Cost Accrual Transactions for estimated landed costs at goods receipt. These accruals are later matched against actual cost invoices, generating variances if needed.
4.3 Example Configuration for Fabric Import
- Create a purchase order for 20,000 meters of fabric from a Chinese supplier.
- In the PO header, enter LC number and bank reference.
- Create a voyage and assign the PO, along with estimated freight (৳200,000), insurance (৳50,000), and customs duty (৳150,000).
- At goods receipt, the system automatically posts the landed cost to inventory and creates accrual entries for the estimated costs.
- When the freight forwarder's invoice arrives, it's matched against the accrual, and any difference is posted as purchase price variance.
5. Custom SQL Server: Import Tracking & Cost Accruals
Many mid-sized Bangladeshi importers run custom in-house ERP systems on SQL Server. Implementing LC tracking and landed cost accruals requires careful schema design and transaction handling.
5.1 Database Schema for Import PO and LC
-- ============================================
-- IMPORT PO & LC TRACKING SCHEMA (SQL Server)
-- ============================================
CREATE TABLE dbo.ImportPO (
POID BIGINT IDENTITY(1,1) PRIMARY KEY,
PONumber NVARCHAR(50) NOT NULL UNIQUE,
SupplierCode NVARCHAR(20) NOT NULL,
ItemCode NVARCHAR(50) NOT NULL,
Quantity DECIMAL(18,3) NOT NULL,
UnitPrice DECIMAL(18,4) NOT NULL,
CurrencyCode NVARCHAR(3) DEFAULT 'USD',
LCNumber NVARCHAR(50) NULL,
LCBankName NVARCHAR(100) NULL,
LCIssueDate DATE NULL,
LCExpiryDate DATE NULL,
LCStatus NVARCHAR(20) DEFAULT 'PENDING', -- PENDING, ISSUED, AMENDED, CLOSED
Status NVARCHAR(20) DEFAULT 'OPEN',
CreatedDate DATETIME2 DEFAULT SYSDATETIME()
);
CREATE TABLE dbo.LandedCostAccrual (
AccrualID BIGINT IDENTITY(1,1) PRIMARY KEY,
POID BIGINT NOT NULL,
CostType NVARCHAR(20) NOT NULL, -- FREIGHT, INSURANCE, DUTY, HANDLING
EstimatedAmount DECIMAL(18,4) NOT NULL,
ActualAmount DECIMAL(18,4) NULL,
AccrualDate DATE NOT NULL,
InvoiceNumber NVARCHAR(50) NULL,
IsCleared BIT NOT NULL DEFAULT 0,
CONSTRAINT FK_Accrual_PO FOREIGN KEY (POID) REFERENCES dbo.ImportPO(POID)
);
CREATE INDEX idx_lc_status ON dbo.ImportPO(LCStatus);
CREATE INDEX idx_accrual_po ON dbo.LandedCostAccrual(POID, IsCleared);
5.2 Stored Procedure for Goods Receipt with Accrual
-- ============================================
-- SP: Goods Receipt with Landed Cost Accrual
-- ============================================
CREATE PROCEDURE dbo.sp_GoodsReceiptWithAccrual
@PONumber NVARCHAR(50),
@ReceivedQty DECIMAL(18,3),
@WarehouseCode NVARCHAR(10),
@FreightEstimate DECIMAL(18,4),
@InsuranceEstimate DECIMAL(18,4),
@DutyEstimate DECIMAL(18,4)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;
DECLARE @POID BIGINT;
SELECT @POID = POID FROM dbo.ImportPO WHERE PONumber = @PONumber;
IF @POID IS NULL
THROW 50001, 'Purchase Order not found', 1;
-- Insert goods receipt (simplified)
INSERT INTO dbo.GoodsReceipt (POID, ReceivedQty, WarehouseCode, ReceivedDate)
VALUES (@POID, @ReceivedQty, @WarehouseCode, GETDATE());
-- Create accrual entries for estimated landed costs
IF @FreightEstimate > 0
INSERT INTO dbo.LandedCostAccrual (POID, CostType, EstimatedAmount, AccrualDate)
VALUES (@POID, 'FREIGHT', @FreightEstimate, GETDATE());
IF @InsuranceEstimate > 0
INSERT INTO dbo.LandedCostAccrual (POID, CostType, EstimatedAmount, AccrualDate)
VALUES (@POID, 'INSURANCE', @InsuranceEstimate, GETDATE());
IF @DutyEstimate > 0
INSERT INTO dbo.LandedCostAccrual (POID, CostType, EstimatedAmount, AccrualDate)
VALUES (@POID, 'DUTY', @DutyEstimate, GETDATE());
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION;
THROW;
END CATCH
END;
6. Step-by-Step Process for Beginners – Import PO with LC (Garments Example)
This is a simplified, beginner-friendly walkthrough using a Bangladeshi garment factory importing fabric from China. We'll use Taka for all costs, assuming USD 1 = ৳110.
6.1 Scenario: Import 10,000 meters of cotton knit fabric
- Negotiate with Supplier – Receive Proforma Invoice from "Guangzhou Textile Co." for USD 50,000 (10,000 m × $5/m).
- Create PO in ERP – PO amount: ৳55,00,000 (USD 50,000 × 110). Set expected delivery date 45 days from LC issue.
- Apply for LC – Submit PI to bank. Bank issues LC for USD 50,000 (or equivalent Taka with 10% margin). LC reference: LC-2026-0915.
- Record LC in ERP – Update PO with LC number, bank name, issue date, expiry date.
- Shipment & BL – Supplier ships goods, provides BL and commercial invoice. ERP updated with BL number, container number, ETD, ETA.
- Customs Clearance – Clearing agent pays customs duty (10% on assessable value) and VAT (15% on total). These are entered as estimated accruals in ERP.
- Goods Receipt – Warehouse receives 10,000 m. ERP posts goods receipt, calculates landed cost: fabric cost + freight (৳200,000) + insurance (৳50,000) + duty (৳550,000) + handling (৳20,000) = total landed cost ৳63,20,000. Accruals created for freight, insurance, duty.
- Invoice Verification – Supplier's final invoice for fabric matches PO. Freight forwarder invoice arrives for ৳210,000 (vs. accrual 200,000, variance 10,000). Duty assessment from customs may differ slightly. All variances posted to PPV.
- LC Payment – Bank releases payment to supplier upon document compliance. LC closed. All charges recorded in ERP, PO status updated to "Completed."
6.2 Common Accrual Adjustments
If the actual freight is 5% higher than estimated, the variance is posted as a purchase price variance debit or credit, depending on whether the material was already consumed. This highlights why accurate accruals are critical.
7. Common Operational Issues by Role: Developer, Architect, DBA, Commercial Team, Auditor
7.1 ERP Developers
- LC amendment tracking – Amendments must update PO amount, LC amount, and possibly revise accruals. Missing this link causes PPV chaos.
- Integration with bank systems – Fetching LC status, SWIFT messages, and payment confirmations via API.
- Multi-currency handling – PO in USD, freight in Taka, duty in Taka; conversion rate changes affect landed cost.
- Automated accrual reversal – When actual invoice arrives, developer must ensure the accrual is cleared properly.
7.2 ERP Architects
- Scalability for high import volume – Bangladeshi RMG sector imports hundreds of containers monthly; architecture must handle concurrent POs.
- Document management – Store PI, BL, customs docs linked to PO in ERP.
- Integration with customs systems – BAND (Bangladesh Automated Customs) integration for duty assessment.
7.3 DBAs
| DBA Issue | Impact | Solution |
|---|---|---|
| High concurrency during GRN | Lock contention on PO tables | Row-level locking, optimistic concurrency |
| Accrual table growth | Query slowdowns | Partition by fiscal year, archive cleared accruals |
| Variance calculation performance | Slow month-end close | Pre-compute landed cost in materialized views |
| LC status tracking | Data inconsistency | Use triggers to update PO status when LC amended |
7.4 Commercial Teams
- Delayed LC amendment – If PO changes after LC issued, must get LC amended before shipment; ERP should flag this.
- Document mismatch – PI vs. final invoice; BL vs. actual shipment; need to resolve discrepancies quickly.
- Cost visibility – Real-time landed cost per shipment to decide selling price.
7.5 Auditors
- Accrual completeness – Are all landed costs accrued? Test by comparing estimated vs. actual for previous periods.
- PPV analysis – Large unexplained variances indicate missing accruals or LC amendment issues.
- LC compliance – Verify LC terms match PO, bank charges properly recorded.
8. Real-World Bangladeshi Business Scenarios
8.1 Scenario 1: Garment Factory – Missing Freight Accrual
Company: Dhaka Garments Ltd., importing 30,000 meters of denim fabric from India.
Situation: PO value: ৳1,65,00,000. At goods receipt, the warehouse team recorded fabric receipt but did not enter estimated freight (৳3,50,000) and insurance (৳80,000). The landed cost was understated by ৳4,30,000.
Impact: Inventory valuation was lower by 4.3 lakh; when the freight forwarder invoice arrived, it was posted as an expense, not capitalized into inventory, causing a PPV distortion of 4.3 lakh. Month-end gross margin was overstated.
Resolution: Implemented automatic accrual generation at goods receipt based on PO condition types. Accrual amount is estimated as a percentage of PO value; variance handled in invoice verification.
8.2 Scenario 2: Electronics – Delayed LC Amendment
Company: Helio Bangladesh, importing smartphone components from Shenzhen.
Situation: Original PO for 50,000 camera modules at $2.50 each. Due to supply shortage, supplier shipped only 40,000 modules. LC was amended to reduce amount, but the amendment was not updated in the ERP. When the bank paid the original LC amount ($125,000), the ERP still showed the original PO value, causing a PPV of $25,000 (negative variance).
Impact: Finance team spent 3 days reconciling; supplier was overpaid, leading to a refund request. The ERP showed incorrect inventory value for the 40,000 modules received.
Resolution: Implemented a trigger: when LC status changes to "AMENDED", the PO amount is automatically adjusted. Added a daily report of LC amendments pending in ERP.
8.3 Scenario 3: Pharmaceutical – Customs Duty Accrual
Company: Bengal Pharma, importing active pharmaceutical ingredients (API) from India.
Situation: PO for 5,000 kg of Paracetamol API. Customs duty is 10%, VAT 15%. At goods receipt, only the supplier invoice was posted; duty and VAT were not accrued because the customs assessment was delayed. The material was used in production, and the actual duty was paid 60 days later.
Impact: COGS was understated for two months, inflating profit. When duty was finally posted, it created a large negative PPV in month three, confusing management.
Resolution: Implemented a customs duty accrual schedule in ERP. At goods receipt, estimated duty is calculated based on HS code and previous rates, posted as accrual. When the customs assessment arrives, the accrual is adjusted.
9. Workflow Diagrams & Best Practices
9.1 Complete Import PO Lifecycle Workflow
9.2 Best Practices Checklist
- Always link LC number to the PO in the ERP. This creates a single source of truth.
- Automate accrual generation at goods receipt for all estimated landed costs (freight, insurance, duty, handling).
- Track LC amendments in real-time – update PO amount and status immediately.
- Use multi-currency tolerance – configure acceptable variance percentage to avoid unnecessary PPV.
- Integrate with customs BAND system for duty assessment data.
- Maintain document archive – PI, BL, customs docs, LC copies all attached to PO.
- Perform monthly reconciliation of LC status vs. PO vs. goods receipt vs. invoice.
- Set up alerts for LC expiry or shipment delays.
- Use D365 Voyage or SAP TM for consolidated shipment tracking if importing multiple POs per container.
- Train commercial team on LC terms (UCP 600) and ERP data entry to avoid mismatches.
10. AI & Future Trends in LC Tracking
Artificial intelligence and blockchain are beginning to transform import LC management, reducing delays, fraud, and paperwork.
10.1 AI Applications
| AI Capability | LC & PO Application | Bangladesh Impact |
|---|---|---|
| Document Intelligence | Automatically extract data from PI, BL, invoices using OCR and NLP, reducing manual entry | Cuts LC processing time by 50% |
| Predictive Delay Alerts | ML models forecast shipment delays based on port congestion, weather, historical patterns | Helps plan inventory and LC extensions |
| Fraud Detection | Identify duplicate invoices, mismatched LC terms, or unusual payment patterns | Reduces LC fraud in RMG imports |
| Cost Optimization | AI suggests optimal freight routes and insurance coverage based on historical landed cost | Saves 5-10% on import logistics |
10.2 Blockchain for LC – The Future
Several banks in Bangladesh are exploring blockchain-based LC, which creates a shared, immutable record of the transaction between importer, exporter, and banks. This eliminates document discrepancies and reduces LC processing from days to hours. The ERP would integrate with the blockchain network via APIs, automatically updating PO and LC status.
11. Frequently Asked Questions & Expert Answers
These questions cover the most common challenges in import PO, LC, and landed cost management in Bangladesh.

No comments:
Post a Comment
Thanks for your valuable comment...........
Md. Mominul Islam