OdooWiki OCA HUB

Account financial discount

account_financial_discount folder_open OCA/account-payment open_in_new
Account License: AGPL-3

This module adds functionality to handle financial discounts for early payments, and to generate proper write-offs during register payments.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Lets you offer early-payment discounts on invoices and bills, and automatically books the discount as a write-off when the customer pays early.

This module adds early-payment (financial) discounts to Odoo Accounting. On a payment term you can set a number of days and a discount percentage; invoices using that payment term then show whether a discount is still available and until which date.

  • Invoices and bills with an available discount are highlighted in the invoice list, and you can filter for them with "Has financial discount".
  • On an invoice you can tick "Force financial discount" to keep the discount available even after the discount date has passed.
  • When you register a payment, the payment wizard automatically reduces the amount by the discount and proposes a write-off entry labelled "Financial Discount", using the revenue or expense write-off accounts configured in Accounting settings.
  • The payment receipt report shows the written-off discount amount and the reduced total.
  • Reconciliation models can be configured to consider financial discounts, with a label, tolerance and write-off accounts; a check ensures the model is set up correctly.
  • Changing the discount days or percentage on a payment term is blocked once posted journal entries use it.

The module touches account.move, account.move.line, account.payment.term, account.reconcile.model, res.company, res.config.settings and the payment registration wizard.

Depends on

account

Required by other modules

Models and fields (7)
  • res.company · extends an existing modelfinancial_discount_expense_account_id (Financial discount writeoff expense account), financial_discount_revenue_account_id (Financial discount writeoff revenue account)
  • account.move · extends an existing modelhas_discount_available (Has discount available), force_financial_discount (Force financial discount), display_force_financial_discount
  • account.move.line · extends an existing modeldate_discount (Financial Discount date), amount_discount (Financial Discount amount in company currency), amount_discount_tax, discount_tax_line_id, amount_discount_currency (Financial Discount amount in an optional other currency if it is a multi-currency entry.)
  • res.config.settings · extends an existing modelfinancial_discount_expense_account_id (Financial discount expense write-off account), financial_discount_revenue_account_id (Financial discount revenue write-off account)
  • account.payment.term · extends an existing modeldays_discount (Days for discount), percent_discount (Discount percentage)
  • account.reconcile.model · extends an existing modelfinancial_discount_label (Write-off label), apply_financial_discounts (Consider financial discounts), financial_discount_tolerance, financial_discount_expense_account_id (Expense write-off account), financial_discount_revenue_account_id (Revenue write-off account)
  • account.payment.register · extends an existing modelpayment_method_id, with_financial_discount, force_financial_discount (Apply Financial Discount Past Date), show_force_financial_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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/account-payment.

terminal Installation and usage

OCA documentation · Odoo 14.0

Go to Accounting > Configuration > Payment Terms, to define a payment term involving a financial discount:

  • Set a number of days while discount is available after posting
  • Set a discount percentage

When a payment term with discount is selected on an invoice (i.e Customers invoices or Vendor bills), the available discount will be stored on the first payment term line once the invoice is posted.

The financial discount will then be applied using register payment wizard if the payment is done before the discount date, or if the "Force financial discount" is used on the invoice.

No verified information in OCA: Installation.

info

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.