Partner Financial Risk

partner_financial_risk
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/10.0/partner_financial_risk
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, simonev, David
WEBSITE
WEBSITEhttps://www.tecnativa.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
assets_common assets_common ir.ui.view qweb Inherits web.assets_common
partner_risk_exceeded_wizard Partner risk exceeded partner.risk.exceeded.wiz form New
res_partner_view_risk res.partner.view.risk res.partner page Inherits base.view_partner_form
view_account_config account settings account.config.settings xpath Inherits account.view_account_config_settings
Models touched (5)

New fields (1)
  • invoice_unpaid_margin Integer
    related='company_id.invoice_unpaid_margin'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_invoice_open(self)
    @api.multi

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • partner_id Many2one → res.partner
    comodel_name='res.partner' readonly=True string='Customer'
Public methods (2)
  • action_show(self)
    @api.multi
  • button_continue(self)
    @api.multi

New fields (1)
  • invoice_unpaid_margin Integer
    help='Days after due date to set an invoice as unpaid.The change of this field recompute all partners risk,be patient.' string='Maturity Margin'
Public methods (0)

No public methods.

New fields (21)
  • credit_limit Float
    track_visibility='onchange'
  • credit_policy Char
  • move_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='partner_id' string='Account Moves'
  • risk_account_amount Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' store=True string='Total Other Account Open Amount'
  • risk_account_amount_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' string='Include Other Account Open Amount'
  • risk_account_amount_limit Monetary
    help='Set 0 if it is not locked' string='Limit Other Account Open Amount'
  • risk_account_amount_unpaid Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' store=True string='Total Other Account Unpaid Amount'
  • risk_account_amount_unpaid_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' string='Include Other Account Unpaid Amount'
  • risk_account_amount_unpaid_limit Monetary
    help='Set 0 if it is not locked' string='Limit Other Account Unpaid Amount'
  • risk_allow_edit Boolean
    compute='_compute_risk_allow_edit'
  • risk_exception Boolean
    compute='_compute_risk_exception' help='It Indicate if partner risk exceeded' string='Risk Exception'
  • risk_invoice_draft Monetary
    compute='_compute_risk_invoice' help='Total amount of invoices in Draft or Pro-forma state' store=True string='Total Draft Invoices'
  • risk_invoice_draft_include Boolean
    help='Full risk computation' string='Include Draft Invoices'
  • risk_invoice_draft_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Draft Invoices'
  • risk_invoice_open Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' store=True string='Total Open Invoices/Principal Balance'
  • risk_invoice_open_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' string='Include Open Invoices/Principal Balance'
  • risk_invoice_open_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Open Invoices/Principal Balance'
  • risk_invoice_unpaid Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' store=True string='Total Unpaid Invoices/Principal Balance'
  • risk_invoice_unpaid_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' string='Include Unpaid Invoices/Principal Balance'
  • risk_invoice_unpaid_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Unpaid Invoices/Principal Balance'
  • risk_total Monetary
    compute='_compute_risk_exception' help='Sum of total risk included' string='Total Risk'
Public methods (1)
  • process_unpaid_invoices(self)
    @api.model
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/9.0/partner_financial_risk
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Jairo Llopis, Carlos Dauden, OCA Transbot, oca-travis, Weblate, Rafael Blasco, OCA-git-bot
WEBSITE
WEBSITEhttps://www.tecnativa.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
invoice_partner_risk_form account.invoice.partner.risk.form account.invoice button Inherits account.invoice_form
partner_risk_exceeded_wizard Partner risk exceeded partner.risk.exceeded.wiz form New
res_partner_view_risk res.partner.view.risk res.partner page Inherits base.view_partner_form
view_account_config account settings account.config.settings xpath Inherits account.view_account_config_settings
Models touched (5)

New fields (1)
  • invoice_unpaid_margin Integer
    related='company_id.invoice_unpaid_margin'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • invoice_open(self)
    @api.multi

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • partner_id Many2one → res.partner
    comodel_name='res.partner' readonly=True string='Customer'
Public methods (2)
  • action_show(self)
    @api.multi
  • button_continue(self)
    @api.multi

New fields (1)
  • invoice_unpaid_margin Integer
    help='Days after due date to set an invoice as unpaid.The change of this field recompute all partners risk,be patient.' string='Maturity Margin'
Public methods (0)

No public methods.

