Purchase Advance Payment

purchase_advance_payment
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/19.0/purchase_advance_payment
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Bhavesh Heliconia
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The module allows to add advance payments on purchase orders and Request
for Quotation. The advance payments are allowed even before confirmation
and before starting the billing process.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
res_config_settings_view_form_purchase res.config.settings.view.form.inherit.purchase - purchase_advance_payment res.config.settings xpath Inherits purchase.res_config_settings_view_form_purchase
view_account_payment_form account.payment.form - purchase_advance_payment account.payment field Inherits account.view_account_payment_form
view_account_payment_search account.payment.search account.payment filter Inherits account.view_account_payment_search
view_account_supplier_payment_tree account.payment.tree account.payment field Inherits account.view_account_supplier_payment_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (1)
  • purchase_id Many2one → purchase.order
    readonly=True args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (11)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True
  • available_payment_method_line_ids Many2many → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_available_payment_method_line_ids'
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' readonly=True store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_method_line_id Many2one → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_payment_method_line_id' domain="[('id', 'in', available_payment_method_line_ids)]" readonly=False store=True string='Payment Method'
  • payment_ref Char
    args: 'Ref.'
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.

New fields (2)
  • auto_post_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_post_advance_payments'
  • auto_reconcile_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_reconcile_advance_payments'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/18.0/purchase_advance_payment
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSLois Rilo, Weblate, OCA-git-bot, oca-ci, ThiagoMForgeFlow, DavidJForgeFlow, Wesley Oliveira, Fernando
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The module allows to add advance payments on purchase orders and Request
for Quotation. The advance payments are allowed even before confirmation
and before starting the billing process.

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
res_config_settings_view_form_purchase res.config.settings.view.form.inherit.purchase - purchase_advance_payment res.config.settings xpath Inherits purchase.res_config_settings_view_form_purchase
view_account_payment_form account.payment.form - purchase_advance_payment account.payment field Inherits account.view_account_payment_form
view_account_payment_search account.payment.search account.payment filter Inherits account.view_account_payment_search
view_account_supplier_payment_tree account.payment.tree account.payment field Inherits account.view_account_supplier_payment_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (1)
  • purchase_id Many2one → purchase.order
    index=True readonly=True args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (11)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True
  • available_payment_method_line_ids Many2many → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_available_payment_method_line_ids'
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' readonly=True store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_method_line_id Many2one → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_payment_method_line_id' domain="[('id', 'in', available_payment_method_line_ids)]" readonly=False store=True string='Payment Method'
  • payment_ref Char
    args: 'Ref.'
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.

New fields (2)
  • auto_post_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_post_advance_payments'
  • auto_reconcile_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_reconcile_advance_payments'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/17.0/purchase_advance_payment
VERSION
VERSION 1.5.1
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSLois Rilo, Weblate, OCA-git-bot, oca-ci, Vincent Van Rossem, Wesley Oliveira, maciej-wichowski
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
The module allows to add advance payments on purchase orders and Request
for Quotation. The advance payments are allowed even before confirmation
and before starting the billing process.

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
res_config_settings_view_form_purchase res.config.settings.view.form.inherit.purchase - purchase_advance_payment res.config.settings xpath Inherits purchase.res_config_settings_view_form_purchase
view_account_payment_search account.payment.search account.payment filter Inherits account.view_account_payment_search
view_account_supplier_payment_tree account.payment.search account.payment field Inherits account.view_account_supplier_payment_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • action_post(self)

New fields (1)
  • purchase_id Many2one → purchase.order
    readonly=True args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (11)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True
  • available_payment_method_line_ids Many2many → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_available_payment_method_line_ids'
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' readonly=True store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_method_line_id Many2one → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_payment_method_line_id' domain="[('id', 'in', available_payment_method_line_ids)]" readonly=False store=True string='Payment Method'
  • payment_ref Char
    args: 'Ref.'
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.

New fields (2)
  • auto_post_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_post_advance_payments'
  • auto_reconcile_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_reconcile_advance_payments'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/16.0/purchase_advance_payment
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSLois Rilo, Weblate, OCA-git-bot, oca-ci, Wesley Oliveira, sonhd91
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
res_config_settings_view_form_purchase res.config.settings.view.form.inherit.purchase - purchase_advance_payment res.config.settings xpath Inherits purchase.res_config_settings_view_form_purchase
view_account_payment_search account.payment.search account.payment filter Inherits account.view_account_payment_search
view_account_supplier_payment_tree account.payment.search account.payment field Inherits account.view_account_supplier_payment_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (4)

