How to Handle Customer Cheques and Batch Deposits in Odoo · Calibre Consulting

Deposit customer cheques in batches, at either bank.

Record customer cheques in Odoo, hold them in one Cheques on Hand balance, deposit them in batches and match each deposit, even with two banks.

This guide sets up Odoo to record customer cheques when they arrive, keep the cheques not yet deposited in one balance, deposit them in a batch at either of your bank accounts, and match the deposit to the bank statement. The short answer: do not create a separate journal for cheques. Register each cheque on a bank journal with a payment method whose outstanding receipts account is a shared Cheques on Hand account, group the cheques into a batch payment for the bank you deposit at, and match the batch with the Batches button. A cheque that ends up at the other bank can still be matched there on its own.

It is for bookkeepers who receive cheques and hold more than one bank account. Verified on Odoo 19 Enterprise.

Before you start

Why a separate cheques journal gets blocked

A batch payment belongs to one bank. Its Bank field only lists Bank journals, and it only accepts payments registered on that same journal with the same payment method; a mix is refused with "The journal of the batch payment and of the payments it contains must be the same." On the bank matching screen, the Batches button only appears when the bank being reconciled has an open batch, and it lists that bank's batches, so a batch kept on a cheques journal does not come up.

The running total of undeposited cheques that a cheques journal was meant to give you comes from the outstanding receipts account instead. Point both banks at the same holding account and its balance is your cheques on hand.

Set up a shared cheques on hand account

  1. In the Accounting app, go to Configuration > Accounting > Chart of Accounts and click New.
  2. Enter a code and the name Cheques on Hand, set Type to Current Assets, and save.
  3. Back in the chart of accounts list, find the new account and switch on Allow Reconciliation. The bank matching screen only offers items from accounts that allow reconciliation.
  4. Go to Configuration > Accounting > Journals and open your first bank journal.
  5. On the Incoming Payments tab, find the Batch Deposit line. Its Outstanding Receipts accounts column is empty and reads "No payment journal entries". Select Cheques on Hand and save.
  6. Repeat steps 4 and 5 for the second bank journal.

Each cheque registered with Batch Deposit now posts an entry moving the amount from the customer's receivable into Cheques on Hand.

Register each cheque as it arrives

  1. Go to Customers > Invoices, open the invoice and click Pay. For one cheque covering several invoices of a customer, tick them in the list, click Pay and tick Group Payments.
  2. Set Journal to the bank you expect to deposit at, and Payment Method to Batch Deposit.
  3. Type the cheque number in Memo, then click Create Payment.

The payment posts at once as In Process, and the invoice shows In Payment until the deposit is matched. A payment's Journal can only be changed in draft, so choose the bank here.

Deposit the cheques as a batch

  1. Go to Customers > Payments and tick the cheques you are taking to the bank. They must all be on that bank's journal and use Batch Deposit.
  2. Click Create Batch. A batch payment opens with Batch Type Inbound, the Bank, the Payment Method and the payments with their total.
  3. Compare the total with the cheques in hand and click Validate. The batch moves to Sent and is closed to further payments.
  4. Click Print to download a PDF listing the payments in the batch, to keep with the deposit.

Match the deposit to the bank statement

  1. When the deposit arrives as a bank transaction, open the Accounting dashboard and click Transactions on that bank's card.
  2. Select the deposit line and click Batches. A search window lists that bank's open batches.
  3. Pick the batch. Odoo adds one line per cheque, and when they add up to the deposit nothing is left to match.
  4. If the bank refused a cheque, delete its line. Its payment returns to In Process, still in Cheques on Hand.

When a cheque goes to the other bank

A cheque registered on the first bank cannot join a batch for the second, and it does not need one. Leave it out of any batch, select the second bank's deposit line and click Reconcile instead of Batches. The list that opens, Search: Journal Items to Match, is not limited to that bank: it offers any unmatched item in an account that allows reconciliation, including the cheque's line in Cheques on Hand. If the deposit line has a customer on it, the list starts filtered to that customer; remove the filter to see other cheques. Tick every cheque in the deposit and confirm.

The money lands in the second bank's account and the cheque leaves Cheques on Hand. The payment record still names the first bank as its journal, which affects filing, not balances. When you know the bank before registering a cheque, choose it in the Pay window and the batch route stays open.

Check that it worked

  1. Open Customers > Batch Payments. A fully matched batch shows the status Reconciled.
  2. In Reporting > Ledgers > General Ledger, the Cheques on Hand balance should equal the cheques not yet matched to a deposit.
  3. An invoice paid by a deposited cheque now shows Paid instead of In Payment.

Odoo 20 and Community notes

Common mistakes to check first

Steps verified on Odoo 19. Menus and labels can differ on other versions.

Common questions

Why can't Odoo put cheques from a separate Cheques journal into a bank's batch payment?

A batch payment belongs to one bank journal and only accepts payments registered on that same journal with the same payment method. Payments recorded on another journal are refused with the message that the journal of the batch and of its payments must be the same.

How do I track cheques received but not yet deposited in Odoo?

Create a current asset account such as Cheques on Hand that allows reconciliation, and set it as the Outstanding Receipts account on the cheque payment method of each bank journal. Its balance is the total of cheques registered but not yet matched to a bank deposit.

Can a cheque registered on one bank be reconciled on another bank's statement in Odoo?

Yes. It cannot join the other bank's batch, but the Reconcile button on that bank's deposit line lists unmatched items from any account that allows reconciliation, including the cheque's line in the holding account.

Are batch payments available in Odoo Community?

No. Batch Payments is an Enterprise module, and in Community the setting only appears as an upgrade option. The bank matching screen used to reconcile batches is also part of Enterprise.

Talk to the team.

If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.

Book the call →