This module was written to allow you to define cash discount (aka early payment discount) on customer or supplier invoices.
On customer invoices, you can add a discount delay and a discount percentage. At invoice validation, the discount due date is generated from the delay. The amount with discount deducted is computed at the same time as taxes. This module also adds cash discount informations on customer invoice report.
On supplier invoices, you can set the discount percentage. For the discount due date, you can fill it directly or set a delay. In this case, discount due date is still computed at invoice's validation.
You can decide to calculate the discount amount based on the total price taxes included or not.
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Adds cash discount (early payment discount) fields to customer and supplier invoices, computes the discounted total and due date, and shows the discount information on the invoice report.
This module lets you offer or receive a cash discount on invoices. On customer invoices and supplier invoices you can enter a discount percentage and a discount delay in days; the discount due date is then calculated from the invoice date plus the delay. The discounted total and the discount amount are computed automatically, and the invoice report shows a line stating the discount percentage, the payment deadline and the total after discount.
- On the invoice form, a "Cash Discount" group appears for customer invoices, supplier invoices and refunds. It shows the discount percentage, the discount amount, the total with discount, the delay, the discount due date and the discount amount from related refunds.
- Payment terms can carry a default discount percentage and delay, which are copied to the invoice when the payment term is selected.
- In the company settings you choose whether the discount is calculated on the untaxed amount or on the total including taxes.
- When an invoice is validated, the discount due date is set from the delay; if a discount amount exists without a due date, validation is blocked with an error message.
- The invoice list view can show the discount amount, the total with discount and the discount due date for customer invoices.
- The module also adjusts the payment term on credit notes created from an invoice.
Depends on
Required by other modules
Models and fields (3)
- res.company · extends an existing modelcash_discount_base_amount_type, cash_discount_use_tax_adjustment
- account.move · extends an existing modelhas_discount, discount_delay (Discount Delay (days)), discount_amount, discount_percent (Discount (%)), discount_due_date, discount_base_date, real_discount_amount (Discount amount (minus related refunds amount)), residual_with_discount, refunds_discount_amount, is_cash_discount_allowed, amount_total_with_discount (Total (with discount)), discount_due_date_readonly
- account.payment.term · extends an existing modeldiscount_delay (Discount Delay (days)), discount_percent (Discount (%))
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/account-payment.
terminal Installation and usage
OCA documentation · Odoo 14.0Usage
Source · Odoo 14.0To configure the base amount type, you need to:
- Go to your companies
- Set the cash discount base amount type (including taxes or not)
You can also configure default discount percent and delay on the payment term.
To use this module you can defined all of informations written in the description on customer and supplier invoices.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.