The Letter of Credit is the backbone of Bangladesh's export economy. In RMG alone, the majority of exports are settled through LC — and for good reason. An LC from a major European or US bank is as close to guaranteed payment as an exporter can get, provided the shipment documents are compliant.
The problem is that LC compliance is detail-intensive. A single discrepancy — a product description that doesn't exactly match the LC wording, a shipment date one day past the LC deadline, or a document missing a mandatory clause — can result in the bank refusing to pay without the buyer's waiver. Odoo won't eliminate these risks entirely, but it can dramatically reduce them by creating a disciplined, document-first workflow.
Document discrepancies in LC settlements are rarely random. They're almost always the result of a process gap — information that existed somewhere but didn't make it onto the right document.
The LC lifecycle for Bangladesh exporters
Proforma Invoice issued
Exporter sends a proforma invoice to the buyer — product description, quantity, unit price, total value, currency, Incoterm, and shipment terms. The buyer uses this to apply for an LC at their bank.
Generated in Odoo SalesLC opened by buyer's bank
The buyer's issuing bank opens the LC and transmits it via SWIFT to the advising bank in Bangladesh. The LC specifies: amount, currency, expiry date, latest shipment date, required documents, and all terms the exporter must comply with.
LC reviewed against Sales Order
Exporter receives the LC from the advising bank and checks every term against the Odoo Sales Order. Product description, quantity, price, Incoterm, and currency must all match. If there are discrepancies, request LC amendment before shipment — not after.
Cross-check against Odoo SOProduction & shipment
Goods are produced (Manufacturing Order in Odoo if using MTO), quality checked, and shipped. The shipment date in Odoo must be on or before the LC's "Latest Date of Shipment." This is the most common discrepancy in Bangladesh export — shipment one day late means the LC is expired.
Shipment documents compiled
After the vessel loads, assemble all required documents. Commercial invoice and packing list are generated from Odoo. Bill of lading comes from the shipping line. Certificate of origin from BGMEA/EPB. All documents must comply with LC terms exactly — no variations in spelling, product description, or amounts.
Commercial invoice + packing list from OdooDocuments presented and negotiated
Documents are presented to the advising bank within the LC's presentation period (usually 21 days from shipment). The bank checks for discrepancies. If clean, the bank negotiates (pays) the exporter against the LC. If discrepant, the bank holds until the buyer waives the discrepancies.
LC proceeds received & reconciled
Bank credits the LC proceeds (net of bank charges) to the exporter's EFCA (Exporters' Foreign Currency Account). The exporter records the payment in Odoo against the customer invoice, with the actual exchange rate on the payment date. Odoo calculates and posts the currency exchange gain or loss automatically.
Reconciled in Odoo AccountingProforma invoice from Odoo
Enable proforma invoices in Odoo: Settings → Sales → Invoicing → tick "Proforma Invoices". From any confirmed Sales Order (or even a quotation), click "Send Pro Forma Invoice". Odoo generates a PDF with:
- Your company letterhead (name, address, registration, bank details)
- Buyer name and address exactly as it should appear on the LC
- Product description (this must match the product name in Odoo exactly)
- Quantity and unit (pcs, dozens, cartons — set on the product or sales order line)
- Unit price and total value in the invoice currency (USD, EUR, etc.)
- Incoterm and port of loading/destination
- Payment terms (LC at Sight, LC 90 Days, etc.)
The product description on the proforma invoice must be exactly what you want on the LC — and therefore exactly what will appear on your commercial invoice and bill of lading. Bangladesh banks reject documents where the description on the commercial invoice differs from the LC even in punctuation. If your product in Odoo is called "100% Cotton T-shirt" but the LC says "Knitted T-shirt of Cotton," you have a discrepancy. Fix the product name or the proforma before the buyer applies for the LC — not after it arrives.
Recording LC details in Odoo
Odoo Community and Enterprise don't have a built-in LC register. The options for Bangladesh exporters:
Option 1 — Sales Order chatter (no development, works immediately): When the LC arrives, open the Sales Order → click the chatter icon → Log a note: "LC No. [number], Issuing Bank: [bank], Expiry: [date], Latest Shipment: [date], Advising Bank: [bank], Amount: USD [amount]". Attach a scan of the LC. This creates a permanent, timestamped record linked to the order.
Option 2 — Custom SO fields (recommended for high-volume exporters): Add custom fields to the Sales Order model: LC Number, LC Expiry Date, Latest Shipment Date, Advising Bank, LC Amount. This enables filtering and reporting by LC expiry — critical for production scheduling. A skilled Odoo developer can add these fields in 2–3 hours.
Option 3 — Customer Reference field: A quick workaround — enter the LC number in the "Customer Reference" field on the Sales Order. This prints on invoices and delivery orders, and allows filtering by LC number in order lists.
LC compliance checklist — before shipment
Before instructing the factory to load the container, cross-check these items between the LC and the Odoo Sales Order/documents:
Shipment documents generated from Odoo
Two of the required LC documents come directly from Odoo:
- Commercial Invoice — generated from Accounting → Customers → Invoices. This is the primary LC document. It must show: invoice number and date, proforma invoice reference (optional but helps), buyer and seller details, product description, quantity, unit price, total, currency, Incoterm, and bank details for remittance.
- Packing List — generated from the Delivery Order. It shows carton count, gross weight, net weight, dimensions, and product quantities per carton. Requires that product weight (kg) is correctly set on each product record in Odoo.
The remaining documents are sourced externally but should be stored in Odoo (attached to the Sales Order or invoice via the chatter):
- Bill of Lading — issued by the shipping line. Scan and attach to the SO.
- Certificate of Origin — from BGMEA (garments) or EPB. Attach to SO.
- Inspection Certificate — from buyer's nominated inspection agency (SGS, Bureau Veritas, Intertek). Attach to SO when received.
Payment reconciliation in Odoo Accounting
When the LC proceeds are credited to your account (net of bank negotiation charges and bank commission), record the payment in Odoo:
| Step | Odoo action | Notes for Bangladesh LC |
|---|---|---|
| 1. Find the invoice | Accounting → Customers → Invoices → open the relevant invoice | The invoice should have been created from the Sales Order when the goods were shipped. Status should be "Posted." |
| 2. Register payment | Click "Register Payment" → select EFCA bank account → enter amount → enter exchange rate | Enter the actual exchange rate on the payment date, not the invoice date rate. The BDT equivalent posted to your EFCA account is what the bank credits. Odoo calculates the FX gain/loss automatically. |
| 3. Record bank charges | If the bank deducted charges before crediting, post a journal entry: Debit Bank Charges, Credit EFCA account |
Common LC charges: negotiation commission (0.1–0.25%), courier charges for documents, SWIFT charges. These are P&L expenses — not to be netted against the customer invoice amount. |
| 4. Repatriation | When funds are converted from EFCA to BDT account, post: Debit BDT current account, Credit EFCA account |
Bangladesh BB regulations require export proceeds to be repatriated within 120 days of shipment. Track repatriation dates against each LC to avoid BB reporting violations. |
Sight LC vs Usance LC — Odoo implications
Understanding LC types is essential for cash flow planning in Odoo:
- Sight LC (LC at Sight): Bank pays as soon as compliant documents are presented and verified — typically 5–7 banking days after document presentation. This is the fastest LC payment. In Odoo, set the invoice payment term to "Immediate Payment" or "Net 7 Days" for accurate cash flow forecasting.
- Usance / DP LC (Deferred Payment): Bank pays after a specified period — 30, 60, 90, or 120 days from bill of lading date or from document presentation. Common for European buyers. In Odoo, set the payment term to match: "Net 90 Days from Invoice Date" or "Net 90 Days from Delivery Date". This drives the Aged Receivables report and cash flow forecast accurately.
- Red Clause LC: Allows advance payment before shipment, secured by the LC. Rare but used for fabric procurement financing. Record the advance as an advance payment against the Sales Order in Odoo and offset it against the final invoice.
LC management is inseparable from your vendor procurement process — especially for factories that import raw materials under the same LC arrangement (Back-to-Back LC). The purchase side of this — vendor LC tracking and landed costs for imported raw materials — is covered in the Odoo Purchase & Vendor Management guide for Bangladesh SMEs. For the HS code requirements that make your customs documents LC-compliant, see the HS Code and Customs Management guide.
If your current LC process involves a spreadsheet, WhatsApp messages, and hope — that's the norm for most Bangladesh exporters I work with. Bringing it into Odoo doesn't require custom development to start. The chatter-based LC registration and standard commercial invoice/packing list from Odoo will immediately reduce document errors and give you a full audit trail per order. Get in touch if you want a scoping call for LC process digitisation →
Frequently asked questions
What is a Letter of Credit (LC) and how does it work for Bangladesh exporters?
An LC is a bank guarantee from the buyer's bank promising payment if the exporter presents compliant shipping documents. The flow: buyer applies for LC → issuing bank opens LC → advising bank in Bangladesh receives it → exporter ships goods before the LC's latest shipment date → exporter presents documents (commercial invoice, packing list, bill of lading, certificate of origin) → advising bank checks compliance and pays. LC is the most secure payment method for Bangladesh exporters and is used for the majority of RMG, textile, and cycle export transactions.
Can Odoo track LC numbers and expiry dates against Sales Orders?
Not out of the box — but there are practical workarounds. The simplest is to log the LC number, expiry date, and latest shipment date as an internal note in the Sales Order chatter (with a scan of the LC attached). For exporters with high order volumes, a small development to add custom fields on the Sales Order (LC Number, Expiry Date, Latest Shipment Date) enables filtering and alerts — typically 2–4 hours of developer time. Either way, the discipline of recording LC details in Odoo the day you receive the LC is what prevents missed shipment dates.
How do I reconcile LC payment receipts in Odoo Accounting?
Open the customer invoice → Register Payment → select your EFCA bank account → enter the payment amount and the actual exchange rate on the payment date. Odoo automatically computes and posts the FX gain or loss to your exchange gain/loss accounts. If the bank deducted charges before crediting, post those separately as bank charge expenses — do not net them against the invoice amount, as this understates your revenue and overstates bank charges on a net basis.
What documents does Odoo generate for LC presentation?
Odoo generates: (1) Commercial Invoice — from Accounting → Customers → Invoices; (2) Packing List — from the Delivery Order (requires product weights to be set). All other LC documents (Bill of Lading from shipping line, Certificate of Origin from BGMEA/EPB, Inspection Certificate from the buyer's agent) are sourced externally. Attach all documents to the Odoo Sales Order via the chatter — this creates a complete, searchable document archive per export order.