Import LC, Export LC
Letter of Credit (LC) Module — Complete User Workflow Documentation
Comprehensive guide covering Import LC, Export LC, system pre-seeded 34 cost types, custom create cost types, currency, tax codes, status lifecycle, field-by-field fallback analysis, return workflow, Domestic Supplementary Duty, report outputs etc and accounting regulation validation.
Table of Contents
- System Overview
- One-Time Setup — Before You Start
- Import LC — Complete Workflow
- Export LC — Complete Workflow
- Import LC Return Workflow
- Export LC Return Workflow
- Domestic Supplementary Duty (SD)
- Sample Data — Import LC (Multi-Item + FA + system pre-seeded 34 Types)
- Sample Data — Export LC (With Fees)
- Field-by-Field Analysis & Fallback Chains
- Currency Configuration
- TaxCode Requirements
- Status Lifecycle — GL Creation Matrix
- Reports & Output
- Error Scenarios & What To Check
§. Accounting Regulation Validation
1. System Overview
The LC module handles two complete transaction lifecycles:
- Import Letters of Credit — Purchase goods or fixed assets from overseas suppliers through bank-financed letters of credit
- Export Letters of Credit — Sell goods to overseas buyers where the buyer's bank guarantees payment through a letter of credit
What Happens at Each Stage
| Stage | What the System Does |
|---|---|
| Creating the LC | Records the LC document. No financial entries yet — this is an off-balance-sheet contingent liability. |
| Adding Cost Lines | User enters each cost component (goods value, duties, freight, bank fees, taxes) as separate lines with a cost type selector. |
| Status → DocumentsPresented | The system posts all General Ledger entries. Costs capitalize to inventory or go to P&L. Total payable split between AP (margin) and LCP (financed). DR = CR guaranteed. |
| Making Payments | Payments reduce outstanding AP and LCP balances. Can be done via Payment form or Journal Entry. |
| Interest Accrual | For financed LCs with interest, the system calculates and posts period-end interest expense. |
| Receiving Export LC Payment | When the bank pays, the system clears Export LC Receivable, Export LC Clearing, and Accounts Receivable. |
| Returning Goods | Requires 3 separate transactions because 3 different parties received money (supplier, customs, bank). |
2. One-Time Setup — Before You Start
2.1 Verify Chart of Accounts
Navigate to Settings > Chart of Accounts. Verify these accounts exist (they are auto-created):
| Account Name | Type | Purpose |
|---|---|---|
| InventoryOnHand | Balance Sheet Asset | Capitalized LC costs (goods, duties, freight) |
| AccountsPayable | Balance Sheet Liability | Margin portion you must pay supplier |
| LetterOfCreditPayable | Balance Sheet Liability | Financed portion from bank |
| AdvanceIncomeTax | Balance Sheet Asset | AIT, AT, WHT paid at port (recoverable) |
| LCAccrualInterestPayable | Balance Sheet Liability | Accrued but unpaid interest |
| ExportLCReceivable | Balance Sheet Asset | Amount receivable from bank for export LC |
| ExportLCARClearing | Balance Sheet Liability | Temporary clearing account for export LC |
| TaxPayable | Balance Sheet Liability | VAT/GST payable |
| LCExpense | Profit & Loss | Non-capitalizable LC costs (bank fees, commission) |
| InterestExpense | Profit & Loss | LC financing interest |
| CurrencyGainsLosses | Profit & Loss | Foreign exchange revaluation gains/losses |
2.2 LCCostTypeSettings — The 34 Pre-Seeded Cost Types
Navigate to Settings > LCSettings > LCCostTypeSettings.
The system comes with 34 pre-configured cost types organized into groups:
| Group | Count | Codes | GL Treatment |
|---|---|---|---|
| Goods | 1 | CIF | Capitalizes to InventoryOnHand |
| Duties | 6 | CD, RD, SD, CVD, ADD, SFG | Capitalizes to InventoryOnHand (merged with CIF) |
| Landed Costs | 14 | FRT, INS, PRT, BRK, INSP, CER, DMR, WHR, INT, ROY, COU, SHP, SRV, CNS | Capitalizes to InventoryOnHand (pro-rata allocated) |
| Period Costs | 10 | COM, INT_R, BNK, LCC, CNF, NEG, FX, SWF, AMD, DSC | Goes to P&L Expense |
| Tax Assets | 3 | AIT, AT, WHT | Goes to AdvanceIncomeTax (BS Asset) |
Each pre-seeded cost type has a fixed mapping to specific GL accounts and VAT base treatment. These mappings are relied upon by the LC posting engine, Mushak VAT reports, and financial statement generation.
IMPORTANT: Users shall NOT Edit or Delete Pre-Seeded Cost Types
The 34 pre-seeded cost types are system-configured defaults that the LC module depends on. Changing them can cause:
| Problem | Root Cause |
|---|---|
| Wrong GL posting | Changing IsCapitalize, Category, or DefaultGLAccount routes costs to incorrect accounts |
| VAT calculation errors | Changing IncludeInVatBase on duty types produces incorrect VAT base |
| Inventory cost errors | Changing IsDutyType affects merge behavior |
| Mushak report failures | Mushak 6.3 and other VAT reports rely on fixed codes (SD, CIF, etc.) |
| LC posting engine errors | Engine uses IsCapitalize, Category, and IsDutyType to route entries |
Correct approach: If you need a custom cost type: 1. Create a NEW cost type using the New button — give it a unique Code and Name 2. Leave the 34 pre-seeded types unchanged 3. Set IsActive = false on any pre-seeded types your business doesn't use (hides them without breaking the engine)
What you CAN safely change:
| Setting | Safe? | Notes |
|---|---|---|
| DefaultGLAccount | ✅ Yes | Override where the cost posts |
| IsActive | ✅ Yes | Hide unused types from dropdown |
| SortOrder | ✅ Yes | Reorder dropdown display |
| IsCapitalize | ❌ No | Breaks GL routing — create new type instead |
| Category | ❌ No | Breaks GL routing — create new type instead |
| IsDutyType | ❌ No | Breaks merge behavior — create new type instead |
| IncludeInVatBase | ❌ No | Breaks VAT calculation — create new type instead |
| Code | ❌ No | System relies on Code for Mushak reporting |
2.3 Set Up Tax Codes
Navigate to Settings > TaxCodes > New TaxCode.
Example — VAT-15% for Bangladesh imports: - Name: VAT-15% - Rate Type: CustomRate - Type: SingleRate - Rate: 15 - Account: Select your Tax Payable account
2.4 Set Up Foreign Currencies
Navigate to Settings > Currencies > New ForeignCurrency.
Example — US Dollar: - Code: USD - Name: US Dollar - Symbol: $ - Decimal Places: 2 - Exchange Rate: 110 (1 USD = 110 BDT) - Exchange Rate Is Inverse: No
3. Import LC — Complete Workflow
3.1 Create the LC Document
Navigation: Letters of Credit > New Letter of Credit
Header Fields
| Field | User Action | Required? | Notes |
|---|---|---|---|
| Date | Enter today's date | ✅ | |
| Reference | Enter LC number (e.g., LC-2026-001) | ✅ | Auto-generated if enabled |
| Description | Optional notes | ❌ | No financial impact |
| Issue Date | Date bank issued the LC | ✅ | Display only |
| Expiry Date | Last date for document presentation | ✅ | Display only |
| Maturity Date | When financed portion is due | ❌ | If blank → interest accrual disabled |
| Supplier | Select beneficiary/supplier | ✅ | Used on AP entry |
| Bank Account | Settlement account for financed portion | ✅ | Used for payment pre-fill |
| Margin Account | Account holding the margin deposit | ❌ | Display only |
| Category | Sight / Usance / Standby | ✅ | Display only — no financial impact |
| Status | Set to Opened | ✅ | Do NOT set to DocumentsPresented yet |
| LC Currency | Select USD (or leave blank for BDT) | ❌ | If blank, base currency is used |
| LC Amount | Total CIF value of goods | ✅ | Used for margin/financing split |
| Margin % | e.g., 30 | ✅ | 0% or 100% = no bank financing |
| Exchange Rate | e.g., 110 | ❌ If no currency | Must be > 0 if LC Currency is set |
| Exchange Rate Is Inverse | Leave unchecked | ❌ | Check for inverse rate format |
| Interest Rate | e.g., 10 (for 10% per year) | ❌ | If 0, interest accrual disabled |
| Interest Basis | Days360 or Days365 | ❌ | Day count convention for interest |
| Payment Schedule | Cash flow forecast dates and amounts (DueDate, Amount, LCPaymentType) | ❌ | Cash flow forecasting only. No GL entries are created from this field. It is planned for a later release. All current accounting entries must be entered via Cost Lines. |
| Division | Operational division | ❌ | Falls through to cost lines and supplier |
| Project | Project tracking | ❌ | Falls through to cost lines |
What Happens at Status = Opened
At Opened status, no General Ledger entries are created. The LC exists as an off-balance-sheet contingent liability. This is correct per accounting standards — no entry is made until the supplier ships goods and presents documents.
Critical Rules for Header Fields
| Rule | Why |
|---|---|
| LC Amount should be the CIF of INVENTORY goods only (exclude Fixed Assets) | Only goods CIF is used for the margin/financing split |
| Margin % must be between 1 and 99 to create both AP and LCP | At 0% or 100%, everything goes to AP |
| Exchange Rate must be > 0 when LC Currency is set | A rate of 0 means no conversion — amounts posted raw |
| Maturity Date and Interest Rate must both be set for accrual to work | Both are required for the interest calculation |
3.2 Add Cost Lines — System pre-seeded 34 Types
After saving the LC, reopen it and add cost lines. Each cost line represents one expense component. The rules differ by cost type group.
Group A: Goods + Duties (Types 1-7) — Must Set Item and Quantity
| Cost Type | Set Inventory Item? | Set Quantity? | Set TaxCode? |
|---|---|---|---|
| CIF (Goods) | Required | Required > 0 | Recommended for VAT |
| CD, RD, SD, CVD, ADD, SFG (Duties) | Required | Leave blank | Not needed |
Why: If Inventory Item is blank, the cost goes to a Suspense account. If Quantity is 0 or blank, the entire item's merge output is skipped and the cost is lost from inventory.
Example:
Goods line: Item = Widget-X, Qty = 1000, Amount = 1,650,000, TaxCode = VAT-15%
Duty line: Item = Widget-X, Qty = (blank), Amount = 412,500
Group B: Landed Costs (Types 8-21) — Item Is Optional
| Cost Type | Set Inventory Item? | Set Quantity? |
|---|---|---|
| FRT, INS, PRT, BRK, INSP, CER, DMR, WHR, INT, ROY, COU, SHP, SRV, CNS | Optional | Leave blank |
- When Item is set: Cost is directly assigned to that item's inventory layer.
- When Item is blank: Cost is proportionally allocated across all items and fixed assets based on their CIF values (per IAS 2 Section 10).
Group C: Period Costs (Types 22-31) — Item Not Needed
| Cost Type | Set Inventory Item? | GL Account |
|---|---|---|
| COM (Commission) | Not needed | LCExpense (P&L) |
| INT_R (Interest) | Not needed | InterestExpense (P&L) |
| BNK, LCC, CNF, NEG, FX, SWF, AMD, DSC | Not needed | LCExpense (P&L) |
Group D: Tax Assets (Types 32-34) — Item Not Needed
| Cost Type | Set Inventory Item? | GL Account |
|---|---|---|
| AIT (Advance Income Tax) | Not needed | AdvanceIncomeTax (BS Asset) |
| AT (Advance Tax) | Not needed | AdvanceIncomeTax (BS Asset) |
| WHT (Withholding Tax) | Not needed | AdvanceIncomeTax (BS Asset) |
Quick Reference: System pre-seeded 34 Cost Types
| # | Code | Name | Item? | Qty? | TaxCode? | GL Account |
|---|---|---|---|---|---|---|
| 1 | CIF | Goods | Required | Required | Recommended | InventoryOnHand |
| 2 | CD | Customs Duty | Required | Leave | Not needed | InventoryOnHand |
| 3 | RD | Regulatory Duty | Required | Leave | Not needed | InventoryOnHand |
| 4 | SD | Supplementary Duty | Required | Leave | Not needed | InventoryOnHand |
| 5 | CVD | Countervailing Duty | Required | Leave | Not needed | InventoryOnHand |
| 6 | ADD | Anti-Dumping Duty | Required | Leave | Not needed | InventoryOnHand |
| 7 | SFG | Safeguard Duty | Required | Leave | Not needed | InventoryOnHand |
| 8 | FRT | Freight | Optional | Leave | Not needed | InventoryOnHand* |
| 9 | INS | Insurance | Optional | Leave | Not needed | InventoryOnHand* |
| 10-21 | (14 types) | Landed Costs | Optional | Leave | Not needed | InventoryOnHand* |
| 22 | COM | Commission | Not needed | Leave | Not needed | LCExpense (P&L) |
| 23 | INT_R | Interest | Not needed | Leave | Not needed | InterestExpense |
| 24-31 | (8 types) | Bank Fees | Not needed | Leave | Not needed | LCExpense (P&L) |
| 32 | AIT | Adv Income Tax | Not needed | Leave | Not needed | AdvanceIncomeTax |
| 33 | AT | Advance Tax | Not needed | Leave | Not needed | AdvanceIncomeTax |
| 34 | WHT | Withholding Tax | Not needed | Leave | Not needed | AdvanceIncomeTax |
- Landed costs without an item are proportionally allocated by CIF value across all inventory items and fixed assets.
Adding the Fixed Asset Type
If you are importing a Fixed Asset (e.g., machinery), use the FixedAsset field on the cost line instead of InventoryItem:
| Field | Value |
|---|---|
| CostTypeSetting | CIF (Goods) |
| FixedAsset | Select the machine (from Fixed Asset register) |
| Qty | 1 |
| Amount | Cost of the machine |
The system posts to FixedAssetsAtCostAccount instead of InventoryOnHand. Shared landed costs (freight, insurance with no item) are proportionally allocated to Fixed Assets as well.
Duties and VAT for Fixed Assets
When duties (Customs Duty, Supplementary Duty, Regulatory Duty etc.) are entered for a Fixed Asset, the system automatically includes them in the VAT base. Per NBR VAT Act 2012 Section 4(2), the VAT base is the Assessable Value = CIF value plus all customs duties.
Duty lines may be entered in any order — before or after the CIF line. The system handles this by scanning all cost lines before processing the CIF line, ensuring duties are included in the VAT base regardless of their position in the list. Duty TaxCodes are not processed separately — duties feed into the VAT base calculation only (Customs Act 1969 Section 25).
3.3 Status → DocumentsPresented — GL Entries Created
Change the status from Opened to DocumentsPresented. This is the moment when all General Ledger entries are posted.
What Happens Internally
- Costs are grouped by inventory item — A "merge bucket" is created for each item
- CIF + all duties merge — Single consolidated cost layer per item (e.g., CIF $15,000 + CD $3,750 + SD $1,500 = $20,250 per item)
- Landed costs without an item are pro-rata allocated — Split across all items and fixed assets by CIF weight
- Period costs go to P&L — Direct expense entries
- Tax assets go to Balance Sheet — AdvanceIncomeTax account
- VAT is calculated — Based on CIF + all duties (for duties marked as VAT-inclusive)
- Total is computed — Sum of all debit entries
- Total is split into liabilities — Accounts Payable (margin + other costs) + Letter of Credit Payable (financed portion)
- Balancing entries are created — Guaranteeing DR = CR
The GL Entry Pattern
Dr InventoryOnHand (per item, merged CIF+Duties+Landed) XX,XXX
Dr TaxReceivable (VAT on CIF+Duties) X,XXX
Dr LCExpense (period costs: commission, bank fees, etc.) X,XXX
Dr InterestExpense X,XXX
Dr AdvanceIncomeTax (AIT + AT + WHT) X,XXX
Cr AccountsPayable (margin % + other costs) XX,XXX
Cr LetterOfCreditPayable (financed portion) XX,XXX
-------- --------
Total DR = Total CR ✅
After Posting — What Changed on Financial Statements
| Account | Direction | Meaning |
|---|---|---|
| InventoryOnHand | Increased | Goods value including all duties and landed costs |
| TaxReceivable | Increased | VAT input you can recover |
| LCExpense / InterestExpense | Increased | Period costs hitting P&L |
| AdvanceIncomeTax | Increased | Prepaid taxes recoverable from tax authority |
| AccountsPayable | Increased | Your margin + costs you must pay supplier |
| LetterOfCreditPayable | Increased | Bank financing you must repay at maturity |
3.4 Payment Options
After DocumentsPresented, the LC View shows a New Payment button. You have several options.
Option A — Full Payment via New Payment
The system pre-fills the payment form with: - Supplier = LC Supplier - Amount = Total outstanding (AP + LCP)
When saved:
Dr AccountsPayable Full AP amount
Dr LetterOfCreditPayable Full LCP amount
Cr Bank Account Total amount
After this, the LC View shows: Outstanding = 0, Payment Status = Fully Paid.
Option B — Partial Payment
Change the pre-filled amount to a lower value:
Dr AccountsPayable 10,00,000
Cr Bank Account 10,00,000
The remaining outstanding is automatically calculated. The New Payment button reappears with the reduced amount.
Option C — Payment via Journal Entry
Create a Journal Entry with: - Check Is LC Adjustment = Yes - Select the Letter of Credit - Line 1: Dr AccountsPayable / Cr Cash
The LC View tracks these Journal Entries and includes them in the outstanding balance calculation.
Option D — Delete a Payment
Delete the Payment document — the system reverses the payment's GL entries — outstanding balance returns to its original amount. Accrual history records are not affected.
Important — Correct Account Setup for LC Payments
When paying an Import LC, choose the right account:
- Paying your margin and other costs → use Accounts Payable
- Paying the bank-financed portion → use Letter of Credit Payable
Always use these two system accounts. Users shall not pick custom accounts for LC Payments. The LC View only recognises these two. Payments posted to other accounts will NOT show up in the LC View and will NOT reduce the outstanding balance displayed there.
Currency:
Enter all payment amounts in base currency (Say if user set BDT in Settings > Currencies > Base Currency it will be BDT). Leave the Currency field empty. Payment lines always hold BDT amounts regardless of the LC's own currency. If the LC uses a foreign currency, the LC View will convert the BDT amount automatically.
Example — LC in USD with exchange rate 110: * Payment line amount = 1,00,000 (in BDT) * The LC View shows: -1,00,000 @ 110 -909.09 USD
The BDT amount and rate appear on the left; the converted amount on the right. If the LC has no foreign currency set, no rate or conversion appears.
How payments appear in the LC View:
All payments, adjustments, and accruals appear together in one running list:
Total Payable: 35,85,725
Payment: PMT-001 (6/20/2026) -24,30,725 ← negative (reduces payable)
Payment: PMT-002 (6/25/2026) -11,55,000 ← negative (reduces payable)
*Accrue Interest: ACCRUAL-LC-... 9,625 ← positive (adds cost)
৳ 9,625 @ 110 87.50 ← rate shown when foreign currency set
Outstanding: 0
Payments and non-accrual adjustments appear as negative. Interest accruals appear as positive (they add cost). Accrual entries do NOT affect the outstanding balance.
Linking a payment to the LC:
When you click "New Payment" from the LC View, the system links the payment automatically. If you create a Payment manually from the Payments screen, make sure the Letter of Credit field on each payment line points to the correct LC. Without this link the payment will be invisible to the LC View.
Paying via Journal Entry:
When recording a payment through a Journal Entry instead of the Payment form: * Check Is LC Adjustment = Yes * Select the Letter of Credit * Use Accounts Payable or Letter of Credit Payable as the line account (same rules as above) * Enter a debit in base currency (BDT) * Leave the Currency field empty
The LC View tracks this Journal Entry alongside regular payments when calculating the outstanding balance. For single payments, use only a Dr side for the payment (not both Dr and Cr in the same JE).
3.5 Interest Accrual
If the LC has: - A Maturity Date set - An Interest Rate > 0 - Outstanding balance > 0
...the Accrue Interest button appears.
How Interest Is Calculated
Interest = FinancedPortion x InterestRate% x Days / DayCountBasis
Where: - FinancedPortion = LC Amount x (100 - Margin%) / 100 - Days = Number of days since last accrual (or LC date if first accrual) - DayCountBasis = 360 (30/360) or 365 (actual/365)
Journal Entry for Accrual
Dr InterestExpense XX,XXX
Cr LCAccrualInterestPayable XX,XXX
A history record is created linking the accrual to the Journal Entry, ensuring a proper audit trail. The system checks that all previous accruals have valid Journal Entries by walking the chain forward. If a journal entry was deleted or modified (broken chain), the system shows: "Accrual chain broken at {date} — journal entry was deleted or modified. Re-accruing from {lastValidDate}. Future accrual entries after {date} are now orphaned — please delete them manually if needed. Use the Reset Accrual button on the LC View to start fresh." The orphaned records are automatically cleaned up before creating new accruals.
When Accrual Won't Work
| Condition | Message Displayed |
|---|---|
| Maturity Date is blank OR Interest Rate is 0 OR Maturity Date <= LC Date | "LC has no maturity date or interest rate" (single combined check) |
| LC is fully paid (outstanding AP + LCP = 0) | "LC is fully paid. No outstanding balance to accrue interest on." |
| Already accrued up to the period end date | "Interest already accrued up to {date}" |
| Zero days between last accrual and period end | "No days to accrue" |
| Calculated interest amount is zero | "Calculated interest is zero" |
| No accrual history found (on Reset) | "No accrual history found." |
How Accruals Appear in the LC View
The LC View shows all payments, adjustments, and accruals together in one list. Accruals are displayed differently from payments:
-
Label — Accruals are marked with an asterisk (*):
*Accrue LC Interest: ACCRUAL-LC-2026-001-20260626 (6/26/2026) -
Sign — Accrual amounts appear as positive while payments and non-accrual adjustments appear as negative. This is because accruals add to the total cost (interest expense), while payments reduce the outstanding balance.
-
Outstanding balance — Accrual entries do not reduce the outstanding balance. Only actual payments against Accounts Payable and Letter of Credit Payable affect the outstanding calculation. Interest is a borrowing cost, not a repayment of principal.
Example — LC View after payment and one accrual:
Total Payable: 35,85,725
Payment: PMT-001 (6/20/2026) -24,30,725 ← negative
Payment: PMT-002 (6/25/2026) -11,55,000 ← negative
*Accrue Interest: ACCRUAL-LC-... 9,625 ← positive (adds cost)
৳ 9,625 @ 110 87.50 ← rate shown when foreign currency set
Outstanding: 0 ← accrual excluded
Even though "Outstanding" is zero, the interest entry remains visible. This is correct because interest is a borrowing cost — it does not repay principal.
Foreign Currency Display
When the LC has a foreign currency, the exchange rate appears alongside each accrual:
*Accrue Interest: ACCRUAL-LC-... (date)
৳ 9,625 @ 110 87.50
The BDT amount and rate are on the left. The converted amount in the LC's foreign currency is on the right. If no foreign currency is set, no rate or conversion appears.
Impact on Other Features
- The New Payment button is determined by the outstanding balance excluding accruals. Accrual entries do not affect whether the button appears.
- For Export LCs, the Export LC Receipt form also excludes accrual entries when pre-filling the receipt amount.
- When the outstanding balance (excluding accruals) reaches zero, the Accrue Interest button hides. Historical accruals remain visible in the LC View — they are not reversed.
──────────────────────────────────────────────────────────── Why Accruals Don't Reduce the Outstanding Balance ────────────────────────────────────────────────────────────
An interest accrual entry: Dr InterestExpense 9,625 Cr LC Accrual Interest Payable 9,625
This entry: ✓ Records the cost of borrowing ✓ Creates a liability (accrued interest) ✗ Does NOT repay any part of the original LC amount
The outstanding balance tracks how much of the original LC principal remains unpaid. Interest is a separate cost — it adds to total expense but does not reduce what you owe on the principal.
Think of it like a credit card statement: - The purchase amount (principal) is what you owe the bank - The interest charge is a fee for borrowing - Paying the interest does NOT reduce the purchase amount - You must pay the principal separately to clear the debt
In the LC View: Total Payable = original cost (principal) + VAT + fees Payments = amounts paid toward the principal Accruals = interest costs shown separately Outstanding = Total Payable minus Payments (accruals are excluded) ────────────────────────────────────────────────────────────
3.6 Status → Paid / Closed
| Status Change | What Happens |
|---|---|
| DocumentsPresented → Paid | GL entries persist (remain in the system). Use after bank has settled. |
| DocumentsPresented → Closed | GL entries are reversed (removed). Only use when the LC lifecycle is fully complete and you want entries removed from the books. |
| DocumentsPresented → Cancelled | Same as Closed — all entries reversed. |
Warning: Changing from DocumentsPresented to any other status will reverse all GL entries. The system shows a warning: "This LC has {N} linked transaction(s). Changing the status will reverse the LC entries but the linked transactions will remain as orphans. Delete the linked transactions first for a clean reversal." The same warning applies to Export LC with the same pattern. Review linked documents before proceeding.
4. Export LC — Complete Workflow
4.1 Create Export LC
Navigation: Export Letters of Credit > New Export Letter of Credit
| Field | User Action | Required? | If Blank |
|---|---|---|---|
| Customer | Select overseas buyer | ✅ | Receipt won't pre-fill |
| Sales Invoice | Select the underlying sales invoice | ✅ | AR entry has no reference |
| LC Amount | Full invoice amount | ✅ | No GL entries |
| Fee Lines | Add bank fees (commission, swift, etc.) | ❌ | Full amount = net receivable |
| LC Currency | Foreign currency | ❌ | Base currency used |
| Exchange Rate | Contracted rate | ❌ If no currency | Must be > 0 if set |
| Status | Set to Opened | ✅ | No GL entries yet (correct) |
| Maturity Date | When payment expected | ❌ | Interest accrual disabled |
| Interest Rate | Rate for usance period | ❌ | Interest accrual disabled |
Fee Lines
Add bank fees that reduce the net receivable:
| Fee Type | Example Amount |
|---|---|
| Commission | 55,000 |
| LC Commission | 33,000 |
| Swift Charges | 8,250 |
| Total Fees | 96,250 |
| Net Receivable | 54,03,750 |
4.2 Status → DocumentsShipped — GL Created
Change status from Opened to DocumentsShipped.
What Happens
Dr ExportLCReceivable (Bank) Full LC Amount (receivable from bank)
Dr LCExpense (Fees) Total fees (bank charges to P&L)
Cr ExportLCReceivable Total fees (reduces receivable)
Cr ExportLCARClearing Full LC Amount (temporary liability)
After posting: - ExportLCReceivable = LC Amount minus Fees = Net Receivable - ExportLCARClearing = Full LC Amount (temporary) - Sales Invoice = Remains UNPAID (the clearing account holds the credit)
What the Export LC View Shows
After DocumentsShipped:
LC Amount: 55,00,000
Total Fees: 96,250
Net Receivable: 54,03,750
Status: DocumentsShipped
[Accrue Interest] [Reset Accrual] [Receive Payment]
4.3 Receive Payment Options
Option A — Click Receive Payment Button
The system pre-fills: - Customer = Export LC Customer - Amount = Net Receivable (e.g., 54,03,750) - Export Letter of Credit = auto-linked
Full Receipt:
Cr ExportLCReceivable 54,03,750 (clears receivable)
Dr ExportLCARClearing 55,00,000 (clears clearing)
Cr AccountsReceivable (SI) 55,00,000 (clears SI)
Dr Cash (Bank Account) 54,03,750 (cash received)
After these entries, all accounts are zero:
| Account | Before | After |
|---|---|---|
| ExportLCReceivable | 54,03,750 | 0 |
| ExportLCARClearing | 55,00,000 | 0 |
| AccountsReceivable (SI) | 55,00,000 | 0 (PAID) |
| Cash | 0 | 54,03,750 |
Partial Receipt: Change amount to a lower value (e.g., 50,000) — same 4-entry pattern at the reduced amount. Outstanding ExportLCReceivable remains; SI stays UNPAID.
Option B — Receipt via Journal Entry
Create a Journal Entry with: - Check Is Export LC Adjustment = Yes - Select the Export Letter of Credit - Same 4-entry pattern as the receipt
The Export LC View tracks Journal Entries in the outstanding balance.
Option C — Delete a Receipt
Delete the ExportLCReceipt document — all 4 entries are reversed — AR is restored to UNPAID.
Important — How Receipts and Adjustments Appear in the Export LC View
All receipts, adjustments, and accruals appear together in one running list:
Net Receivable: 54,03,750
Receipt: RCPT-001 (6/30/2026) -54,03,750 ← negative (reduces receivable)
JE: ADJ-001 (7/5/2026) -96,250 ← negative (residual clearing)
*Accrue Interest: ACCRUAL-ELC-... 9,625 ← positive (adds to receivable)
৳ 9,625 @ 110 87.50 ← rate shown when foreign currency set
Outstanding: -96,250
Receipts and non-accrual adjustments appear as negative (they reduce the receivable). Interest accruals appear as positive (they add to the receivable). Accrual entries do NOT affect the outstanding balance.
Recording a receipt via Journal Entry:
If you record a receipt through a Journal Entry instead of the Export LC Receipt form: * Check Is Export LC Adjustment = Yes * Select the Export Letter of Credit * Use ExportLCReceivable or ExportLCARClearing as the line account * Enter amounts in base currency (BDT) * Leave the Currency field empty
The Export LC View will convert amounts automatically if the ELC has a foreign currency.
4.4 Residual Clearing
After a full receipt, there is typically a residual amount equal to the total fees. This is because ExportLCReceivable was reduced by fees at DocumentsShipped, but ExportLCARClearing and AR were created at the full LC Amount.
To clear the residual, create a Journal Entry:
Dr ExportLCARClearing 96,250 (clears remaining clearing)
Cr AccountsReceivable (SI) 96,250 (clears remaining AR)
After this JE, all accounts are zero.
4.5 Closing the Export LC
Change status to Closed — all GL entries are reversed. Only do this when: - The bank has fully paid - Any residual has been cleared - The export transaction is fully complete
4.6 ExportLCReceipt — Dedicated Receipt Document
The ExportLCReceipt is a dedicated transaction document used to record cash received from the bank against an Export Letter of Credit. It creates 4 General Ledger entries that clear the ExportLCReceivable, ExportLCARClearing, Accounts Receivable, and record the cash received.
Creating an ExportLCReceipt
Navigation: From the Export LC View, click the Receive Payment button. Or navigate directly to Export LC Receipts > New Export LC Receipt.
Form Pre-Fill Behavior
When created from the Export LC View (via the Receive Payment button), the form pre-fills:
| Field | Pre-Filled Value | Source |
|---|---|---|
| Customer | Export LC's Customer | elc.Customer |
| Export Letter Of Credit | Export LC's Key | elc.Key |
| Amount (User shall enter amount as ELC currency) | Remaining = Net Receivable - Already Paid | Computed from prior receipts + JEs |
| Date | Current date | DateTime.Now |
Partial Payment Remaining Calculation:
alreadyPaid = sum of all prior ExportLCReceipt.Amount for this ELC (in ELC currency)
+ sum of non-accrual JE lines for IsExportLCAdjustment JEs
remaining = Max(0, netReceivable - alreadyPaid)
form.Amount = remaining
JE lines excluded from alreadyPaid: Interest expense and accrued interest payable entries do NOT reduce the receivable. They represent borrowing costs (IAS 23 Section 8), not payments received. Only adjustments that affect the ExportLCReceivable account are counted.
Currency conversion: When the ELC has a foreign currency, JE amounts (in BDT) are converted to the ELC's currency using the exchange rate. When no foreign currency is set, amounts stay in BDT regardless of the exchange rate value.
This means: - Each subsequent receipt shows the remaining outstanding amount - Both prior ExportLCReceipts AND Journal Entries (IsExportLCAdjustment) are counted - Accrual entries are excluded from the calculation - If fully paid, remaining = 0 and the button hides
Overpayment Warning
If the user enters an amount greater than the net receivable, a yellow warning is shown with the actual message from the codebase:
Amount exceeds the outstanding net receivable of 54,03,750 for Export LC ELC-2026-001. The Export LC Receivable account will show a negative balance.
GL entries are still created — the overpayment causes the ExportLCReceivable to go negative, which should be corrected with a separate Journal Entry. The warning advises the user of the negative balance consequence.
The 4 GL Entries — Detailed Analysis
When saved, ExportLCReceipt creates 4 entries in this specific order:
Entry 1 — Cr ExportLCReceivable (reduces the bank receivable)
Amount: -Receipt.Amount (negative = credit)
Account: BalanceSheetExportLCReceivableAccount
Purpose: Reduces the receivable from the bank by the amount received
exportLetterOfCredit: ELC Key (links to Export LC for tracking)
Entry 2 — Dr ExportLCARClearing (reduces the temporary liability)
Amount: +Receipt.Amount (positive = debit)
Account: BalanceSheetExportLCARClearingAccount
Purpose: Reduces the temporary clearing liability created at DocumentsShipped
exportLetterOfCredit: ELC Key
Entry 3 — Cr AccountsReceivable (clears customer's invoice balance)
Amount: -Receipt.Amount (negative = credit)
Account: BalanceSheetAccountsReceivableAccount
Customer: from receipt's Customer field
SalesInvoice: linked SI from the Export LC
Purpose: Marks the Sales Invoice as partially/fully paid
exportLetterOfCredit: ELC Key
Entry 4 — Dr CashAtBank (records cash received)
Amount: +Receipt.Amount (positive = debit)
Account: BalanceSheetCashAtBankAccount
BankAccount: the bank account selected on the receipt
Purpose: Records the actual cash deposited into the bank
exportLetterOfCredit: ELC Key
Complete GL for Full Receipt (54,03,750):
Cr ExportLCReceivable 54,03,750 (clears receivable)
Dr ExportLCARClearing 55,00,000 (clears clearing — full LC amount)
Cr AccountsReceivable (SI) 55,00,000 (clears SI — full LC amount)
Dr Cash (Bank Account) 54,03,750 (cash received = net amount)
-------- --------
Total Dr: 1,09,03,750 Total Cr: 1,09,03,750 DR=CR
Note the asymmetry: The ExportLCARClearing and AR entries use the full LC Amount (55,00,000), while ExportLCReceivable and Cash use the net receivable (54,03,750). This imbalance equals the total fees (96,250) and is resolved by clearing the residual.
Full vs Partial Receipt Behavior
| Scenario | Receipt Amount | GL Effect | ELC Outstanding | SI Status |
|---|---|---|---|---|
| Full | Equals net receivable (54,03,750) | Accounts nearly balance; fee residual remains (96,250) | 0 | Nearly PAID |
| Partial | Less than net receivable (e.g., 50,000) | All 4 entries at 50,000 | 53,53,750 remains | UNPAID |
| Overpayment | More than net receivable (e.g., 55,00,000) | Warning shown; accounts go negative | Negative balance | PAID (with excess) |
The Fee Residual Explained
After a full receipt, these account balances remain:
| Account | Balance | Explanation |
|---|---|---|
| ExportLCReceivable | 0 | Reduced by fees at issuance (96,250), then by receipt (54,03,750) = 0 |
| ExportLCARClearing | 96,250 (credit) | Created at full LC amount (55,00,000), partially debited by receipt (54,03,750) = 96,250 |
| AccountsReceivable (SI) | 96,250 (credit) | Created at full SI amount (55,00,000), partially credited by receipt (54,03,750) = 96,250 |
The 96,250 residual equals the total fees. This is because: - At DocumentsShipped: Fees reduced ExportLCReceivable but NOT ExportLCARClearing or AR - At Receipt: Receipt amount = LC Amount - Fees, which proportionally clears all accounts - The remaining 96,250 in Clearing and AR equals the fees
Resolution: Create a Journal Entry to clear the residual:
Dr ExportLCARClearing 96,250
Cr AccountsReceivable 96,250
-> All accounts = 0
Architectural Note: The design decision was to leave the residual for the user to handle via a separate JE, giving them visibility into the clearing process rather than hiding it.
If the Export LC has a foreign currency, the clearing Journal Entry appears in the Export LC View with the exchange rate:
JE: ADJ-001 (7/5/2026) ৳ 96,250 @ 110 -$875.00
Currency Conversion Behavior
The receipt gets its currency from the linked Export Letter of Credit, not from its own fields:
Cleared / ClearDate Fields
The ExportLCReceipt model has two fields for bank reconciliation: - Cleared (bool): Whether the bank has confirmed this receipt - ClearDate (DateTime?): When the bank cleared it
ExportLCReceipt List View
Navigation: Export LC Receipts
Columns:
| Column | Source | Description |
|---|---|---|
| Date | receipt.Date |
When the receipt was created |
| Reference | receipt.Reference |
Auto-generated receipt number |
| Customer | receipt.Customer |
The exporter/customer |
| Bank Account | receipt.BankAccount |
Where the cash was deposited |
| Amount | receipt.Amount |
Amount received |
| Export Letter Of Credit | receipt.ExportLetterOfCredit |
Linked ELC reference number |
| Cleared | receipt.Cleared |
Bank reconciliation status |
Each receipt is clickable — opens the ExportLCReceipt View showing full details with drill-down to the linked Export LC.
5. Import LC Return Workflow
When you need to return goods imported via LC, you cannot simply reverse the LC because three different parties received payments:
| Party | What They Received | How to Reverse |
|---|---|---|
| Supplier | CIF value of goods | DebitNote — return the goods |
| Customs / Tax Authority | Duties, VAT, AIT, AT, WHT | Journal Entry — create receivables for refund |
| Bank | Financed portion (if paid) | Payment reversal or separate repayment |
5.1 Why Three Transactions Are Needed
When an LC is posted, the costs merge into a single inventory layer. For example:
- CIF value ($15,000) was paid to the supplier
- Duties ($10,065) were paid to customs
- VAT ($3,985) was paid to the tax authority
- AIT ($2,753) was paid to the tax authority
- Bank fees ($405) were paid to the bank — these are sunk costs (not recoverable)
A single DebitNote would only reverse the supplier portion. The duties and taxes require separate recovery from the tax authority.
5.2 Step 1 — DebitNote: Return Goods to Supplier
Create a DebitNote against the supplier for the CIF value only.
Item: Widget-X, Qty: 1,000, Amount: 16,50,000 (CIF value — NOT full landed cost)
Why only CIF?: The supplier is only responsible for the goods value. Duties and taxes were paid to the government, not the supplier.
After this entry: - Inventory layer is partially consumed (remaining = duties + landed costs) - Accounts Payable is reduced by CIF value
VAT Reporting: This DebitNote will appear in Mushak 6.8 — Debit Note report (see Section 14.8), where it is compared against the original PurchaseInvoice. The report will show the PI amount as the full landed cost (28,69,250) and the DN amount as the CIF value only (16,50,000). The VAT and SD differences reflect that those amounts are recovered separately via Journal Entry (Step 2), not through the DebitNote.
5.3 Step 2 — Journal Entry: Recover Duties & Taxes
Create a Journal Entry to reclassify duties and taxes as receivables from the tax authority:
Dr Customs Duty Receivable (new BS Asset) 10,06,500 (duties refundable)
Cr InventoryOnHand 10,06,500 (remove duties from inventory)
For VAT and Advance Income Tax:
Dr Tax Receivable — VAT reversal 3,98,475
Dr Advance Income Tax reversal 2,75,250
Cr InventoryOnHand 6,73,725
After this entry: Inventory is zero (all costs removed). Receivables from customs/tax authority are created.
Note: This Journal Entry does not appear in Mushak 6.8 — it is not a DebitNote. Mushak 6.8 only documents the physical return of goods to the supplier (Step 1 — DebitNote). Duty and tax recovery is a separate accounting process with the customs authority.
5.4 Step 3 — Payment: Repay Bank Financing
If the bank has been paid, no action is needed. If the financed portion is still outstanding:
Dr LetterOfCreditPayable 11,55,000
Cr Cash/Bank Account 11,55,000
5.5 Full Return Sample
Scenario
Original LC:
Widget-X: 1,000 units @ $15 CIF = $15,000 (BDT 16,50,000)
Duties: CD 4,12,500 + RD 49,500 + SD 4,12,500 + CVD 82,500 + ADD 33,000 + SFG 16,500
= BDT 10,06,500
Landed Costs: FRT 50,000 + INS 8,250 + ... = BDT 2,12,750
VAT: BDT 3,98,475 (15% on 26,56,500)
AIT+AT+WHT: BDT 2,75,250
Period Costs: BDT 40,500 (sunk — not recoverable)
Margin: 30% -> AP 24,30,725 / LCP 11,55,000
Return Transactions
Step 1 — DebitNote (Return goods to supplier):
Item: Widget-X, 1,000 units, Amount: 16,50,000 (CIF only)
Result: AccountsPayable reduced by 16,50,000
Step 2 — Journal Entry (Recover duties and taxes):
Dr Customs Duty Receivable (new BS Asset) 10,06,500
Dr VAT Receivable Adjustment 3,98,475
Dr Advance Income Tax Receivable 2,75,250
Cr AccountsPayable 5,45,475 (duties portion in AP)
Cr InventoryOnHand 11,34,750 (remaining inventory)
Step 3 — Payment (Repay bank):
Dr LetterOfCreditPayable 11,55,000
Cr Cash/Bank Account 11,55,000
Result After Return
| Account | Before Return | After Return |
|---|---|---|
| InventoryOnHand | 28,69,250 | 0 |
| AccountsPayable | 24,30,725 | 8,85,250 (remaining) |
| LetterOfCreditPayable | 11,55,000 | 0 |
| Customs Duty Receivable | 0 | 10,06,500 |
| VAT Receivable | 3,98,475 | 0 (reclassified) |
| AdvanceIncomeTax | 2,75,250 | 0 (reclassified) |
| LCExpense / InterestExpense | 40,500 | 40,500 (sunk — stays in P&L) |
5.6 Partial Return Sample
If only 500 of 1,000 units are returned:
Step 1 — DebitNote:
Item: Widget-X, 500 units, Amount: 8,25,000 (50% of CIF)
Step 2 — Journal Entry (50% of duties and taxes):
Dr Customs Duty Receivable 5,03,250
Dr VAT Receivable Adjustment 1,99,238
Dr Advance Income Tax Receivable 1,37,625
Cr InventoryOnHand 8,40,113
Step 3: Remaining 500 units stay in inventory at the original landed cost.
5.7 Important Notes on Returns
What the LC View Shows After a Return
The Import LC View does not change when you create a DebitNote or Journal Entry for a return. It continues to show the original data:
Total Payable: 35,85,725
Payment: PMT-001 (6/20/2026) -24,30,725
Payment: PMT-002 (6/25/2026) -11,55,000
Outstanding: 0 (Fully Paid)
This is by design — the LC View records the LC's own lifecycle. Return transactions are separate business events that happen outside the LC.
Unrecoverable Costs
After removing the goods value (CIF 16,50,000) through the DebitNote and the duties (10,06,500) and taxes (3,98,475 + 2,75,250) through Journal Entries, any remaining landed costs (2,12,750 for freight, insurance, port charges, etc.) may not be recoverable from any party. These costs were paid to third parties (shipping lines, insurers, port authorities) and must be written off as an expense.
Check Your Quantities
If a goods line on the LC has a quantity of zero, the system will not create an inventory entry for that item. Always set a quantity greater than zero on goods lines.
6. Export LC Return Workflow
When you issue a Credit Note against a Sales Invoice that was financed by an Export LC, the approach depends on timing.
6.1 Case A — Credit Note Before ExportLCReceipt
Scenario: Customer returns goods before the bank has paid.
Step 1 — Issue Credit Note to reduce the Sales Invoice by the returned amount:
Dr Revenue Account 1,00,000 (reduce revenue)
Cr AccountsReceivable 1,00,000 (reduce AR)
VAT Reporting: This Credit Note will appear in Mushak 6.7 — Credit Note report (see Section 14.7), where it is compared against the original SalesInvoice. For export sales (zero-rated), both the SI and CN sides show 0% VAT.
Step 2 — The Export LC Receipt will naturally be for the reduced amount.
Export LC Receipt for 53,03,750 (reduced by 1,00,000)
-> SI marked PAID, all accounts zero
6.2 Case B — Credit Note After ExportLCReceipt
Scenario: Customer returns goods after the bank has already paid.
Step 1 — Issue Credit Note for 1,00,000:
Dr Revenue Account 1,00,000
Cr AccountsReceivable 1,00,000
VAT Reporting: This Credit Note will appear in Mushak 6.7 — Credit Note report (see Section 14.7), showing the original SI amounts vs the CN amounts side-by-side. The VAT and SD on the CN should proportionally match the SI to properly reverse the tax position.
Step 2 — Clear the residual in ExportLCARClearing and AR:
Dr ExportLCARClearing 1,00,000
Cr AccountsReceivable 1,00,000
After this JE: All accounts return to zero.
6.3 Export LC Fee Correction
If bank fees were entered incorrectly, adjust via Journal Entry: - Check Is Export LC Adjustment = Yes - Select the Export Letter of Credit - Line: Dr ExportLCARClearing / Cr ExportLCReceivable (for the correction amount)
6.4 Important Notes on Returns
Making a Journal Entry Visible
If you create a Journal Entry to record the return (other than the CreditNote), it must have: * Is Export LC Adjustment set to Yes * The Export Letter of Credit selected
Without both settings, the entry will NOT appear in the Export LC View and will NOT affect the outstanding balance.
Bank Fees Are Not Refundable
The bank fees (96,250 in this example) are service charges for processing the LC. The bank provided this service regardless of whether the goods were later returned. These fees remain in your Profit & Loss statement as an expense. Only the commercial part of the transaction (the sale) is reversed through the CreditNote.
Foreign Currency
If the Export LC has a foreign currency, amounts are converted using the exchange rate and the rate is shown alongside each entry. If no foreign currency is set, amounts stay in the base currency regardless of the exchange rate value.
7. Domestic Supplementary Duty (SD)
7.1 What Is Domestic SD?
Domestic Supplementary Duty (SD) is an additional excise-type duty applied to certain goods sold or purchased within the local market (not on imports). It applies to:
- Luxury goods (e.g., electronics, cosmetics, branded apparel)
- Demerit goods (e.g., tobacco, alcohol, sugary drinks)
- Specific services (e.g., telecom, banking, insurance)
Unlike Import SD (which capitalizes to inventory), Domestic SD is a liability — it is collected from customers and paid to the tax authority.
7.2 Domestic SD on Sales
Scenario: You sell goods subject to 20% Supplementary Duty.
Invoice Line: Item = TV, Qty = 10, Unit Price = 50,000
Subtotal: 5,00,000
SD 20%: 1,00,000 (5,00,000 x 20%)
Total: 6,00,000
GL Posting:
Dr AccountsReceivable 6,00,000
Cr Revenue Account 5,00,000
Cr DomesticSupplementaryDutyPayable 1,00,000 (liability)
The Domestic Supplementary Duty Payable is a Balance Sheet liability — it represents SD collected from customers that must be remitted to the tax authority.
7.3 Domestic SD on Purchases
Scenario: You purchase goods subject to 20% Supplementary Duty from a local supplier.
Invoice Line: Item = Raw Material, Qty = 100, Unit Price = 1,000
Subtotal: 1,00,000
SD 20%: 20,000
Total: 1,20,000
GL Posting:
Dr Expense/Asset Account 1,00,000
Dr DomesticSupplementaryDutyPayable 20,000 (input SD — reduces liability)
Cr AccountsPayable 1,20,000
7.4 Local Purchase via LC (Domestic LC)
While LCs are typically used for international trade, they can also be used for local purchases where a bank guarantee is required.
Workflow for Local LC Purchase with SD
Example: Purchase raw materials locally via LC. The goods have 15% SD.
Step 1 — Create the Local Purchase LC:
Supplier: Local Supplier (BDT)
LC Amount: 2,00,000 (base currency)
Margin: 20% (80% bank financing)
TaxCode: Not needed (VAT handled separately)
Step 2 — Cost Lines (no foreign currency):
Line 1: Goods, Item=Raw Material-Y, Qty=500, Amount=2,00,000
Line 2: SD (use a local SD cost type), Amount=30,000 (15% x 2,00,000)
Line 3: Commission, Amount=5,000
Line 4: Interest, Amount=3,000
Step 3 — DocumentsPresented — GL Entries:
Dr InventoryOnHand (Raw Material-Y) 2,00,000 (goods only)
Dr DomesticSupplementaryDutyPayable 30,000 (SD liability — reduces what you owe)
Dr LCExpense (Commission+Interest) 8,000 (period costs to P&L)
Cr AccountsPayable (20% margin+other) 1,00,000
Cr LetterOfCreditPayable (80% financed) 1,38,000
-------- --------
Total: 2,38,000 2,38,000 DR=CR
Note: SD on a local purchase is treated as a reduction of SD liability (like input VAT), not as a capitalized cost. This is because Domestic SD is a pass-through tax, not a cost of bringing inventory to its present location.
Key Difference: Import SD vs Domestic SD
| Aspect | Import SD | Domestic SD |
|---|---|---|
| GL Account | Capitalizes to InventoryOnHand | Records to DomesticSupplementaryDutyPayable |
| Nature | Cost of inventory (IAS 2) | Pass-through tax liability |
| Include in VAT base? | Yes (part of CIF+duties base) | No (separate from VAT) |
| Recoverable? | No — it's a cost | Partially — net position with tax authority |
| On Import LC | Line type = SupplementaryDuty | Use a local SD line type |
| On Sales Invoice | N/A | Cr DomesticSupplementaryDutyPayable |
| On Purchase Invoice | N/A | Dr DomesticSupplementaryDutyPayable |
7.5 Domestic SD Transaction Line Behavior
When you create a Sales Invoice, Purchase Invoice, Debit Note, or Credit Note and select DomesticSupplementaryDutyPayable as the line account, a special field called SDInventoryItem appears automatically. This field lets you link the SD line to a specific inventory item or fixed asset for reporting purposes.
How SD Works in Each Transaction Type
| Transaction | Account Selected | SDInventoryItem Field | GL Impact |
|---|---|---|---|
| Sales Invoice | DomesticSupplementaryDutyPayable | Select a sale item | Cr DomesticSDPayable (SD collected from customer) |
| Purchase Invoice | DomesticSupplementaryDutyPayable | Select a purchase item | Dr DomesticSDPayable (SD paid to supplier/tax authority) |
| Debit Note | DomesticSupplementaryDutyPayable | Select a purchase item | Dr DomesticSDPayable (reverses SD payable) |
| Credit Note | DomesticSupplementaryDutyPayable | Select a sale item | Cr DomesticSDPayable (reverses SD receivable) |
Behavior for Inventory Items vs Fixed Assets
Domestic SD is a pass-through tax liability, NOT a capitalized cost. This is a critical distinction from Import SD (which capitalizes to inventory). Domestic SD behaves identically regardless of whether the underlying item is inventory or a fixed asset:
| Scenario | Underlying Item | SD GL Entry | Inventory Cost Impact | FA Cost Impact |
|---|---|---|---|---|
| Sales Invoice | Inventory Item | Cr DomesticSDPayable | None | None |
| Sales Invoice | Fixed Asset | Cr DomesticSDPayable | None | None |
| Sales Invoice | Non-Inventory Item | Cr DomesticSDPayable | None | None |
| Purchase Invoice | Inventory Item | Dr DomesticSDPayable | Item cost capitalizes at net amount | None |
| Purchase Invoice | Fixed Asset | Dr DomesticSDPayable | None | FA cost capitalizes at net amount |
| Purchase Invoice | Non-Inventory Item | Dr DomesticSDPayable | None | None |
| Debit Note | Any | Dr DomesticSDPayable | Reverses item cost at net amount | Reverses FA cost |
| Credit Note | Any | Cr DomesticSDPayable | Reverses item cost at net amount | Reverses FA cost |
Key rule: The SD amount is recorded as a liability change, not a cost. It does not increase or decrease the inventory layer or fixed asset value. SD is: - Collected from customers (Cr SD Payable) on sales - Paid to suppliers/tax authority (Dr SD Payable) on purchases - The net balance of DomesticSupplementaryDutyPayable = amount owed to (or receivable from) the tax authority
The SDInventoryItem vs Regular Item Field
Each transaction line has two separate item fields:
| Field | Always Visible? | What It Does |
|---|---|---|
| Item | Yes (on normal lines) | The product/service being transacted. Determines revenue/expense account, inventory movement, and COGS. |
| SDInventoryItem | Only when Account = DomesticSupplementaryDutyPayable | Links the SD line to an item for SD reporting (Mushak forms). Does NOT affect revenue, expense, inventory, or COGS. |
Example — Sales Invoice with both Item and SD:
Line 1: Item = LCD TV, Account = Revenue, Qty = 5, Amount = 4,00,000
Line 2: Account = DomesticSupplementaryDutyPayable, SDInventoryItem = LCD TV, Amount = 80,000
GL:
Dr AccountsReceivable 4,80,000
Cr Revenue (LCD TV) 4,00,000
Cr DomesticSupplementaryDutyPayable 80,000
Result: Revenue = 4,00,000 (correct — SD is NOT revenue)
SD Payable = 80,000 (correct — liability to tax authority)
Inventory movement: LCD TV 5 units sold at cost (SD does not affect COGS)
How SD Lines Are Identified for Reporting
The system identifies Domestic SD lines by checking if the line's Account GUID matches BalanceSheetDomesticSupplementaryDutyPayableAccount. When found, the line is classified as SD for: - Mushak 6.2: VAT return — SD component shown separately from VAT - Mushak 6.3: Supplementary Duty report — per-item SD breakdown using SDInventoryItem - Mushak 6.6: Purchase/Sales summary — SD classified alongside regular transactions
The SDInventoryItem field enables the system to: 1. Calculate the effective SD rate per item (SD Amount / Item Value) 2. Report per-item SD totals for customs and tax audits 3. Proportionally allocate unassigned SD across items
7.6 SD Reporting (Mushak)
The system provides Supplementary Duty reporting for Mushak VAT compliance. This:
- Scans all Import LCs in a date range to compute the SD rate for each imported item
- Calculates SD rate = Total SD Amount / Total CIF Amount (as a percentage)
- Provides per-item SD totals for Mushak form 6.3 (Supplementary Duty report)
- Handles unassigned SD — proportionally allocates across items by CIF weight
This is used for: - Mushak 6.3: Supplementary Duty report - Mushak 6.2: VAT return (SD component) - Customs valuation: SD rate on imported goods
7.7 Domestic SD Sample Data
Sample 1: Domestic Sales with SD
Sales Invoice to Customer ABC:
Item: LCD TV, Qty: 5, Unit Price: 80,000
Subtotal: 4,00,000
SD 20%: 80,000
VAT 15%: 60,000 (on 4,00,000)
Total: 5,40,000
GL:
Dr AccountsReceivable 5,40,000
Cr Revenue 4,00,000
Cr DomesticSupplementaryDutyPayable 80,000
Cr Tax Payable (VAT) 60,000
Sample 2: Domestic Purchase with SD
Purchase Invoice from Supplier XYZ:
Item: Raw Material, Qty: 200, Unit Price: 5,000
Subtotal: 10,00,000
SD 15%: 1,50,000
VAT 15%: 1,50,000
Total: 13,00,000
GL:
Dr Raw Material Inventory 10,00,000
Dr DomesticSupplementaryDutyPayable 1,50,000 (reduces SD liability)
Dr Tax Receivable (VAT) 1,50,000
Cr AccountsPayable 13,00,000
Sample 3: Net SD Position
Opening SD Payable: 5,00,000 (collected from customers)
SD on Purchases (input): (1,50,000) (paid to suppliers)
SD on Import LC local line: (30,000) (paid on import)
Net SD Payable to Tax Authority: 3,20,000
When remitted:
Dr DomesticSupplementaryDutyPayable 3,20,000
Cr Cash/Bank Account 3,20,000
8. Sample Data — Import LC (Multi-Item + FA + System pre-seeded 34 Types)
Scenario
| Detail | Value |
|---|---|
| Item A: Widget-X | 1,000 units @ $15/unit CIF = $15,000 |
| Item B: Gadget-Y | 500 units @ $10/unit CIF = $5,000 |
| FA: Machine-Z | 1 unit @ $20,000 CIF |
| Exchange Rate | USD 1 = BDT 110 |
| Margin | 30% |
| Supplier | China Trading Co. |
System pre-seeded 34 Cost Lines Entered
The TaxCode column shows which lines need a TaxCode set. Only Goods lines with inventory items (FA or regular) should have a TaxCode — this is where VAT is calculated on the merged CIF + duties base.
| # | Code | Name | Item | Qty | TaxCode | Amount(USD) | Amount(BDT) |
|---|---|---|---|---|---|---|---|
| 1 | CIF | Goods (CIF) | Widget-X | 1000 | VAT-15% | 15,000 | 16,50,000 |
| 2 | CIF | Goods (CIF) | Gadget-Y | 500 | VAT-15% | 5,000 | 5,50,000 |
| 3 | CIF | Goods (CIF) | Machine-Z | 1 | VAT-15% | 20,000 | 22,00,000 |
| 4 | CD | Customs Duty | Widget-X | — | Not needed | 3,750 | 4,12,500 |
| 5 | CD | Customs Duty | Gadget-Y | — | Not needed | 1,250 | 1,37,500 |
| 6 | SD | Supplementary Duty | Widget-X | — | Not needed | 1,500 | 1,65,000 |
| 7 | RD | Regulatory Duty | Gadget-Y | — | Not needed | 500 | 55,000 |
| 8 | FRT | Freight | (shared) | — | Not needed | 2,000 | 2,20,000 |
| 9 | INS | Insurance | (shared) | — | Not needed | 500 | 55,000 |
| 10 | PRT | Port Charges | (shared) | — | Not needed | 250 | 27,500 |
| 11 | BRK | Customs Brokerage | (shared) | — | Not needed | 318 | 35,000 |
| 12 | INSP | Inspection Fee | (shared) | — | Not needed | 109 | 12,000 |
| 13 | CER | Certificate Fee | (shared) | — | Not needed | 45 | 5,000 |
| 14 | DMR | Demurrage | (shared) | — | Not needed | 205 | 22,500 |
| 15 | WHR | Warehousing | (shared) | — | Not needed | 136 | 15,000 |
| 16 | INT | Internal Handling | (shared) | — | Not needed | 91 | 10,000 |
| 17 | ROY | Royalty | (shared) | — | Not needed | 91 | 10,000 |
| 18 | COM | Commission | (none) | — | Not needed | 75 | 8,250 |
| 19 | INT_R | Interest | (none) | — | Not needed | 75 | 8,250 |
| 20 | BNK | Bank Fee | (none) | — | Not needed | 27 | 3,000 |
| 21 | LCC | LC Commission | (none) | — | Not needed | 45 | 5,000 |
| 22 | CNF | Confirmation Charge | (none) | — | Not needed | 41 | 4,500 |
| 23 | NEG | Negotiation Charge | (none) | — | Not needed | 32 | 3,500 |
| 24 | FX | FX Margin | (none) | — | Not needed | 18 | 2,000 |
| 25 | SWF | Swift Charges | (none) | — | Not needed | 14 | 1,500 |
| 26 | AMD | Amendment Fee | (none) | — | Not needed | 18 | 2,000 |
| 27 | DSC | Discrepancy Fee | (none) | — | Not needed | 23 | 2,500 |
| 28 | AIT | Advance Income Tax | (none) | — | Not needed | 1,176 | 1,29,375 |
| 29 | AT | Advance Tax | (none) | — | Not needed | 1,176 | 1,29,375 |
| 30 | WHT | Withholding Tax | (none) | — | Not needed | 150 | 16,500 |
VAT is calculated only on the 3 Goods lines. The system takes the CIF value, adds all duties with VAT base inclusion, and applies the TaxCode rate to the merged total:
Widget-X VAT: CIF 16,50,000 + CD 4,12,500 + SD 1,65,000 = 22,27,500 x 15% = 3,34,125
Gadget-Y VAT: CIF 5,50,000 + CD 1,37,500 + RD 55,000 = 7,42,500 x 15% = 1,11,375
Machine-Z VAT: CIF 22,00,000 (FA — no duties merge) x 15% = 3,30,000
Total VAT: 3,34,125 + 1,11,375 + 3,30,000 = 7,75,500
How the System Processes This
The system groups costs by inventory item and processes them:
Widget-X Merge Bucket:
CIF: 16,50,000
CD: 4,12,500
SD: 1,65,000
---------
Subtotal CIF+Duties: 22,27,500 (VAT base)
Pro-rata Freight: 82,500 (from shared FRT)
Pro-rata Insurance: 20,625 (from shared INS)
Pro-rata other landed: 1,03,750 (from 12 other shared types)
---------
Total per unit: 24,34,375
Gadget-Y Merge Bucket:
CIF: 5,50,000
CD: 1,37,500
RD: 55,000
---------
Subtotal CIF+Duties: 7,42,500 (VAT base)
Pro-rata Freight: 27,500
Pro-rata Insurance: 6,875
Pro-rata other landed: 69,167
---------
Total per unit: 8,46,042
Machine-Z FA (no merge — posts directly):
FA CIF: 22,00,000
Pro-rata FRT: 1,10,000
Pro-rata INS: 27,500
---------
Total: 23,37,500 -> FixedAssetsAtCost
GL Output
Dr InventoryOnHand (Widget-X) 24,34,375
Dr InventoryOnHand (Gadget-Y) 8,46,042
Dr FixedAssetsAtCost (Machine-Z) 23,37,500
Dr TaxReceivable (Widget-X VAT @15%) 3,34,125
Dr TaxReceivable (Gadget-Y VAT @15%) 1,11,375
Dr LCExpense (Commission, BankFee, LCC...) 34,500
Dr InterestExpense 8,250
Dr AdvanceIncomeTax (AIT+AT+WHT) 2,75,250
--------
Total Debits: 63,81,417
Cr AccountsPayable (margin 30%+other) 31,99,727
Cr LetterOfCreditPayable (financed 70%) 31,81,690
--------
Total Credits: 63,81,417 DR = CR
Inventory Layers After Posting
| Item | Qty | Amount | Unit Cost |
|---|---|---|---|
| Widget-X | 1,000 | 24,34,375 | 2,434.38 |
| Gadget-Y | 500 | 8,46,042 | 1,692.08 |
| Machine-Z | 1 (FA) | 23,37,500 | (Fixed Asset register) |
Liability Split
Total Debits: 63,81,417
LC Amount (inventory goods CIF): 16,50,000 + 5,50,000 = 22,00,000
Margin 30%: 22,00,000 x 30% = 6,60,000
Financed 70%: 22,00,000 x 70% = 15,40,000
Other costs: 63,81,417 - 22,00,000 = 41,81,417
AP Portion: 41,81,417 + 6,60,000 = 48,41,417
LCP Portion: 63,81,417 - 48,41,417 = 15,40,000
9. Sample Data — Export LC (With Fees)
Scenario
| Detail | Value |
|---|---|
| Customer | ABC Trading (Germany) |
| Sales Invoice | SI-2026-042 for BDT 55,00,000 |
| LC Amount | 55,00,000 |
| Bank Fees | Commission 55,000 + LCC 33,000 + Swift 8,250 = 96,250 |
| Status | DocumentsShipped |
Step 1: DocumentsShipped
Dr ExportLCReceivable (Bank) 55,00,000
Dr LCExpense (Commission) 55,000
Dr LCExpense (LC Commission) 33,000
Dr LCExpense (Swift Charges) 8,250
Cr ExportLCReceivable (fee reduction) 96,250
Cr ExportLCARClearing (temporary) 55,00,000
-------- --------
Total Debits: 55,96,250 Total Credits: 55,96,250
Net Receivable: 54,03,750
SI Status: UNPAID (ExportLCARClearing holds the credit)
Step 2: ExportLCReceipt (Full Payment)
Cr ExportLCReceivable 54,03,750
Dr ExportLCARClearing 55,00,000
Cr AccountsReceivable (SI-2026-042) 55,00,000
Dr Cash (Bank Account) 54,03,750
Step 3: Verify All Accounts
| Account | Before Export LC | DocumentsShipped | Receipt | Final |
|---|---|---|---|---|
| ExportLCReceivable | 0 | +55,00,000 -96,250 | -54,03,750 | 0 |
| ExportLCARClearing | 0 | -55,00,000 | +55,00,000 | 0 |
| AccountsReceivable (SI) | -55,00,000 | 0 | +55,00,000 | 0 |
| Cash | 0 | 0 | +54,03,750 | +54,03,750 |
| LCExpense | 0 | +96,250 | 0 | +96,250 (P&L) |
Step 4: Clear Residual (If Needed)
After receipt, a 96,250 residual (equal to fees) may remain in ExportLCARClearing and AR. Clear via Journal Entry:
Dr ExportLCARClearing 96,250
Cr AccountsReceivable 96,250
-> All accounts zero
10. Field-by-Field Analysis & Fallback Chains
10.1 Import LC Header Fields
| Field | If Set | If Not Set / Blank |
|---|---|---|
| Date | Used on all GL entries | Date defaults to MinValue — avoid |
| Reference | Used for display and links | Auto-generated if AutomaticReference enabled |
| Description | Displayed on LC view | No financial impact |
| IssueDate | Display only | No financial impact |
| ExpiryDate | Display only | No financial impact |
| MaturityDate | Enables interest accrual | Interest accrual disabled |
| Supplier | AP entry carries supplier reference | AP goes to supplier allocation pool |
| BankAccount | Used for payment pre-fill | Payment form won't pre-fill |
| MarginAccount | Display only | No impact |
| Category | Display only | No financial impact at all |
| Status | DocumentsPresented/Paid = GL entries created | Other statuses = no entries |
| LCCurrency | All amounts converted at ExchangeRate | Treated as base currency |
| LCAmount | Used for margin/financing split | 0 = no split, all to AP |
| MarginPercent | 1-99 = split AP/LCP; 0 or 100 = all AP | 0 if blank |
| ExchangeRate | Converted if > 0 and LCCurrency set | 0 = no conversion |
| ExchangeRateIsInverse | Amount / rate instead of amount x rate | Standard direct rate |
| InterestRate | Enables interest accrual if > 0 | Accrual disabled if 0 |
| InterestBasis | 360 or 365 day count | Defaults to 360 |
| Has Foreign Currency | (System-calculated) | LC Currency is set AND Exchange Rate is greater than 1 |
| PaymentSchedule | Array of DueDate + Amount + LCPaymentType for cash flow forecasting | Cash flow forecasting only. No GL impact. It is planned for a later release. |
| Division | Falls through to cost lines, then supplier, then null | Null if all fallbacks fail |
| Project | Passed to all cost line entries | Null if not set |
10.2 Cost Line Fields
| Field | If Set | If Not Set / Blank |
|---|---|---|
| InventoryItem (Goods) | Creates merge bucket, capitalizes correctly | Suspense — cost lost |
| InventoryItem (Duty) | Merges into item's bucket | Falls to shared allocation or standalone |
| InventoryItem (LandedCost) | Direct assignment to item | Pro-rata allocated by CIF weight |
| InventoryItem (PeriodCost) | Ignored | Ignored — always goes to P&L |
| InventoryItem (TaxAsset) | Ignored | Ignored — always to AdvanceIncomeTax |
| FixedAsset | Posts to FixedAssetsAtCost | Normal inventory routing |
| Qty (Goods) | Adds quantity to layer | Merge output skipped — cost lost |
| Qty (LandedCost) | Ignored (no phantom qty) | Correct — value-only addition |
| Amount | Used in all GL entries | 0 = zero GL entry |
| TaxCode (Goods) | VAT calculated on merged CIF+Duties base | No VAT entry created |
| TaxCode (other lines) | Only processed on Goods and FA lines | Ignored |
| CostTypeSetting | Determines GL routing, capitalization, VAT base | Falls back to legacy enum -> Goods/CIF |
| OverrideGLAccount | Bypasses default GL routing | Default routing from cost type setting used |
| Division | Used for this cost line | Falls back to LC header Division |
| Project | Used for this cost line | Falls back to LC header Project |
| Description | Displayed on LC view | No financial impact |
10.3 Export LC Header Fields
| Field | If Set | If Not Set / Blank |
|---|---|---|
| Customer | Receivable and AR entries carry customer reference | Receipt pre-fill fails |
| SalesInvoice | AR entry carries SI reference -> SI correctly reduced | AR enters matching pool (may match wrong SI) |
| LCAmount | Dr ExportLCReceivable / Cr ExportLCARClearing | No GL entries |
| LCCurrency | All amounts converted at ExchangeRate | Base currency used |
| ExchangeRate | Conversion applied if > 0 | 0 = no conversion |
| FeeLines | Fees reduce net receivable | Full amount = net receivable |
| Status | DocumentsShipped/Paid = GL created | Other statuses = no entries |
| Division | Passed to all GL entries | Null |
| Project | Passed to all GL entries | Null |
| MaturityDate | Enables interest accrual | Accrual disabled |
| InterestRate | Enables interest accrual if > 0 | Accrual disabled |
10.4 Export LC Receipt Fields
| Field | If Set | If Not Set / Blank |
|---|---|---|
| Amount | 4 proportional GL entries created | 0 = no entry |
| BankAccount | Dr Cash to this account | NO GL entries created |
| Customer | AR entry carries customer reference | Must match Export LC |
| ExportLetterOfCredit | Links receipt for tracking | Not tracked in LC View |
11. Currency Configuration
What To Do
- Navigate to Settings > Currencies > New ForeignCurrency
- Enter: - Code: USD (or EUR, GBP, etc.) - Name: US Dollar - Exchange Rate: Current market rate (e.g., 110 = 1 USD = 110 BDT) - Exchange Rate Is Inverse: Leave unchecked (standard format)
How It Works
- Set
LC Currency = USDandExchange Rate = 110on the LC header - All cost line amounts are treated as USD
- Each amount is converted: $1,000 x 110 = BDT 110,000
- Both USD and BDT amounts are stored in the General Ledger
- At period-end, the system revalues outstanding LC monetary accounts (LCP, ExportLCReceivable, ExportLCARClearing) at the current exchange rate, posting gain/loss to Currency Gains/Losses in P&L
Without Currency
Leave LC Currency empty and Exchange Rate at 0. All amounts are treated as base currency. No conversion occurs.
12. TaxCode Requirements
Which Lines Need a TaxCode
| Line Type | Need TaxCode? | Why |
|---|---|---|
| Goods (CIF) — with InventoryItem | Yes | VAT is calculated on the merged CIF + duties base |
| Goods (CIF) — FixedAsset | Yes | VAT calculated on this line's amount |
| Duties (all 6 types) | No | Duties are inputs to the VAT base, not separate VAT subjects |
| Landed Costs (all 14 types) | No | Not included in VAT base |
| Period Costs (all 10 types) | No | P&L items — no VAT |
| Tax Assets (AIT, AT, WHT) | No | Income tax, not VAT |
How the VAT Base Is Computed
When you set a TaxCode on the Goods line, the system automatically:
- Takes the CIF value of the goods
- Adds all duties that have the
Include in VAT Baseflag set (CD, RD, SD, CVD, ADD, SFG) - Calculates VAT = Total x TaxCode Rate
- Creates a separate GL entry: Dr Tax Receivable / Cr Tax Payable
Example:
CIF: 16,50,000
CD: 4,12,500
RD: 49,500
SD: 4,12,500
CVD: 82,500
ADD: 33,000
SFG: 16,500
--------
VAT Base: 26,56,500
VAT 15%: 3,98,475
GL: Dr TaxReceivable 3,98,475 / Cr TaxPayable 3,98,475
What Happens If No TaxCode
No VAT entry is created. The Tax Receivable and Tax Payable accounts show no movement from this LC. If VAT was expected, the financial statements will be understated.
TaxCode on DomesticSupplementaryDutyPayable Lines (PI / SI / DN / CN)
⚠️ WARNING: Do NOT set TaxCode on DomesticSupplementaryDutyPayable lines.
This is one of the most common user errors. Here is what happens and why it is wrong.
What Happens If You Set TaxCode on a DomesticSD Line
When a transaction line has: - Account = DomesticSupplementaryDutyPayable - TaxCode = VAT-15% (set by user)
The GL posting engine will create a separate VAT entry on the SD amount:
Example: Sales Invoice with user error
Line 1: Item=TV, Account=Revenue, Amount=1,00,000, TaxCode=VAT-15% (CORRECT)
Line 2: Account=DomesticSDPayable, Amount=20,000, TaxCode=VAT-15% (USER ERROR)
GL entries created:
Dr AccountsReceivable 1,20,000
Cr Revenue 1,00,000 (correct)
Cr DomesticSupplementaryDutyPayable 20,000 (correct — SD liability)
Dr AccountsReceivable 23,000 (VAT on revenue — correct)
Cr TaxPayable 23,000
Dr AccountsReceivable 3,000 (VAT on SD amount — WRONG!)
Cr TaxPayable 3,000
Total VAT: 26,000 (23,000 + 3,000) — OVERSTATED by 3,000 ❌
The third entry (VAT on SD amount) is incorrect accounting.
Why This Is Wrong — Accounting & NBR Regulations
| Regulation | Violation |
|---|---|
| NBR VAT Act 2012, Section 3 | VAT is chargeable on the supply of goods or services (the item value). SD is a separate excise-type duty, not a supply. VAT on SD would be tax-on-tax. |
| NBR SRO 142 (VAT Rules) | Supplementary Duty and VAT are parallel computations on the same base (item value). SD is NOT an input to VAT calculation. |
| Tax Cascading Prohibition | Most VAT regimes prohibit cascading (tax on tax). VAT on SD is a cascading tax — the SD itself is already a tax on the item. |
| IAS 12 / Income Tax Ordinance | SD is a pass-through liability collected on behalf of the tax authority. It is not a supply of goods/services and does not attract VAT. |
| NBR Mushak 6.3 Reporting | The SD amount is reported separately from VAT on form 6.3. VAT on SD would cause reconciliation mismatches with NBR filings. |
The Correct Approach
| Transaction Type | Which Line Gets TaxCode | Which Line Does NOT Get TaxCode |
|---|---|---|
| Sales Invoice | Revenue / Item line (the product being sold) | DomesticSupplementaryDutyPayable line |
| Purchase Invoice | Expense / Item line (the product being bought) | DomesticSupplementaryDutyPayable line |
| Debit Note | Item reversal line | DomesticSupplementaryDutyPayable line |
| Credit Note | Item reversal line | DomesticSupplementaryDutyPayable line |
Correct example:
Sales Invoice line 1: Item=TV, Account=Revenue, Amount=1,00,000, TaxCode=VAT-15% ✅
Sales Invoice line 2: Account=DomesticSDPayable, Amount=20,000, TaxCode=(BLANK) ✅
GL entries:
Dr AccountsReceivable 1,20,000
Cr Revenue 1,00,000
Cr DomesticSupplementaryDutyPayable 20,000
Dr AccountsReceivable 15,000 (VAT on 1,00,000 — correct)
Cr TaxPayable 15,000
Total VAT: 15,000 ✅ (no tax-on-tax)
SD Payable: 20,000 ✅ (separate liability)
The SDInventoryItem Field Is for Reporting, Not Tax
The SDInventoryItem field on SD lines exists to: - Track which items are subject to Supplementary Duty for Mushak 6.3 reporting - Calculate effective SD rate per item - It does NOT trigger VAT calculation
So SDInventoryItem is safe to set. TaxCode on SD lines is NOT safe.
TaxCode on Non-Goods Lines in Import/Export LCs
Setting TaxCode on Duties, Landed Costs, Period Costs, or Tax Asset lines in an LC has NO effect — it is silently ignored.
What Happens
The LC posting engine only processes TaxCode in exactly three places:
| LC Cost Line Type | TaxCode Checked? | What Happens If Set |
|---|---|---|
| Goods (CIF) with InventoryItem | ✅ Yes | VAT calculated on merged CIF + duties base |
| Goods (CIF) with FixedAsset | ✅ Yes | VAT calculated on this line's amount |
| Duties (CD, RD, SD, CVD, ADD, SFG) | ❌ Never checked | Silently ignored — no VAT entry created |
| Landed Costs (FRT, INS, PRT, etc.) | ❌ Never checked | Silently ignored — no VAT entry created |
| Period Costs (COM, INT_R, BNK, etc.) | ❌ Never checked | Silently ignored — no VAT entry created |
| Tax Assets (AIT, AT, WHT) | ❌ Never checked | Silently ignored — no VAT entry created |
The TaxCode value on non-Goods lines is stored in the cost line data but never read by the posting engine. No error is raised, no warning is shown — the TaxCode is simply not processed.
Why This Is Correct Per NBR Regulations
| Regulation | Explanation |
|---|---|
| NBR VAT Act 2012, Section 4(2) | VAT base for imports = Assessable Value which is CIF + all customs duties (CD + RD + SD + CVD + ADD + Safeguard). Individual cost lines like freight, insurance, port charges are components of the landed cost, not separate VAT subjects. |
| Customs Act 1969, Section 25 | Duties are calculated on the CIF value. The VAT is then calculated on the duty-inclusive value. Duties are NOT separate VAT subjects — they are inputs to the VAT base calculation. |
| IAS 2 (Inventories) | All landing costs (freight, insurance, port, brokerage, etc.) are costs to bring inventory to its present location. They capitalize into the inventory layer and do not create separate tax events. |
Where Should TaxCode Be Set in an LC?
| Line | TaxCode? | Action |
|---|---|---|
| Goods (CIF) line — the primary product line | Yes — Set TaxCode here | This is where VAT is calculated |
| All Duties (CD through SFG) | No | They are inputs to the VAT base, not separate VAT subjects |
| All Landed Costs (FRT through CNS) | No | They capitalize to inventory, not separate tax events |
| All Period Costs (COM through DSC) | No | P&L items — no VAT |
| All Tax Assets (AIT, AT, WHT) | No | Income tax, not VAT |
Example — Correct TaxCode placement in LC cost lines:
Line 1: Goods (CIF), Item=Widget-X, Qty=1000, Amount=16,50,000, TaxCode=VAT-15% ✅
Line 2: Customs Duty (CD), Item=Widget-X, Amount=4,12,500, TaxCode=(BLANK) ✅
Line 3: Freight (FRT), Amount=50,000, TaxCode=(BLANK) ✅
Line 4: Commission (COM), Amount=8,250, TaxCode=(BLANK) ✅
Line 5: AIT, Amount=1,29,375, TaxCode=(BLANK) ✅
VAT is calculated on: CIF 16,50,000 + CD 4,12,500 = 20,62,500 x 15% = 3,09,375 ✅
13. Status Lifecycle — GL Creation Matrix
Import LC Statuses
| No Entry | Posted | Remain | Reversed
| (Off-BS) | (On-BS) | (On-BS) | (Removed)
------------------+--------------+------------+------------+-------------
Draft (0) | X | | |
Opened (1) | X | | |
DocumentsPresented| | X | |
Paid (3) | | | X |
Closed (4) | | | | X
Cancelled (5) | | | | X
Key Rules: - Draft/Opened: No GL entries. LC is off-balance-sheet (contingent liability per IAS 37). - DocumentsPresented: GL entries CREATED. All costs recorded, liabilities split. - Paid: GL entries PERSIST. Same as DocumentsPresented. - Closed/Cancelled: GL entries REVERSED. All prior entries negated. - Changing FROM DocumentsPresented/Paid to any other status = Full reversal. - Changing between Draft/Opened (both reversed) = no change. - Changing between Closed/Cancelled (both reversed) = no change.
Export LC Statuses
| No Entry | Posted | Remain | Reversed
Draft (0) | X | | |
Opened (1) | X | | |
DocumentsShipped | | X | |
Paid (3) | | | X |
Closed (4) | | | | X
Cancelled (5) | | | | X
Reversal Behaviour
Changing the LC status affects accounting entries as follows:
- DocumentsPresented / DocumentsShipped and Paid — entries are posted normally
- Draft, Opened, Closed, Cancelled — all entries are reversed (every amount is negated)
When you change to a reversing status, the system shows a warning if there are any linked transactions (payments, receipts, adjustments). Review these linked documents before proceeding. Reversal should only be used when fully closing or cancelling an LC.
14. Reports & Output
14.1 LC View (Import)
Where: Click an LC from the Letters of Credit list.
What It Shows:
--------------------------------------------------
| Letter of Credit |
--------------------------------------------------
| LC Number: LC-2026-001 |
| Issue Date: 5/1/2026 |
| Expiry Date: 8/1/2026 |
| Maturity Date: 8/1/2026 |
| Supplier: China Trading Co. |
| LC Amount: BDT 16,50,000 |
| Margin: 30% |
| Interest Rate: 10% (Days360) |
| Status: DocumentsPresented |
--------------------------------------------------
| # Cost Type Item Qty Amount |
| 1 Goods (CIF) Widget-X 1000 16,50K |
| 2 Customs Duty Widget-X 4,12K |
| ... (system pre-seeded all 34 cost lines) |
--------------------------------------------------
| Sub-totals: |
| CIF + Duties 26,56,500 |
| Landed Costs 2,12,750 |
| Period Costs 40,500 |
| AIT + AT + WHT 2,75,250 |
| Total 31,85,000 |
| VAT-15% (on 26,56,500) 3,98,475 |
| Total Payable 35,83,475 |
--------------------------------------------------
| Payment History: |
| 5/30/2026 — Payment -24,28,475 |
| 6/15/2026 — Payment -11,55,000 |
| Outstanding: 0 |
| Payment Status: Fully Paid |
| |
| [Accrue Interest] [Reset Accrual] [New Payment] |
--------------------------------------------------
14.2 Export LC View
Where: Click an Export LC from the Export Letters of Credit list.
--------------------------------------------------
| Export Letter of Credit |
--------------------------------------------------
| LC Number: ELC-2026-001 |
| Customer: ABC Trading (Germany) |
| Sales Invoice: SI-2026-042 |
| LC Amount: BDT 55,00,000 |
| Interest Rate: 5% (Days360) |
| Status: DocumentsShipped |
--------------------------------------------------
| # Fee Type Amount |
| 1 Commission 55,000 |
| 2 LC Commission 33,000 |
| 3 Swift Charges 8,250 |
| Total Fees 96,250 |
| Net Receivable 54,03,750 |
| |
| Receipts: EXP-RCPT-001 -54,03,750 |
| Outstanding: 0 |
| Payment Status: Fully Paid |
| |
| [Accrue Interest] [Reset Accrual] [Receive] |
--------------------------------------------------
14.3 LC Exposure Report (Import)
Where: Reports > LC Exposure Report
Parameters: Date range, Division (optional), Project (optional), Supplier (optional)
LC# Supplier Div IssueDate LC Amount Int% TotalPayable VAT LandedCost Outstanding Status
LC-001 ChinaTrading Dhaka 5/1/2026 16,50,000 10% 35,83,475 3,98K 28,69,250 0 Paid
LC-002 JapanCorp Dhaka 6/1/2026 25,00,000 5% 52,00,000 6,00K 42,00,000 12,00,000 DocPresented
Can group by supplier to show sub-totals per supplier.
14.4 Export LC Exposure Report
Where: Reports > Export LC Exposure Report
ELC# Customer LC Amount Fees Net Recvble Received Outst Status
ELC-001 ABC Germany 55,00,000 96,250 54,03,750 54,03,750 0 Paid
ELC-002 France SA 30,00,000 50,000 29,50,000 5,00,000 24,50K DocShipped
14.5 Balance Sheet / Trial Balance / P&L Impact
Balance Sheet:
Assets: Liabilities:
InventoryOnHand 28,69,250 AccountsPayable 0
AdvanceIncomeTax 2,75,250 LetterOfCreditPayable 0
TaxReceivable 3,98,475 LCAccrualInterestPayable 0
ExportLCReceivable 0
Equity:
Retained Earnings (P&L) (40,500)
Trial Balance:
Account Debits Credits
InventoryOnHand 28,69,250
AdvanceIncomeTax 2,75,250
TaxReceivable 3,98,475
LCExpense 34,500
InterestExpense 6,000
AccountsPayable 24,30,725
LetterOfCreditPayable 11,55,000
-------- --------
Total 35,83,475 35,83,475 DR = CR
Profit & Loss Statement:
Revenue 0
LC Bank Charges 34,500
Interest Expense 6,000
Net Loss (40,500)
Note: Only period costs appear in P&L. All other costs are either capitalized to inventory or recorded as BS assets.
14.6 Mushak 6.1 — VAT Return (Basic)
Where: Reports > Mushaks > Mushak 6.1
Purpose: Monthly/quarterly VAT return summarizing total output VAT (sales) and input VAT (purchases) for the period.
How LC Data Appears: - Import LC VAT (from TaxCode on Goods lines) appears in Input VAT column - Export LC is VAT-exempt (exports are zero-rated) — not included
Mushak 6.1 — VAT Return
Period: June 2026
Description Value Output VAT Input VAT
Sales of goods (local) 50,000 7,500
Sales of goods (export) 55,000 0 (zero-rated)
Import via LC (Widget-X) 16,50,000 3,34,125
Import via LC (Gadget-Y) 5,50,000 1,11,375
Local purchases 10,00,000 1,50,000
-------- -------- --------
Total 32,50,000 7,500 5,95,500
Net VAT Payable: 7,500 - 5,95,500 = (5,88,000) Refundable
14.7 Mushak 6.7 — Credit Note (Sales Return)
Where: Reports > Mushaks > Mushak 6.7
Purpose: Official VAT document for sales returns and adjustments. Compares the original SalesInvoice against the CreditNote side-by-side for quantity, amount, VAT, and Supplementary Duty.
Relation to Export LC Return (Section 6): When an Export LC return occurs (Section 6.2 — Case B), the Credit Note issued after receipt is documented by this report. The report shows both the original SI and the CN amounts, enabling the VAT authority to verify the return.
How the Handler Calculates Values (Two-pass algorithm):
Pass 1 — Collect SD amounts by SDInventoryItem from both SI and CN lines.
For each SI line group:
If IsLocalSdLine is true → SD detected
sdByItem67[SDInventoryItem] += Sum(non-tax BaseAmount) = sd amount
For each CN line group:
Same IsLocalSdLine check → sdByItemCn67
Pass 2 — Aggregate non-SD goods lines:
SI side:
siAmount = Sum(BaseAmount * -1m) (sales are credit-side, amount inverted)
siQty = abs(Qty)
siSdAmount = Sum(sdByItem67 values)
siTaxAmount = Abs(Sum of IsTaxTransaction BaseAmount with TaxComponent)
CN side:
cnAmount = BaseAmount (CN is debit-side, no inversion)
cnQty = abs(Qty)
cnSdAmount = Sum(sdByItemCn67 values)
cnTaxAmount = Abs(Sum of IsTaxTransaction BaseAmount with TaxComponent)
SD Detection: Lines are identified as SD when their Account matches BalanceSheetDomesticSupplementaryDutyPayableAccount. The SDInventoryItem field on the transaction line links the SD to a specific inventory item.
VAT Calculation: Taken directly from GL transactions with IsTaxTransaction = true and non-empty TaxComponent. This is the actual VAT posted, not a computed value.
Sample Output — Export LC Return (from Section 6.2 — Case B):
Mushak 6.7 — Credit Note
Period: June 2026
Related SI: SI-2026-042
Reason: Goods returned by customer
Original SI Credit Note Difference
Amount 55,00,000 1,00,000 54,00,000
Quantity 500 0 500
VAT Amount 0 0 0 (zero-rated export)
SD Amount 0 0 0
Sample Output — Domestic SD Sales Return:
Mushak 6.7 — Credit Note
Period: June 2026
Related SI: SI-2026-050
Reason: Defective goods returned
Original SI Credit Note Difference
Amount 4,00,000 80,000 3,20,000
Quantity 10 2 8
VAT Amount 60,000 12,000 48,000
SD Amount 80,000 16,000 64,000
Link to Export LC Return (Section 6.2 — Case B):
After ExportLCReceipt + Credit Note + JE to clear residual:
ExportLCARClearing: 55,00,000 (created) - 54,03,750 (receipt) + 1,00,000 (JE) = 96,250
AccountsReceivable: 55,00,000 (created) - 54,03,750 (receipt) + 1,00,000 (JE) = 96,250
The 96,250 residual must be cleared separately (see Section 6.2 — Step 2).
The Credit Note's VAT and SD amounts should match the original SI's
proportional amounts to properly reverse the tax position.
Cross-reference: See Section 6 for the complete Export LC return workflow.
14.8 Mushak 6.8 — Debit Note (Purchase Return)
Where: Reports > Mushaks > Mushak 6.8
Purpose: Official VAT document for purchase returns and adjustments. Compares the original PurchaseInvoice against the DebitNote side-by-side for quantity, amount, VAT, and Supplementary Duty.
Relation to Import LC Return (Section 5): When an Import LC return occurs (Section 5), the DebitNote issued in Step 1 is documented by this report. The DebitNote reverses the CIF value (16,50,000) but NOT the duties and taxes — those are reversed separately via Journal Entry (Step 2).
How the Handler Calculates Values (Two-pass algorithm, same pattern as 6.7):
Pass 1 — Collect SD by item from PI and DN lines:
For each PI line group:
If IsLocalSdLine is true → SD detected
piSdByItem68[SDInventoryItem] += Sum(non-tax BaseAmount)
For each DN line group:
same IsLocalSdLine check → dnSdByItem68
Pass 2 — Aggregate non-SD goods lines:
PI side:
piAmount = Sum(BaseAmount of non-tax lines)
piQty = abs(Qty)
piSdAmount = Sum(piSdByItem68 values)
piTaxAmount = Abs(Sum of IsTaxTransaction BaseAmount with TaxComponent)
DN side:
dnAmount = BaseAmount * -1m (DN reverses, amount inverted)
dnQty = abs(Qty)
dnSdAmount = Sum(dnSdByItem68 values)
dnTaxAmount = Abs(Sum of IsTaxTransaction BaseAmount with TaxComponent)
SD Detection: Identical to 6.7 — IsLocalSdLine checks for BalanceSheetDomesticSupplementaryDutyPayableAccount. Only domestic SD is detected; import SD from LC is handled by SupplementaryDutyProvider for the inventory side and does NOT appear in the DebitNote SD column.
VAT Calculation: From GL IsTaxTransaction lines with TaxComponent. The PI side includes the full VAT from the original purchase. The DN side will have zero VAT (since the DebitNote only reverses CIF, not taxes).
Sample Output — Import LC Return (from Section 5.2 — Step 1):
Mushak 6.8 — Debit Note
Period: June 2026
Related PI: PI-2026-018 (covering LC-2026-001 Widget-X import)
Reason: Goods returned to supplier
Purchase Invoice Debit Note Difference
Amount 28,69,250 16,50,000 12,19,250
Quantity 1,000 1,000 0
VAT Amount 3,98,475 0 3,98,475
SD Amount 0 0 0 (import SD, not domestic)
Why the VAT and SD differences exist (validated against Section 5.3):
The DebitNote reverses only the CIF value paid to the SUPPLIER.
Amount: 28,69,250 (full landed cost) vs 16,50,000 (CIF only)
Difference = 12,19,250 = duties (10,06,500) + landed (2,12,750)
VAT: 3,98,475 vs 0
VAT was paid to CUSTOMS, not the supplier.
It must be recovered via Journal Entry (Section 5.3 — Step 2).
SD Amount: 0 vs 0
This is import SD (capitalized to inventory), not domestic SD.
It is handled by the inventory cost layer, not by Mushak 6.8.
The 3-Transaction Workflow and Mushak 6.8:
| Step | Transaction | Appears in 6.8? | Why |
|---|---|---|---|
| 1 | DebitNote for CIF 16,50,000 | ✅ Yes | DN side shows 16,50,000 |
| 2 | JE for duties/taxes 16,80,225 | ❌ No | JE is not a DebitNote — separate accounting |
| 3 | Payment to bank 11,55,000 | ❌ No | Payment is not a purchase return |
This is correct per NBR VAT rules — Mushak 6.8 only documents the physical return of goods to the supplier. Duty and tax recovery is a separate process with the customs authority, documented through regular accounting entries.
Cross-reference: See Section 5 for the complete Import LC return workflow.
14.9 Mushak 6.2 — VAT Supplementary
Where: Reports > Mushaks > Mushak 6.2
Purpose: Detailed supplementary return with per-transaction breakdown, used by businesses with turnover above the threshold.
LC Impact: - Each LC's VAT amount appears as a separate row - Broken down by TaxCode component (if multiple rates) - Linked to the Goods line's item for audit trail
Mushak 6.2 — VAT Supplementary
Period: June 2026
<h1 id="transaction-type-suppliercustomer-item-value-vat-rate-vat-amount">Transaction Type Supplier/Customer Item Value VAT Rate VAT Amount</h1>
1 Import LC China Trading Widget-X 22,27,500 15% 3,34,125
2 Import LC China Trading Gadget-Y 7,42,500 15% 1,11,375
3 Local Purchase Supplier XYZ Raw Mat. 10,00,000 15% 1,50,000
--------
Total Input VAT: 5,95,500
14.10 Mushak 6.3 — Supplementary Duty Report
Where: Reports > Mushaks > Mushak 6.3
Purpose: Reports Supplementary Duty collected on sales and paid on purchases, both import and domestic.
Two SD Sources Tracked:
-
Import SD — from LC cost lines where
CostType = SupplementaryDuty- Capitalizes to inventory (cost of goods) - SD rate = Total SD / Total CIF (computed automatically) - Used for NBR SD rate verification -
Domestic SD — from Sales/Purchase invoice lines with
Account = DomesticSupplementaryDutyPayable- Pass-through liability (not a cost) - Tracked via SDInventoryItem field - Net position = SD collected - SD paid
Mushak 6.3 — Supplementary Duty Report
Period: June 2026
A. Import Supplementary Duty (via LC)
CIF Value: 22,00,000
SD Amount: 1,65,000
Effective SD Rate: 7.5%
Item: Widget-X (HS Code: 8528.72)
B. Domestic Supplementary Duty
Opening SD Payable: 5,00,000
SD Collected on Sales: 1,80,000
SD Paid on Purchases: (1,50,000)
SD on Local LC: (30,000)
--------
Net SD Payable to NBR: 5,00,000
How SD Rate Is Computed:
The system scans all Import LCs in the date range.
For each item, it totals:
Total SD Amount = Sum of Supplementary Duty cost lines
Total CIF Amount = Sum of Goods (CIF) cost lines
SD Rate = Total SD / Total CIF x 100
If SD is not assigned to a specific item, it is
proportionally allocated by CIF weight across all items.
14.11 Mushak 6.10 — Sales Summary
Where: Reports > Mushaks > Mushak 6.10
Purpose: Summary of all sales (local and export) for the VAT period, used to compute output VAT.
LC Impact: Export LCs appear as zero-rated export sales.
Mushak 6.10 — Sales Summary
Period: June 2026
Type Count Total Value VAT Rate VAT Amount
Local Sales 25 5,00,000 15% 75,000
Export (via LC) 1 55,00,000 0% 0
-- ---------- --------
Total 26 60,00,000 75,000
14.12 Mushak 4.3 — Purchase Summary
Where: Reports > Mushaks > Mushak 4.3
Purpose: Summary of all purchases (local and import) for the VAT period, used to claim input VAT credit.
LC Impact: Import LCs appear as import purchases with their VAT amounts.
Mushak 4.3 — Purchase Summary
Period: June 2026
Type Count Total Value VAT Amount
Local Purchases 10 10,00,000 1,50,000
Import via LC 2 22,00,000 3,30,000
Import via LC (duties) 2 10,06,500 0 (not VAT-able)
Import via LC (landed) 2 2,12,750 0 (not VAT-able)
-- ---------- ---------
Total 16 44,19,250 4,80,000
14.13 General Ledger Transactions Report
Where: Reports > General Ledger Transactions
Purpose: View all GL transactions including LC entries with full DR/CR display.
LC Transactions Appear As:
Date Transaction Account Dr Cr
5/1/2026 LC-2026-001 InventoryOnHand 28,69,250
5/1/2026 LC-2026-001 TaxReceivable 3,98,475
5/1/2026 LC-2026-001 LCExpense 34,500
5/1/2026 LC-2026-001 InterestExpense 6,000
5/1/2026 LC-2026-001 AdvanceIncomeTax 2,75,250
5/1/2026 LC-2026-001 AccountsPayable 24,30,725
5/1/2026 LC-2026-001 LetterOfCreditPayable 11,55,000
───────── 35,83,475 35,83,475 DR=CR
14.14 Inventory Reports (Impact of LC Costs)
Where: Reports > Inventory Reports
How LC Costs Flow Into Inventory Reports:
| Report | What LC Costs Show | Example |
|---|---|---|
| Inventory Items List | QtyOnHand includes LC-received quantities. PerUnitCost includes capitalized CIF + duties + landed costs. | Widget-X: Qty=1,000, Cost=2,434.38/unit |
| Inventory Valuation | FIFO/LIFO/Moving Average comparison includes LC layers. LCNRV adjustment available. | Layer 1: 1,000 @ 2,434.38 (from LC-001) |
| Inventory Quantity Summary | LC receipts show as "Purchase" movements in the period. Opening + In - Out = Closing matches LC layers. | Purchases: +1,000 (LC-001) |
| Inventory Profit Margin | COGS based on LC-inclusive unit cost. Revenue - COGS = Gross Profit. | Revenue 5,000,000 - COGS 24,34,375 = GP 25,65,625 |
| Inventory ABC Analysis | Items imported via LC with high unit cost may fall into "A" category. | Widget-X: 2,434.38/unit x 1,000 = 24,34,375 (A class) |
15. Error Scenarios & What To Check
| What You See | Likely Cause | What To Do |
|---|---|---|
| LC has no GL entries | Status is still Opened or Draft | Change status to DocumentsPresented |
| No inventory entry created for an item | Goods line had quantity zero or blank | Set a quantity greater than zero on all goods lines |
| VAT not calculated | No tax code set on the goods line | Set a tax code on goods lines that are subject to VAT |
| VAT amount seems incorrect | A duty line is missing the "include in VAT base" setting | Check the cost type settings for duty items |
| Wrong LC Payable amount | LC Amount doesn't match actual goods CIF | Set LC Amount to total inventory goods CIF (exclude FA) |
| No FX conversion happening | Exchange Rate = 0 or LC Currency not set | Set Exchange Rate > 0 AND LC Currency |
| Accrual button not appearing | Maturity Date blank or Interest Rate = 0 | Set both Maturity Date and Interest Rate > 0 |
| Export LC receipt fails | Bank Account is missing on the receipt | Set Bank Account on the Export LC Receipt |
| SI not marked as paid | Export LC has no Sales Invoice linked | Link a Sales Invoice to the Export LC |
| Export LC accounts not clearing | Fee residual not yet cleared | Create a Journal Entry: Dr Clearing / Cr AR |
| Journal Entry does not show in the LC View | "Is LC Adjustment" was not checked (Import) or "Is Export LC Adjustment" was not checked (Export) | Check the adjustment flag when creating LC-related Journal Entries |
| Outstanding balance is negative | Over-recovery through receipts and adjustments | Create an offsetting Journal Entry to correct the balance |
| Interest accrual stopped working | A previous accrual Journal Entry was deleted or modified | Use the "Reset Accrual" button to restart from a clean date |
| Calculated interest is zero | No days have passed since the last accrual | Wait until the next accrual period |
| LC View shows a yellow warning | Changing status while linked transactions exist | Review linked payments and Journal Entries before proceeding |
| Cost goes to wrong GL account | Cost Type Setting is wrong or missing | Verify each cost line has the correct Cost Type Setting |
| Import SD capitalizing to inventory | This is correct behaviour | Import SD is a cost of inventory |
| Domestic SD not showing on invoice | SD account not selected on the line | Select DomesticSupplementaryDutyPayable as the line account |
| VAT overstated on invoice | Tax code was set on a Domestic SD line | Remove the tax code from the SD line — it belongs on the Item line only |
| VAT not calculated on LC | Tax code was set on a Duty or Landed line instead of the Goods line | Set the tax code on the Goods (CIF) line — duties are inputs to the VAT base, not separate VAT subjects |
| LC costs missing from GL | Data was entered in Payment Schedule instead of Cost Lines | Payment Schedule is for cash flow forecasting only — no GL entries are created from it. All costs must be entered via Cost Lines. |
Quick Pre-Save Checklist
[ ] All Goods lines have InventoryItem set
[ ] All Goods lines have Qty > 0
[ ] TaxCode set on Goods line(s)
[ ] All cost data is in CostLines — PaymentSchedule is for cash flow only, no GL impact
[ ] TaxCode NOT set on DomesticSupplementaryDutyPayable lines
[ ] TaxCode NOT set on Duty / Landed Cost / Period Cost / Tax Asset lines in LC
[ ] LCAmount = total inventory goods CIF (not FA)
[ ] MarginPercent is between 1-99 for bank financing
[ ] ExchangeRate > 0 if LCCurrency set
[ ] Status is correct before changing to DocumentsPresented
[ ] All cost lines have correct CostTypeSetting
[ ] Landed costs without Item are intentional (will be pro-rata)
§. Accounting Regulation Validation
Standards Compliance Summary
| Standard | Requirement | How the LC Module Satisfies It |
|---|---|---|
| IAS 2 Sections 10-13 | All costs to bring inventory to present location capitalize | All system pre-seeded 22 capitalize cost types (CIF + 6 duties + 14 landed) merge into inventory layer. Shared costs pro-rata allocated by CIF weight. |
| IAS 2 Section 18 | Borrowing costs NOT capitalized | Interest, Commission, Bank Fees all go to P&L (not inventory). |
| IAS 2 Section 25 | Cost formulas | Per-item valuation method; LC module doesn't override; layer-based costing used. |
| IAS 2 Sections 28-33 | NRV write-down if cost > net realizable value | Available via per-item LCNRV setting. |
| IAS 16 | FA cost includes all directly attributable costs | Fixed Assets acquired via LC get full landed cost including pro-rata shared costs. |
| IAS 21 Section 23 | Foreign currency monetary items revalued at period-end | LCP, ExportLCReceivable, and ExportLCARClearing revalued each period-end. Gains/losses to P&L. |
| IAS 21 Section 28 | Non-monetary items at historical rate | Inventory recorded at contracted LC rate (historical cost). |
| IAS 32 | Financial liability classification | AP = Operating CFS. LCP = Financing CFS. Correctly split. |
| IAS 37 | Contingent liabilities — off-BS disclosure | LC at Draft/Opened = no GL entries (off-balance-sheet). |
| IAS 37 | Recoverable taxes as assets | AIT, AT, WHT -> AdvanceIncomeTax (BS Asset). VAT -> TaxReceivable (BS Asset). |
| IFRS 9 | Financial asset recognition/derecognition | Export LC Receivable recognized when shipped. Derecognized when cash received. |
| IFRS 15 | Revenue recognition when control transfers | AR cleared only on Export LC Receipt (cash from bank), not at shipment. |
| NBR VAT Act 2012, Section 3 | VAT base = CIF + CD + RD + SD + CVD + ADD + Safeguard | Include in VAT Base flag on 7 duty types. VAT computed on merged CIF + duties. |
| NBR VAT Act 2012, Section 4(2) | VAT on imports = Assessable Value (CIF + duties) | Only Goods lines process TaxCode. Duties are inputs to VAT base, not separate VAT subjects. TaxCode on Duty/Landed lines is correctly ignored. |
| NBR VAT Act 2012, Section 7 | VAT on supplies | VAT is chargeable on the supply of goods/services (item value), not on Supplementary Duty amounts. TaxCode on DomesticSD lines would create tax-on-tax which violates Section 7. |
| NBR SRO 142 (VAT Rules 2016) | SD and VAT are parallel computations | SD is computed on item value; VAT is separately computed on item value. They are not stacked. Setting TaxCode on an SD line would incorrectly stack VAT on top of SD. |
| NBR Mushak 6.3 Reporting | SD reported separately from VAT | SD amounts go to Mushak 6.3; VAT goes to Mushak 6.1/6.2. If TaxCode were set on SD lines, the VAT amount would be overstated and reconciliation would fail. |
| Income Tax Ordinance Section 53BB | AIT at port | AIT and AT post to AdvanceIncomeTax (recoverable BS asset). |
| Tax Cascading Prohibition | Taxes should not be levied on taxes | Domestic SD is a pass-through liability, not a supply of goods/services. VAT on SD would be cascading (tax on tax), prohibited under NBR rules and most international VAT regimes. |
| SOX / Audit | Audit trail integrity | Accrual history linked to JE by GUID. Forward-chain validation. Status change warnings. |
| Double-entry | DR = CR per transaction | Balancing entry computes sum of all debits and posts same as credits (AP + LCP). Guaranteed. |
Why DR = CR Is Guaranteed
For every Import LC, the system: 1. Computes the total of all debit entries across inventory, tax, P&L, and asset accounts 2. Splits this total into two portions based on Margin Percent: - Accounts Payable = your margin portion + other costs - Letter of Credit Payable = bank financed portion 3. Posts exactly this total as credits
Total Debits = Accounts Payable + Letter of Credit Payable = Total Credits
Key Accounting Principles Applied
| Principle | How It's Applied |
|---|---|
| Historical Cost | LC entries at the contracted exchange rate, not spot rate |
| Accrual Basis | GL entries at DocumentsPresented (when obligation arises), not at payment |
| Matching Principle | Capitalized costs flow to COGS only when inventory is sold |
| Conservatism | No GL entries at Draft/Opened (off-BS contingent liability) |
| Materiality | Minor edge cases (e.g., creating LC directly at Closed) are acceptable |
| Substance Over Form | Bank financing = Financing activity; supplier portion = Operating |
| Full Disclosure | LC Exposure Report shows all outstanding LCs with status and amounts |