1 (206) 800-7778 [email protected]

Hibou Odoo Suite: Payment Disperse

Repository Versions:


The purpose of this documentation is to outline the use cases and processes of Hibou's Payment Disperse module. The Payment Disperse module allows users to pay multiple invoices with one payment and manually disperse the amount per invoice.

Getting Started

First thing's first, we want to install the module! Navigate to the Apps application and search for 'Payment Disperse'. When ready, click the install button.

Odoo CMS - a big picture

  Good to Know!

This module requires the Invoicing module. However, if you do not already have these modules installed, Odoo will install them for you during this modules installation!


To get started, navigate to the Accounting application.

Odoo - Sample 1 for three columns

Manually Dispersing Payments

Once there, select Sales followed by Customer Invoices.

Select all of the invoices that you will be registering payment for and check the boxes to the left of them. Once all have been selected, select Register Payment from the Action dropdown menu.

Odoo CMS - a big picture

A modal will appear to register a payment. Once the Disperse Manually field is selected, another section of the form will appear. Here you can see lines with all of the selected customer invoices.There are two new buttons to easily fill amounts on the invoice lines:

  • Fill With Reminaing: Pre-populate amount with the remaining amount.

  • Fill With Due: Pre-populate amount with the amount due, which can be seen in the Due column. Note the Due Date Cutoff field.

You can choose to leave an open balance, or write-off the difference and select the Write-off Journal from the dropdown menu.

Odoo CMS - a big picture


This module adds a new transient model to the Register Payment wizard `account.register.payments.invoice.line`. Additionally, it adds several fields to the `account.register.payments` wizard in order to link invoices for payments as well as journals for write offs:

  • `is_manual_disperse` Boolean field to indicate if the payment should be dispersed manually

  • `invoice_line_ids` One2many field for Invoices

  • `writeoff_journal_id` Many2one field for the Write-off journal

  • `due_date_cutoff` Date field for cutoff date

 The `account.payment` model also receives a new method `_create_payment_entry_manual_disperse` to create and validate payments, as well as reconcile the invoice lines with the payment.