Purchase Unreconciled

purchase_unreconciled
REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/18.0/purchase_unreconciled
VERSION
VERSION
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow S.L.
COMMITTERS
COMMITTERSJordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Bhavesh Heliconia, IsabelAForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_move_line_purchase_info
OCA/server-tools:
    - base_view_inheritance_extension
odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a new fields "Unreconciled" on Purchase Orders, that
allows to find PO's with unreconciled journal items related.

This module allows to reconcile those PO in a single click. In
accounting settings users will be able to set up a specific account for
write-off.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_unreconciled purchase.order field Inherits purchase.purchase_order_form
purchase_order_view_search Custom Purchase Unreconciled Search purchase.order filter Inherits purchase.purchase_order_view_search
purchase_unreconciled_exceeded_wizard purchase unreconciled exceeded purchase.unreconciled.exceeded.wiz form New
res_config_settings_view_form res.config.settings.view.form.purchase.unreconciled res.config.settings xpath Inherits account.res_config_settings_view_form
unreconciled_amount_purchase_order_view_tree unreconciled.amount.purchase.order.tree purchase.order field Inherits purchase.purchase_order_view_tree
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • amount_unreconciled Float
    compute='_compute_unreconciled'
  • unreconciled Boolean
    compute='_compute_unreconciled' help='Indicates that a Purchase Order has related Journal items not reconciled.\nNote that if it is false it can be either that everything is reconciled or that the related accounts do not allow reconciliation' search='_search_unreconciled'
Public methods (6)
  • action_reconcile(self)
  • action_view_unreconciled(self)
  • button_done(self)
  • purchase_unreconciled_exception(self, exception_msg=None)
    This mean to be run when the SO cannot be reconciled because it is over tolerance
  • reconcile_criteria(self)
    Gets the criteria where POs are locked or not, by default uses the company configuration
  • unreconciled_exception_msg(self)

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • purchase_id Many2one → purchase.order
    comodel_name='purchase.order' readonly=True string='Order Number'
Public methods (2)
  • action_show(self)
  • button_continue(self)

New fields (4)
  • purchase_lock_auto_reconcile Boolean
  • purchase_reconcile_account_id Many2one → account.account
    copy=False domain=<expr> help='Write-off account to reconcile Unreconciled Purchase Orders' ondelete='restrict' string='Write-Off Account On Purchases' args: 'account.account'
  • purchase_reconcile_journal_id Many2one → account.journal
    string='WriteOff Journal for Purchases' args: 'account.journal'
  • purchase_reconcile_tolerance Float
    default=0.0 help='Percentage of tolerance of residual amount vs total amount of the Purchase Order. Leave zero to accept all discrepancies' string='Purchase Reconcile Tolerance (%)'
Public methods (0)

No public methods.

New fields (4)
  • purchase_lock_auto_reconcile Boolean
    readonly=False related='company_id.purchase_lock_auto_reconcile'
  • purchase_reconcile_account_id Many2one
    readonly=False related='company_id.purchase_reconcile_account_id'
  • purchase_reconcile_journal_id Many2one
    readonly=False related='company_id.purchase_reconcile_journal_id'
  • purchase_reconcile_tolerance Float
    readonly=False related='company_id.purchase_reconcile_tolerance'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/17.0/purchase_unreconciled
VERSION
VERSION
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow S.L.
COMMITTERS
COMMITTERSPedro M. Baeza, JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_move_line_purchase_info
OCA/server-tools:
    - base_view_inheritance_extension
odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds a new fields "Unreconciled" on Purchase Orders, that
allows to find PO's with unreconciled journal items related.

This module allows to reconcile those PO in a single click. In
accounting settings users will be able to set up a specific account for
write-off.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_unreconciled purchase.order field Inherits purchase.purchase_order_form
purchase_order_view_search Custom Purchase Unreconciled Search purchase.order filter Inherits purchase.purchase_order_view_search
purchase_unreconciled_exceeded_wizard purchase unreconciled exceeded purchase.unreconciled.exceeded.wiz form New
res_config_settings_view_form res.config.settings.view.form.purchase.unreconciled res.config.settings xpath Inherits account.res_config_settings_view_form
unreconciled_amount_purchase_order_view_tree unreconciled.amount.purchase.order.tree purchase.order field Inherits purchase.purchase_order_view_tree
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • amount_unreconciled Float
    compute='_compute_unreconciled'
  • unreconciled Boolean
    compute='_compute_unreconciled' help='Indicates that a Purchase Order has related Journal items not reconciled.\nNote that if it is false it can be either that everything is reconciled or that the related accounts do not allow reconciliation' search='_search_unreconciled'
Public methods (6)
  • action_reconcile(self)
  • action_view_unreconciled(self)
  • button_done(self)
  • purchase_unreconciled_exception(self, exception_msg=None)
    This mean to be run when the SO cannot be reconciled because it is over tolerance
  • reconcile_criteria(self)
    Gets the criteria where POs are locked or not, by default uses the company configuration
  • unreconciled_exception_msg(self)

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • purchase_id Many2one → purchase.order
    comodel_name='purchase.order' readonly=True string='Order Number'
