OdooWiki OCA HUB

Payment Term Restriction

account_payment_term_restriction folder_open OCA/account-payment open_in_new
Accounting & Finance License: LGPL-3

This module adds the possibility to restrict the use of Payment Terms in Journal Entries.

By setting a restriction value on the Payment Term, the restrictions applied will be:

  • Sales: This Payment Term can only be set on Invoices / Credit Notes.
  • Purchase: This Payment Term can only be set on Bills / Refunds.
  • All: It can be applied to both Sales and Purchase types.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Lets you mark each Payment Term as usable only for Sales, only for Purchases, or for All, and blocks users from picking a wrong-type Payment Term on invoices, credit notes, bills or refunds.

This module adds a new setting on Payment Terms so you can control where each one may be used.

On the Payment Term form a new "Restriction" section shows three radio choices: Sales, Purchases or All. The default is All, so existing Payment Terms keep working everywhere. The same value is also available as an optional column in the Payment Terms list.

When a Payment Term is set to Sales, it can only be used on customer invoices and customer credit notes. When set to Purchases, it can only be used on vendor bills and vendor refunds. All keeps it usable on both sides.

Odoo checks this automatically whenever a Payment Term is chosen on a journal entry. If the choice does not match the document type, saving is blocked with a message telling the user that only Sales (or Purchases) or All Payment Terms can be assigned. Other document types are not restricted.

The restriction touches the account.move model (invoices, credit notes, bills, refunds) and the account.payment.term model. A technical switch exists to bypass the check in specific flows, but it is not exposed in the user interface.

Depends on

account
Models and fields (2)
  • account.move · extends an existing model
  • account.payment.term · extends an existing modelapplicable_on

Text generated by AI (DeepSeek) from reading the Odoo 16.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: 3 confirmed, 6 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 16.0

To be able to configure the restriction on Payment Terms you first need to go to the menu Invoicing > Configuration > Management > Payment Terms.

Once there, opening any Payment Term or creating a new one, there'll be an option where you can set Sales, Purchase or All. The value will be the restriction applied to Journal Entries.

You can pass the skip_payment_term_restriction context to avoid the checks.

No verified information in OCA: Installation, Usage.

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.