Payments

In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records for use at a later date:

  • If a payment is linked to an invoice or bill, it reduces/settles the amount due on the invoice. Multiple payments on the same invoice are possible.

  • If a payment is not linked to an invoice or bill, the customer has an outstanding credit with the company, or the company has an outstanding debit with a vendor. Those outstanding amounts reduce/settle unpaid invoices/bills.

Payment methods

Several payment methods are available in Odoo to allow different configurations for different types of payments. Examples of payment methods include manual payments (such as cash), checks, and online payment providers. Payment methods can be configured in the Incoming Payments and Outgoing Payments tabs of a bank or cash journal.

See also

Payment methods for Point of Sale

Preferred payment method

A contact’s preferred payment method can be set so that when a payment is created for that contact, the payment method is automatically selected by default. Invoices and bills can be filtered by Payment Method to simplify group payments.

To set a preferred Payment Method for a customer or a vendor, go to Accounting ‣ Customers ‣ Customers or Accounting ‣ Vendors ‣ Vendors and select the customer or vendor. In the Sales & Purchase tab of the contact form, select the preferred Payment Method in the Sales section for invoice payments or for vendor bill payments in the Purchase section.

Tip

Access a full list of all contacts from the Customers or Vendors list view by removing the Customers or Vendors filter. Alternatively, access the full contact list through the Contacts app.

Checks

Vendor bills can be paid by check using a dedicated outgoing payment method, which allows check numbers to be tracked and checks to be printed directly from Odoo.

For incoming customer check payments, you can use the default Manual Payment payment method, or you can create a payment method specifically for checks to help identify such payments quickly. To create a Check payment method, follow these steps:

  1. Go to Accounting ‣ Configuration ‣ Journals and select the Bank journal.

  2. In the Incoming Payments tab, click Add a line.

  3. As Payment Method, select Manual, then enter Check as the Name.

When registering a customer payment on an invoice or not related to an invoice, use the new Check payment method.

Note

Registering a customer payment by check in Odoo does not move funds. Checks must be deposited in order to make the payment. Once deposited to your bank, the check should appear as a bank transaction, at which point it can be reconciled with the registered payment.

Tip

For best practice, enter the check number as the Memo when registering a customer payment by check.

Registering payment from an invoice or bill

To register a payment for an invoice or a bill, follow these steps:

  1. Click Pay on a customer invoice or vendor bill. In the Pay window, select the Journal and the Payment Date.

  2. If previously set, the contact’s preferred Payment Method is automatically selected by default but can be updated if necessary.

  3. If using payment terms, the Amount is automatically set based on the installment amounts defined by the payment term. To pay the full amount instead, click full amount in the message below the amount.

  4. If necessary, edit the Memo.

  5. Click Create Payment.

After the payment is registered, the customer invoice or vendor bill is marked as In payment.

If no outstanding accounts are configured, no journal entry is created. To display more information about the payment, click the Payments smart button.

When the invoice or vendor bill is reconciled with a bank transaction, its status is updated to Paid.

Note

  • If a bank transaction is reconciled in a different currency, a journal entry is automatically created to post the currency exchange gains/loss amount.

  • When a bank transaction is reconciled with an invoice with cash-basis, a journal entry is automatically created to post the cash-basis tax amount.

Registering payments not tied to an invoice or bill

When a new payment is registered via Customers / Vendors ‣ Payments, it is not directly linked to an invoice or bill.

Payments that are not linked to an invoice or bill should not be registered without using outstanding accounts, as there is no way to associate the payment with the invoice or bill since no journal entry is created for the payment. The amount paid or received is not reflected in the accounting and the Amount Due is not updated based on the payment amount.

Payments matching

Note

During the bank reconciliation process, a remaining balance is identified if the total debits and credits do not match when records are compared with bank transactions. This balance must either be reconciled later or written off immediately.

For a single invoice or bill

By default, payments in Odoo do not create journal entries. As a result, there is no payment to match.

For multiple invoices or bills