New fields (1)
  • purchase_id Many2one → purchase.order
    readonly=True states={'draft': [('readonly', False)]} args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (11)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True
  • available_payment_method_line_ids Many2many → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_available_payment_method_line_ids'
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' readonly=True store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_method_line_id Many2one → account.payment.method.line
    comodel_name='account.payment.method.line' compute='_compute_payment_method_line_id' domain="[('id', 'in', available_payment_method_line_ids)]" readonly=False store=True string='Payment Method'
  • payment_ref Char
    args: 'Ref.'
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.

New fields (1)
  • auto_post_purchase_advance_payments Boolean
    config_parameter='purchase_advance_payment.auto_post_advance_payments'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/15.0/purchase_advance_payment
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSLois Rilo, Weblate, OCA-git-bot, oca-ci, Jasmin Solanki, Wesley Oliveira
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (3)

New fields (1)
  • purchase_id Many2one → purchase.order
    readonly=True states={'draft': [('readonly', False)]} args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (9)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True
  • currency_amount Monetary
    compute='_compute_currency_amount' currency_field='currency_id' readonly=True store=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_ref Char
    args: 'Ref.'
Public methods (3)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/14.0/purchase_advance_payment
VERSION
VERSION 1.1.3
CATEGORY
CATEGORYPurchase
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Forgeflow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Forgeflow
COMMITTERS
COMMITTERSLois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Yves Goldberg, Wesley Oliveira
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form purchase.order button Inherits purchase.purchase_order_form
purchase_order_kpis_tree purchase.order.inherit.purchase.order.tree purchase.order field Inherits purchase.purchase_order_kpis_tree
purchase_order_view_tree purchase.order.view.tree purchase.order field Inherits purchase.purchase_order_view_tree
view_account_voucher_wizard Advance Payment account.voucher.wizard.purchase form New
Models touched (3)

New fields (1)
  • purchase_id Many2one → purchase.order
    readonly=True states={'draft': [('readonly', False)]} args: 'purchase.order', 'Purchase'
Public methods (0)

No public methods.

New fields (9)
  • amount_advance Monetary
    currency_field='journal_currency_id' required=True args: 'Amount advanced'
  • amount_total Monetary
    readonly=True args: 'Amount total'
  • currency_amount Monetary
    currency_field='currency_id' readonly=True args: 'Curr. amount'
  • currency_id Many2one → res.currency
    readonly=True args: 'res.currency', 'Currency'
  • date Date
    default=fields.Date.context_today required=True args: 'Date'
  • journal_currency_id Many2one → res.currency
    compute='_compute_get_journal_currency' readonly=False store=True args: 'res.currency', 'Journal Currency'
  • journal_id Many2one → account.journal
    domain=[('type', 'in', ('bank', 'cash'))] required=True args: 'account.journal', 'Journal'
  • order_id Many2one → purchase.order
    required=True args: 'purchase.order'
  • payment_ref Char
    args: 'Ref.'
Public methods (4)
  • check_amount(self)
    @api.constrains('amount_advance')
  • default_get(self, fields_list)
    @api.model
  • make_advance_payment(self)
    Create customer paylines and validates the payment
  • onchange_date(self)
    @api.onchange('journal_id', 'date', 'amount_advance')

New fields (4)
  • account_payment_ids One2many → account.payment
    readonly=True string='Pay purchase advanced' args: 'account.payment', 'purchase_id'
  • advance_payment_status Selection
    compute='_compute_purchase_advance_payment' copy=False readonly=True selection=[('not_paid', 'Not Paid'), ('paid', 'Paid'), ('partial', 'Partially Paid')] store=True string='Advance Payment Status' tracking=True
  • amount_residual Float
    compute='_compute_purchase_advance_payment' readonly=True store=True args: 'Residual amount'
  • payment_line_ids Many2many → account.move.line
    compute='_compute_purchase_advance_payment' store=True string='Payment move lines' args: 'account.move.line'
Public methods (0)

No public methods.