TIP: You can type at any time to perform a new search.
Payment Term Extension
account_payment_term_extension · OCA/account-payment
- Repository
- OCA/account-payment · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Accounting & Finance
- Folder size
- 1.14 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/account-payment
- Last tracking update
- 2026-08-07 09:06:25
- Authors
- Camptocamp, Odoo Community Association (OCA), Agile Business Group, Tecnativa
- Maintainers
- OCA
- Committers
- Weblate, OCA-git-bot, oca-ci, Pablo Cortés
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module extends the functionality of payment terms to: - select "Percent (untaxed amount)" type in lines for using the base amount instead of the total (with taxes) one. - support rounding, months and weeks on payment term lines - allow to set more than one day of payment in payment terms - if a payment term date is a holiday, it is postponed to a selected date - allow to apply a chronological order on lines - for example, with a payment term which contains 2 lines - on standard, the due date of all lines is calculated from the invoice date - with this feature, the due date of the second line is calculated from the due date of the first line
Code Analysis ⓘ
Views touched (3)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings.view.form.inherit.account | res.config.settings | form | Inherits account.res_config_settings_view_form |
view_payment_term_form |
account.payment.term.form.extension | account.payment.term | form | Inherits account.view_payment_term_form |
view_payment_term_holiday_tree |
Tree view for account.payment.term.holiday | account.payment.term.holiday | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (2)
-
holiday_idsOne2many → account.payment.term.holidaycomodel_name='account.payment.term.holiday'inverse_name='payment_id'string='Holidays' -
sequential_linesBooleandefault=Falsehelp='Allows to apply a chronological order on lines.'
-
apply_holidays(self, date) -
apply_payment_days(self, line, date)Calculate the new date with days of payments
New fields (3)
-
date_postponedDaterequired=Truestring='Postponed date' -
holidayDaterequired=True -
payment_idMany2one → account.payment.termcomodel_name='account.payment.term'ondelete='cascade'
-
check_holiday(self)@api.constrains('holiday', 'date_postponed')
New fields (4)
-
amount_roundFloatdigits='Account'help='Sets the amount so that it is a multiple of this value.'string='Amount Rounding' -
delay_typeSelectionondelete={'weeks_after': 'set default', 'weeks_after_end_of_month': 'set default', 'weeks_after_end_of_next_month': 'set default', 'months_after': 'set default', 'months_after_end_of_month': 'set default'}selection=<expr> -
payment_daysCharhelp='Put here the day or days when the partner makes the payment. Separate each possible payment day with dashes (-), commas (,) or spaces ( ).'string='Payment day(s)' -
valueSelectionondelete={'percent_amount_untaxed': <expr>}selection_add=[('percent_amount_untaxed', 'Percent (Untaxed amount)'), ('fixed')]
-
compute_line_amount(self, total_amount, remaining_amount, precision_digits)Compute the amount for a payment term line. In case of procent computation, use the payment term line rounding if defined :param total_amount: total balance to pay :param remaining_amount: total amount minus sum of previous lines computed amount :returns: computed amount for this line
New fields (1)
-
payment_terms_delay_typeSelectiondefault='days'help='Choose the type of delay when creating new payment terms.'selection=[('days', 'Days'), ('weeks', 'Days and Weeks'), ('months', 'Days and Months'), ('weeks_and_months', 'Days, Weeks and Months')]string='Payment terms Delay types'
No public methods.
New fields (1)
-
payment_terms_delay_typeSelectionreadonly=Falserelated='company_id.payment_terms_delay_type'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…