All posts
Functional4 min read

Managing Bank Guarantees and Letters of Credit in Odoo

Track bank guarantees and letters of credit in Odoo - recording issuance, monitoring expiry dates, and managing the contingent liabilities that guarantees represent on the balance sheet.

Bank Guarantees and Letters of Credit in Odoo#

Bank guarantees and letters of credit are common instruments in B2B transactions - a bank promises to pay a vendor if the buyer defaults. While Odoo doesn't have a dedicated guarantee module, these instruments can be tracked systematically using existing features.

Tracking Bank Guarantees#

Step 1 - Create a Dedicated Account#

Accounting → Chart of Accounts → New:

  • Name: Bank Guarantees Issued
  • Type: Notes Payable (or Off-Balance Sheet Memo)
  • Code: 9100 (or in a memo/off-balance sheet section)

Bank guarantees are contingent liabilities - they don't appear on the balance sheet unless called upon. Using an off-balance-sheet memo account keeps them visible to management without distorting the balance sheet.

Step 2 - Record the Guarantee Issuance#

When a bank guarantee is issued:

Accounting → Journal Entries → New:

  • Debit: Bank Guarantee Receivable (memo) - $50,000
  • Credit: Bank Guarantee Liability (memo) - $50,000

This creates a record without affecting the main balance sheet.

Step 3 - Track in a Spreadsheet or Odoo Document#

For each guarantee, record:

  • Guarantee number
  • Beneficiary (vendor name)
  • Issuing bank
  • Amount
  • Issue date
  • Expiry date
  • Purpose (performance bond, bid bond, advance payment guarantee)
  • Status: Active / Expired / Called / Returned

Letters of Credit (L/C)#

For import L/Cs:

  1. Bank issues L/C on your behalf (contingent liability)
  2. Vendor ships goods → presents documents to the bank
  3. Bank pays the vendor → your liability converts to a real bank loan
  4. Record: Debit: Import Goods (inventory), Credit: Bank Loan Payable

The L/C itself is off-balance-sheet until the bank pays; the resulting loan is on-balance-sheet.

Expiry Date Monitoring#

Create a calendar activity or automated action to alert when guarantees are 30 days from expiry:

Technical → Automation → Automated Actions:

  • Model: Journal Entry (or custom model if you track guarantees there)
  • Trigger: expiry date − 30 days
  • Action: send email to treasury manager and create a task to renew or cancel

Guarantee Release#

When a guarantee expires or is returned by the beneficiary:

  • Reverse the memo journal entry (Debit: Liability memo, Credit: Receivable memo)
  • Record the bank's guarantee fee as a finance expense:

- Debit: Bank Fees (e.g., 0.75% × $50,000 = $375)

- Credit: Bank Account

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free