Public methods (2)
  • action_show(self)
  • button_continue(self)

New fields (4)
  • purchase_lock_auto_reconcile Boolean
  • purchase_reconcile_account_id Many2one → account.account
    copy=False domain=<expr> help='Write-off account to reconcile Unreconciled Purchase Orders' ondelete='restrict' string='Write-Off Account On Purchases' args: 'account.account'
  • purchase_reconcile_journal_id Many2one → account.journal
    string='WriteOff Journal for Purchases' args: 'account.journal'
  • purchase_reconcile_tolerance Float
    default=0.0 help='Percentage of tolerance of residual amount vs total amount of the Purchase Order. Leave zero to accept all discrepancies' string='Purchase Reconcile Tolerance (%)'
Public methods (0)

No public methods.

New fields (4)
  • purchase_lock_auto_reconcile Boolean
    readonly=False related='company_id.purchase_lock_auto_reconcile'
  • purchase_reconcile_account_id Many2one
    readonly=False related='company_id.purchase_reconcile_account_id'
  • purchase_reconcile_journal_id Many2one
    readonly=False related='company_id.purchase_reconcile_journal_id'
  • purchase_reconcile_tolerance Float
    readonly=False related='company_id.purchase_reconcile_tolerance'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-financial-tools
GIT
GIThttps://github.com/OCA/account-financial-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-financial-tools/tree/16.0/purchase_unreconciled
VERSION
VERSION
CATEGORY
CATEGORYPurchases
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow S.L.
COMMITTERS
COMMITTERSJordiMForgeFlow, AaronHForgeFlow, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 15:04:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_move_line_purchase_info
OCA/server-tools:
    - base_view_inheritance_extension
odoo/odoo:
    - purchase_stock
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES astor
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
purchase_order_form purchase.order.form - purchase_unreconciled purchase.order field Inherits purchase.purchase_order_form
purchase_order_view_search Custom Purchase Unreconciled Search purchase.order filter Inherits purchase.purchase_order_view_search
purchase_unreconciled_exceeded_wizard purchase unreconciled exceeded purchase.unreconciled.exceeded.wiz form New
res_config_settings_view_form res.config.settings.view.form.purchase.unreconciled res.config.settings xpath Inherits account.res_config_settings_view_form
unreconciled_amount_purchase_order_view_tree unreconciled.amount.purchase.order.tree purchase.order field Inherits purchase.purchase_order_view_tree
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • amount_unreconciled Float
    compute='_compute_unreconciled'
  • unreconciled Boolean
    compute='_compute_unreconciled' help='Indicates that a Purchase Order has related Journal items not reconciled.\nNote that if it is false it can be either that everything is reconciled or that the related accounts do not allow reconciliation' search='_search_unreconciled'
Public methods (6)
  • action_reconcile(self)
  • action_view_unreconciled(self)
  • button_done(self)
  • purchase_unreconciled_exception(self, exception_msg=None)
    This mean to be run when the SO cannot be reconciled because it is over tolerance
  • reconcile_criteria(self)
    Gets the criteria where POs are locked or not, by default uses the company configuration
  • unreconciled_exception_msg(self)

New fields (4)
  • continue_method Char
  • exception_msg Text
    readonly=True
  • origin_reference Reference
    string='Object' args: <expr>
  • purchase_id Many2one → purchase.order
    comodel_name='purchase.order' readonly=True string='Order Number'
Public methods (2)
  • action_show(self)
  • button_continue(self)

New fields (4)
  • purchase_lock_auto_reconcile Boolean
  • purchase_reconcile_account_id Many2one → account.account
    copy=False domain=<expr> help='Write-off account to reconcile Unreconciled Purchase Orders' ondelete='restrict' string='Write-Off Account On Purchases' args: 'account.account'
  • purchase_reconcile_journal_id Many2one → account.journal
    string='WriteOff Journal for Purchases' args: 'account.journal'
  • purchase_reconcile_tolerance Float
    default=0.0 help='Percentage of tolerance of residual amount vs total amount of the Purchase Order. Leave zero to accept all discrepancies' string='Purchase Reconcile Tolerance (%)'
Public methods (0)

No public methods.

New fields (4)
  • purchase_lock_auto_reconcile Boolean
    readonly=False related='company_id.purchase_lock_auto_reconcile'
  • purchase_reconcile_account_id Many2one
    readonly=False related='company_id.purchase_reconcile_account_id'
  • purchase_reconcile_journal_id Many2one
    readonly=False related='company_id.purchase_reconcile_journal_id'
  • purchase_reconcile_tolerance Float
    readonly=False related='company_id.purchase_reconcile_tolerance'
Public methods (0)

No public methods.