Account Document Reversal

account_document_reversal
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/13.0/account_document_reversal
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Ecosoft
COMMITTERS
COMMITTERSCarlos Lopez, Jordi Ballester Alomar, OCA Transbot, Weblate, OCA-git-bot, oca-ci, Kitti U, kittiu
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale
    - sales_team
    - payment
    - utm
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
account_invoice_view_tree account.invoice.view.tree account.move field Inherits account.view_invoice_tree
view_account_invoice_filter view.account.invoice.filter account.move filter Inherits account.view_account_invoice_filter
view_account_journal_form account.journal.form account.journal xpath Inherits account.view_account_journal_form
view_account_payment_form view.account.payment.form account.payment field Inherits account.view_account_payment_form
view_move_form account.move.form.inherit account.move field Inherits account.view_move_form
view_reverse_account_document reverse.account.document.form reverse.account.document form New
Models touched (10)

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    Reverse all moves related to this statement + delete payment
  • button_cancel_reconciliation(self)
    If cancel method is to reverse, use document reversal wizard

New fields (1)
  • is_cancel_reversal Boolean
    compute='_compute_is_cancel_reversal' string='Use Cancel Reversal'
Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    Reverse with following guildeline, - Check existing document state / raise warning - Find all related moves and unreconcile - Create reversed moves - Set state to cancel
  • reverse_document_wizard(self)
    @api.model
    Return Wizard to Cancel Document

New fields (4)
  • cancel_method Selection
    default='normal' required=True string='Cancel Method' args: [('normal', 'Normal (remove journal entries)'), ('reversal', 'Reversal (create reversed journal entries)')]
  • is_cancel_reversal Boolean
    compute='_compute_is_cancel_reversal' help='True, when journal allow cancel entries with method is reversal' string='Use Cancel Reversal'
  • reversal_journal_id Many2one → account.journal
    help='Journal in this field will show in reversal wizard as default' string='Default Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='If checked, reversal wizard will show field Reversal Journal' string='Use different journal for reversal'
Public methods (0)

No public methods.

New fields (2)
  • cancel_reversal Boolean
    copy=False default=False help='This document is being cancelled by using reversal method' string='Cancel Reversal'
  • reverse_entry_id Many2one → account.move
    comodel_name='account.move' compute='_compute_reverse_entry_id' help='The move that reverse this move (opposite of reversed_entry_id)' string='Reversed by'
Public methods (4)
  • action_document_reversal(self, date=None, journal_id=None)
  • button_cancel(self)
  • button_cancel_reversal(self)
  • button_draft(self)

New fields (0)

No new fields.

Public methods (1)
  • remove_move_reconcile(self)
    Freeze move with cancel_reversal = True, disallow unreconcile

New fields (0)

No new fields.

