Repository
OCA/account-reconcile · module folder · Try on Runboat
Module version
1.0.1
Category
Accounting
Folder size
0.06 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-reconcile
Last tracking update
2026-08-07 08:43:01
Authors
Odoo Community Association (OCA), Hunki Enterprises BV
Maintainers
Odoo Community Association (OCA), Hunki Enterprises BV
Committers
Holger Brunn, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows a workflow where you don't invoice sales orders until you've received a payment.

That's useful ie for webshops with non-instant payment like wire transfer, where you might have a lot of customers not doing the payment after all, which results in extra work for cancellation of the invoices/orders involved.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
bank_statement_line_form_reconcile_view account.bank.statement.line form Inherits account_reconcile_oca.bank_statement_line_form_reconcile_view
sale_order_tree sale.order list Inherits sale.sale_order_tree
view_account_reconcile_model_form account.reconcile.model form Inherits account.view_account_reconcile_model_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (1)
  • add_sale_order_id Many2one → sale.order
    check_company=True default=False prefetch=False store=False args: 'sale.order'
Public methods (0)

No public methods.

New fields (4)
  • rule_type Selection
    ondelete={'sale_order_matching': 'cascade'} selection_add=[('sale_order_matching', 'Rule to match sales orders')]
  • sale_order_matching_payment_method_ids Many2many → payment.method
    comodel_name='payment.method' help="Set this field to restrict sales order matching to specific payment methods used on the SO's payment transaction" relation='account_reconcile_model_sale_order_payment_method_rel' string='Payment methods'
  • sale_order_matching_token_length Integer
    default=3 help="Set the minimum word length to search for. If you set this to 4, and the statement line's label is 'hello you', it will only search for 'hello', not for 'you'" string='Minimum token length'
  • sale_order_matching_token_match Boolean
    help="When this is activated, the statement line's label is split into words and if one of those words match a sales order, it is considered a match. So if the statement line's label is 'hello world', sales orders with names 'hello', 'world', 'some name containing hello', 'some name containing world' will be considered matches, in that order" string='Match tokens'
Public methods (0)

No public methods.