The Reconcile tool (provided by the Account Reconcile Oca module) allows reconciling journal items with each other (i.e., payments with customer invoices or vendor bills, or miscellaneous journal items), account by account and partner by partner. To open it:

  • go to Accounting ‣ Accounting ‣ Reconcile: each card groups the unreconciled journal items of an account (and partner);

  • click Reconcile on an account line of the chart of accounts (for accounts that allow reconciliation), or use the Reconcile action of a contact form;

  • or select journal items of the same account in Accounting ‣ Accounting ‣ Journal Items and click Actions ‣ Reconcile.

In the reconciliation view, select the journal items to match. When the selected debits and credits are balanced, click Reconcile. Use Clean to clear the selection. If a difference remains, it can be kept open or written off to another account before reconciling.

screenshot: accounting-payments-reconcile-tool
menu
Accounting ‣ Accounting ‣ Reconcile ‣ (open a partner card)
shows
Reconciliation view of the receivable account of a customer: the unreconciled invoices and payments on the left, the selected items and the balance on the right, with the "Reconcile" and "Clean" buttons.
highlight
The "Reconcile" button (red frame).
data
Demo customer with two open invoices and one payment covering both.
module
account_reconcile_oca
notes
English UI, light theme, 1440px width.

Note

Only journal items of the same account can be reconciled together.

Registering payments on multiple invoices/credit notes or bills/refunds (group payments)

To register payments on multiple invoices/credit notes or bills/refunds, follow these steps:

  1. Go to Accounting ‣ Customers ‣ Invoices/Credit Notes or Accounting ‣ Vendors ‣ Bills/Refunds.

  2. In the list view, click into the search bar, group by Payment Method, select the relevant invoices/credit notes or bills/refunds and click Pay.

  3. In the Pay window, select the Journal and the Payment Date.

  4. If previously set, the contact’s preferred Payment Method is automatically selected by default but can be updated if necessary.

  5. If using payment terms, the Amount is automatically set based on the installment amounts defined by the payment term. To pay the full amount instead, click full amount.

  6. To combine all payments from the same contact into a single payment, enable the Group Payments option, or leave it unchecked to create separate payments.

  7. Click Create payment.

The invoices or bills are then marked as In payment until they are reconciled with the bank transactions.

Registering a partial payment

To register a partial payment, click on Pay from the related invoice or bill.

In the case of a partial payment (when the Amount paid is less than the total remaining amount on the invoice or the bill), fill in the Amount in the Pay window.

Reconciling payments with bank transactions

Once a payment has been registered, the status of the invoice or bill is In payment. The next step is reconciling the related bank transaction line with the invoice or bill to finalize the payment workflow and mark the invoice or bill as Paid.

Recurring payments

The Odoo 18 Recurring Payment (om_recurring_payments) module creates payments at regular intervals, e.g., for rents or subscriptions paid by bank transfer.

  1. Go to Accounting ‣ Configuration ‣ Recurring Payment ‣ Recurring Template and create a template: enter a Name, the Journal, the recurring period (days, weeks, months, or years) and Recurring Interval, and whether the payments are generated as Un Posted or Posted (Generate Journal As). Click Done to activate the template.

  2. Go to Accounting ‣ Configuration ‣ Recurring Payment ‣ Recurring Payment and create a recurring payment: select the Recurring Template, the Partner, the Payment Type (Send Money or Receive Money), the Amount, and the Start Date and End Date.

  3. Click Done. The planned payments are listed in the Recurring Entries tab.

A scheduled action creates the payments of the lines whose date has passed. A payment can also be created manually with the Create Payment button of a line. To modify the recurring payment, click Set To Draft (only possible if no payment has been created yet).

screenshot: accounting-payments-recurring-payment
menu
Accounting ‣ Configuration ‣ Recurring Payment ‣ Recurring Payment ‣ (open a record)
shows
Recurring payment form in "Done" status: template, partner, payment type "Send Money", amount, journal, date range, period and interval; "Recurring Entries" tab with monthly lines and their status and "Create Payment" buttons.
highlight
The "Recurring Entries" tab (red frame).
data
Monthly office rent of 350,000 HUF for 12 months.
module
om_recurring_payments
notes
English UI, light theme, 1440px width.