New fields (21)
  • credit_limit Float
    track_visibility='onchange'
  • credit_policy Char
  • move_line_ids One2many → account.move.line
    comodel_name='account.move.line' inverse_name='partner_id' string='Account Moves'
  • risk_account_amount Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' store=True string='Total Other Account Open Amount'
  • risk_account_amount_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' string='Include Other Account Open Amount'
  • risk_account_amount_limit Monetary
    help='Set 0 if it is not locked' string='Limit Other Account Open Amount'
  • risk_account_amount_unpaid Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' store=True string='Total Other Account Unpaid Amount'
  • risk_account_amount_unpaid_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with distinct account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' string='Include Other Account Unpaid Amount'
  • risk_account_amount_unpaid_limit Monetary
    help='Set 0 if it is not locked' string='Limit Other Account Unpaid Amount'
  • risk_allow_edit Boolean
    compute='_compute_risk_allow_edit'
  • risk_exception Boolean
    compute='_compute_risk_exception' help='It Indicate if partner risk exceeded' string='Risk Exception'
  • risk_invoice_draft Monetary
    compute='_compute_risk_invoice' help='Total amount of invoices in Draft or Pro-forma state' store=True string='Total Draft Invoices'
  • risk_invoice_draft_include Boolean
    help='Full risk computation' string='Include Draft Invoices'
  • risk_invoice_draft_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Draft Invoices'
  • risk_invoice_open Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' store=True string='Total Open Invoices/Principal Balance'
  • risk_invoice_open_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity not exceeded, considering Due Margin set in account settings.' string='Include Open Invoices/Principal Balance'
  • risk_invoice_open_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Open Invoices/Principal Balance'
  • risk_invoice_unpaid Monetary
    compute='_compute_risk_account_amount' help='Residual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' store=True string='Total Unpaid Invoices/Principal Balance'
  • risk_invoice_unpaid_include Boolean
    help='Full risk computation.\nResidual amount of move lines not reconciled with the same account that is set as partner receivable and date maturity exceeded, considering Due Margin set in account settings.' string='Include Unpaid Invoices/Principal Balance'
  • risk_invoice_unpaid_limit Monetary
    help='Set 0 if it is not locked' string='Limit In Unpaid Invoices/Principal Balance'
  • risk_total Monetary
    compute='_compute_risk_exception' help='Sum of total risk included' string='Total Risk'
Public methods (1)
  • process_unpaid_invoices(self)
    @api.model
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/8.0/partner_financial_risk
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Daniel-CA, Andhitia Rama
WEBSITE
WEBSITEhttps://www.tecnativa.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
invoice_partner_risk_form account.invoice.partner.risk.form account.invoice button Inherits account.invoice_form
partner_risk_exceeded_wizard Partner risk exceeded partner.risk.exceeded.wiz form New
res_partner_view_risk res.partner.view.risk res.partner field Inherits account.view_partner_property_form
view_account_config account settings account.config.settings xpath Inherits account.view_account_config_settings
Models touched (5)

New fields (1)
  • invoice_unpaid_margin Integer
    related='company_id.invoice_unpaid_margin'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • invoice_open(self)
    @api.multi

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • partner_id Many2one → res.partner
    comodel_name='res.partner' readonly=True string='Customer'
Public methods (2)
  • action_show(self)
    @api.multi
  • button_continue(self)
    @api.multi

New fields (1)
  • invoice_unpaid_margin Integer
    help='Days after due date to set an invoice as unpaid' string='Maturity Margin'
Public methods (0)

No public methods.

New fields (16)
  • credit_policy Char
  • risk_account_amount Float
    compute='_compute_risk_account_amount' help='Difference between accounting credit and rest of totals' string='Other Account Amount'
  • risk_account_amount_include Boolean
    help='Full risk computation' string='Include Other Account Amount'
  • risk_account_amount_limit Float
    help='Set 0 if it is not locked' string='Limit Other Account Amount'
  • risk_allow_edit Boolean
    compute='_compute_risk_allow_edit'
  • risk_exception Boolean
    compute='_compute_risk_exception' help='It Indicate if partner risk exceeded' string='Risk Exception'
  • risk_invoice_draft Float
    compute='_compute_risk_invoice' help='Total amount of invoices in Draft or Pro-forma state' store=True string='Total Draft Invoices'
  • risk_invoice_draft_include Boolean
    help='Full risk computation' string='Include Draft Invoices'
  • risk_invoice_draft_limit Float
    help='Set 0 if it is not locked' string='Limit In Draft Invoices'
  • risk_invoice_open Float
    compute='_compute_risk_invoice' help='Residual amount of invoices in Open state and the date due is not exceeded, considering Due Margin set in account settings' store=True string='Total Open Invoices'
  • risk_invoice_open_include Boolean
    help='Full risk computation' string='Include Open Invoices'
  • risk_invoice_open_limit Float
    help='Set 0 if it is not locked' string='Limit In Open Invoices'
  • risk_invoice_unpaid Float
    compute='_compute_risk_invoice' help='Residual amount of invoices in Open state and the date due is exceeded, considering Unpaid Margin set in account settings' store=True string='Total Unpaid Invoices'
  • risk_invoice_unpaid_include Boolean
    help='Full risk computation' string='Include Unpaid Invoices'
  • risk_invoice_unpaid_limit Float
    help='Set 0 if it is not locked' string='Limit In Unpaid Invoices'
  • risk_total Float
    compute='_compute_risk_exception' help='Sum of total risk included' string='Total Risk'
Public methods (1)
  • process_unpaid_invoices(self)
    @api.model