All posts
Functional4 min read

Using Multiple Journals for Different Transaction Types in Odoo

Organize Odoo accounting by setting up dedicated journals for sales, purchases, bank accounts, cash, and miscellaneous entries - improving audit trails and simplifying bank reconciliation.

Multiple Journals in Odoo Accounting#

Journals are the workbooks of accounting - each journal holds a specific type of transaction. Organizing transactions into dedicated journals makes auditing easier, bank reconciliation cleaner, and financial reporting more transparent.

Default Journals#

Odoo creates these journals automatically during setup:

JournalTypePurpose
Customer InvoicesSalesAll customer invoices and credit notes
Vendor BillsPurchaseAll vendor bills and refunds
BankBankTransactions from your main bank account
CashCashPetty cash transactions
MiscellaneousMiscellaneousManual journal entries

Creating Additional Journals#

Accounting → Configuration → Journals → New:

Example: Second Bank Account (USD Account)

  • Name: USD Operating Account
  • Type: Bank
  • Default Account: USD Bank Account (150200)
  • Currency: USD
  • Short Code: BK2

Example: Card Payments Journal

  • Name: Card Payments
  • Type: Bank
  • Default Account: Card Clearing Account
  • Short Code: CARD

Each bank account, payment terminal, or cash register should have its own journal for clean reconciliation.

Journal for Each Currency#

For foreign currency transactions:

  • Name: EUR Receipts
  • Type: Bank
  • Currency: EUR
  • Default Account: EUR Bank Account

Transactions in EUR automatically use this journal; Odoo converts to functional currency for reporting.

Dedicated Journals for Recurring Entries#

Create specialized journals for specific transaction types:

  • Payroll Journal: salary and payroll-related entries (separates payroll from normal expenses)
  • Depreciation Journal: all depreciation entries (easy to filter for asset reporting)
  • Opening Journal: used only for the opening balance entry when migrating

Journal Sequence Numbers#

Each journal has its own sequence:

  • INV/2027/00001, INV/2027/00002 (customer invoices)
  • BILL/2027/00001 (vendor bills)
  • BK1/2027/00001 (bank)

This sequential numbering is the basis for audit trail continuity - auditors verify no gaps in the sequence.

Journal Access Control#

Restrict journals by user group:

Journal → Advanced Settings → Accounting Groups:

  • Sales team: can post to Sales journal only
  • Finance team: can post to all journals
  • Auditors: read-only access to all journals

This prevents data entry errors from users posting in the wrong journal.

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

Get started free