Public methods (4)
  • action_document_reversal(self, date=None, journal_id=None)
    Reverse all moves related to this payment + set state to cancel
  • action_draft(self)
    Case cancel reversal, set to draft allowed only when no moves
  • cancel(self)
  • cancel_reversal(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • date Date
    default=fields.Date.context_today required=True string='Reversal date'
  • journal_id Many2one → account.journal
    help='If empty, uses the journal of the journal entry to be reversed.' string='Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='Checked, if the journal of underlineing document is checked.' string='Use different journal for reversal'
Public methods (2)
  • action_cancel(self)
  • default_get(self, default_fields)
    @api.model

New fields (0)

No new fields.

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/12.0/account_document_reversal
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Ecosoft
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Kitti U, Fernanda Hernandez
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_cancel
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_account_journal_form_inherit account.journal.form account.journal field Inherits account_cancel.view_account_journal_form_inherit
view_move_form_inherit_account_cancel account.move.form.inherit account.move field Inherits account_cancel.view_move_form_inherit_account_cancel
view_reverse_account_document reverse.account.document.form reverse.account.document form New
Models touched (7)

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this statement + delete payment
  • button_cancel_reconciliation(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse with following guildeline, - Check existing document state / raise warning - Find all related moves and unreconcile - Create reversed moves - Set state to cancel
  • reverse_document_wizard(self)
    @api.model
    Return Wizard to Cancel Document

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this invoice + set state to cancel
  • action_invoice_cancel(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard * Draft invoice, fall back to standard invoice cancel * Non draft, must be fully open (not even partial reconciled) to cancel

New fields (4)
  • cancel_method Selection
    default='normal' required=True string='Cancel Method' args: [('normal', 'Normal (delete journal entries if exists)'), ('reversal', 'Reversal (create reversed journal entries)')]
  • is_cancel_reversal Boolean
    compute='_compute_is_cancel_reversal' help='True, when journal allow cancel entries with method is reversal' string='Use Cancel Reversal'
  • reversal_journal_id Many2one → account.journal
    help='Journal in this field will show in reversal wizard as default' string='Default Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='If checked, reversal wizard will show field Reversal Journal' string='Use different journal for reversal'
Public methods (0)

No public methods.

New fields (1)
  • is_cancel_reversal Boolean
    related='journal_id.is_cancel_reversal' string='Use Cancel Reversal'
Public methods (1)
  • button_cancel(self)
    @api.multi
    Do not allow using this button for cancel with reversal

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this payment + set state to cancel
  • cancel(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard

New fields (3)
  • date Date
    default=fields.Date.context_today required=True string='Reversal date'
  • journal_id Many2one → account.journal
    help='If empty, uses the journal of the journal entry to be reversed.' string='Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='Checked, if the journal of underlineing document is checked.' string='Use different journal for reversal'
Public methods (2)
  • action_cancel(self)
    @api.multi
  • default_get(self, default_fields)
    @api.model
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/11.0/account_document_reversal
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYAccounting & Finance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSJordi Ballester Alomar, oca-travis, OCA-git-bot, Fernanda Hernandez
WEBSITE
WEBSITEhttps://github.com/OCA/account-financial-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_cancel
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_account_journal_form_inherit account.journal.form account.journal field Inherits account_cancel.view_account_journal_form_inherit
view_move_form_inherit_account_cancel account.move.form.inherit account.move field Inherits account_cancel.view_move_form_inherit_account_cancel
view_reverse_account_document reverse.account.document.form reverse.account.document form New
Models touched (7)

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this statement + delete payment
  • button_cancel_reconciliation(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse with following guildeline, - Check existing document state / raise warning - Find all related moves and unreconcile - Create reversed moves - Set state to cancel
  • reverse_document_wizard(self)
    @api.model
    Return Wizard to Cancel Document

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this invoice + set state to cancel
  • action_invoice_cancel(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard * Draft invoice, fall back to standard invoice cancel * Non draft, must be fully open (not even partial reconciled) to cancel

New fields (4)
  • cancel_method Selection
    default='normal' required=True string='Cancel Method' args: [('normal', 'Normal (delete journal entries if exists)'), ('reversal', 'Reversal (create reversed journal entries)')]
  • is_cancel_reversal Boolean
    compute='_compute_is_cancel_reversal' help='True, when journal allow cancel entries with method is reversal' string='Use Cancel Reversal'
  • reversal_journal_id Many2one → account.journal
    help='Journal in this field will show in reversal wizard as default' string='Default Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='If checked, reversal wizard will show field Reversal Journal' string='Use different journal for reversal'
Public methods (0)

No public methods.

New fields (1)
  • is_cancel_reversal Boolean
    related='journal_id.is_cancel_reversal' string='Use Cancel Reversal'
Public methods (1)
  • button_cancel(self)
    @api.multi
    Do not allow using this button for cancel with reversal

New fields (0)

No new fields.

Public methods (2)
  • action_document_reversal(self, date=None, journal_id=None)
    @api.multi
    Reverse all moves related to this payment + set state to cancel
  • cancel(self)
    @api.multi
    If cancel method is to reverse, use document reversal wizard

New fields (3)
  • date Date
    default=fields.Date.context_today required=True string='Reversal date'
  • journal_id Many2one → account.journal
    help='If empty, uses the journal of the journal entry to be reversed.' string='Reversal Journal' args: 'account.journal'
  • use_different_journal Boolean
    help='Checked, if the journal of underlineing document is checked.' string='Use different journal for reversal'
Public methods (2)
  • action_cancel(self)
    @api.multi
  • default_get(self, default_fields)
    @api.model