Repository
OCA/account-invoicing · module folder · Try on Runboat
Module version
1.0.0
Category
Accounting & Finance
Folder size
0.14 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-invoicing
Last tracking update
2026-08-07 08:09:10
Authors
Odoo Community Association (OCA), Ecosoft
Maintainers
kittiu
Committers
Saran440, Weblate, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings form Inherits account.res_config_settings_view_form
view_account_payment_register_form account.payment.register.form account.payment.register form Inherits account.view_account_payment_register_form
view_move_form account.move.form account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (7)
  • amount_retention Float
    help='Retention in percent of this invoice, or by amount' readonly=True states={'draft': [('readonly', False)]} string='Retention'
  • domain_retained_move_ids Many2many → account.move
    column1='move_id' column2='retained_id' comodel_name='account.move' copy=False readonly=True relation='account_move_domain_retained_rel'
  • payment_retention Selection
    help='Suggested retention amount to be withheld on payment.\nNote: as a suggestiong, during payment, user can ignore it.' readonly=True selection=[('percent', 'Percent'), ('amount', 'Amount')] states={'draft': [('readonly', False)]}
  • retained_move_ids Many2many → account.move
    column1='invoice_id' column2='move_id' comodel_name='account.move' copy=False readonly=True relation='account_invoice_move_rel' states={'draft': [('readonly', False)]} string='Return Retention'
  • retention_amount_currency Monetary
    compute='_compute_retention_amount_currency' help='Based on retention type, this field show the amount to retain.' store=True string='Retention Amount'
  • retention_method Selection
    default=<expr> help='Method for computing the retention\n- Untaxed Amount: The retention compute from the untaxed amount\n- Total: The retention compute from the total amount' readonly=True selection=[('untax', 'Untaxed Amount'), ('total', 'Total')] states={'draft': [('readonly', False)]}
  • retention_residual_currency Monetary
    compute='_compute_retention_residual_currency' string='Retention Residual'
Public methods (1)
  • action_post(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • apply_payment_retention Boolean
    string='Apply Retention'
  • enforce_payment_retention Boolean
    default=True help='Enforce retention amount as suggested, otherwise, user can ignore the retention.' string='Enforce Retention'
  • retention_amount_currency Monetary
    compute='_compute_retention_amount_currency' help='Expected amount to retain on payment currency' store=True string='Suggested Retention'
Public methods (1)
  • action_create_payments(self)

New fields (3)
  • retention_account_id Many2one → account.account
    comodel_name='account.account' domain=[('account_type', 'not in', ['asset_receivable', 'asset_cash', 'liability_payable'])] help='Retention account used for case payment retention'
  • retention_method Selection
    default='untax' help='Method for computing the retention\n- Untaxed Amount: The retention compute from the untaxed amount\n- Total: The retention compute from the total amount' selection=[('untax', 'Untaxed Amount'), ('total', 'Total')]
  • retention_receivable_account_id Many2one → account.account
    comodel_name='account.account' domain=[('account_type', 'not in', ['asset_receivable', 'asset_cash', 'liability_payable'])] help='Retention account used for case payment retention'
Public methods (0)

No public methods.

New fields (4)
  • group_payment_retention Boolean
    implied_group='account_invoice_payment_retention.group_payment_retention' string="Enable Invoice's Retention on Payment"
  • retention_account_id Many2one → account.account
    comodel_name='account.account' help='Retention account used for case payment retention' readonly=False related='company_id.retention_account_id'
  • retention_method Selection
    help='Method for computing the retention\n- Untaxed Amount: The retention compute from the untaxed amount\n- Total: The retention compute from the total amount' readonly=False related='company_id.retention_method' string='Retention Method'
  • retention_receivable_account_id Many2one → account.account
    comodel_name='account.account' help='Retention receivable account used for case payment retention' readonly=False related='company_id.retention_receivable_account_id'
Public methods (0)

No public methods.

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
421 days ago
Last activity
49 days ago
Repository
OCA/account-invoicing
Pull request
[17.0][MIG] account_invoice_payment_retention: Migration to 17.0 (#2034)
Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
442 days ago
Last activity
50 days ago
Repository
OCA/account-invoicing
Pull request
[18.0][MIG] account_invoice_payment_retention (#2025)