Reconciliation models¶
Reconciliation models are used to automate the bank reconciliation process, which is especially handy when dealing with recurring entries like bank fees. Reconciliation models can also be helpful in handling cash discounts.
Each model is created based on a model type and bank transaction conditions.
See also
Reconciliation model types¶
The reconciliation models are available by going to . For each reconciliation model, a Type must be set. Three types of models exist:
Add a button to the reconcile screen: a button is created above the tabs of the bank reconciliation view. If clicked, this button generates a counterpart entry to reconcile with the active transaction based on the rules set in the model. The rules specified in the model determine the counterpart entry’s account(s), amount(s), label(s), and analytic distribution. This type is manual only: it never runs on its own;
Suggest a fixed counterpart line: used for recurring transactions to match the transaction to a new entry based on conditions that must match the information on the transaction;
Find a matching invoice/bill: used for recurring transactions to match the transaction to existing invoices, bills, or payments based on conditions that must match the information on the transaction.
The form states under the Type whether the selected type Can run automatically or is Manual only.
Tip
To create a rule without going through the full form, use the guided wizard: it asks for a Name, for what the rule should do (Find a matching invoice/bill, Suggest a fixed counterpart line or Add a button to the reconcile screen), for the Counterpart account and the Bank/cash journals, and whether it should Reconcile automatically. It then summarizes in one sentence what the rule will do and creates it.
Default reconciliation models¶
In Odoo, different models are available by default depending on the company’s fiscal localization. These can be updated if needed. Users can also create their own reconciliation models by clicking New.
Important
If a record matches with several reconciliation models, the first one in the sequence of models is applied. You can rearrange the order by dragging and dropping the handle next to the name.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models
- shows
- The reconciliation model list with the drag handle in front of each row, four models in order (invoice matching, partial match, bank fees, manual write-off button).
- highlight
- The drag handles of the first column (red frame).
- data
- Demo company "YourCompany HU" with the default localization models.
- module
- account, account_reconcile_model_oca, eyssen_accountant
- notes
- English UI, light theme, 1440px width.
Invoices/Bills perfect match¶
This model should be at the top of the sequence of models, as it enables Odoo to suggest matching existing invoices or bills with a bank transaction based on set conditions.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models ‣ Invoices/Bills perfect match
- shows
- The reconciliation model form with Type "Find a matching invoice/bill", the "Reconcile automatically" toggle on, and the conditions "Label" and "Partner is Set" ticked.
- highlight
- The "Reconcile automatically" toggle and the matching conditions.
- data
- The default "Invoices/Bills perfect match" model.
- module
- account, account_reconcile_model_oca, eyssen_accountant
- notes
- English UI, light theme, 1440px width.
Odoo automatically reconciles the payment when the Reconcile automatically option is enabled, and the model conditions are perfectly met. In this case, it expects to find on the bank statement’s line the invoice/payment’s reference (as Label is selected) and the partner’s name (as Partner is set is selected) to suggest the correct counterpart entry and reconcile the payment automatically.
Invoices/Bills partial match if underpaid¶
This model suggests a customer invoice or vendor bill that partially matches the payment when the amount received is slightly lower than the invoice amount, for example in the case of cash discounts. The difference is reconciled with the account indicated in the counterpart entries tab.
The reconciliation model Type is Rule to match invoices/bills, and the Payment tolerance should be set.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models ‣ Invoices/Bills partial match if underpaid
- shows
- The reconciliation model form with Type "Find a matching invoice/bill", the "Payment Tolerance" checkbox on and a "Gap" of 2 in percentage, and the counterpart entries tab showing the write-off account.
- highlight
- The "Payment Tolerance" and "Gap" fields (red frame).
- data
- The default "Invoices/Bills partial match if underpaid" model.
- module
- account, account_reconcile_model_oca
- notes
- English UI, light theme, 1440px width.
Note
The Payment tolerance is only applicable to lower payments. It is disregarded when an overpayment is received.
See also
Line with bank fees¶
This model suggests a counterpart entry according to the rules set in the model. In this case, the reconciliation model Type is Rule to suggest counterpart entry, and the Label can be used for example, to identify the information referring to the Bank fees in the label of the transaction.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models ‣ (a bank fees model)
- shows
- A reconciliation model form with Type "Suggest a fixed counterpart line", the Label condition set to "Contains" with the parameter "BANK FEE", and a counterpart line booked on the bank charges account.
- highlight
- The Label condition and the counterpart line.
- data
- Model "Bank fees", counterpart account "Bank charges".
- module
- account, account_reconcile_model_oca
- notes
- English UI, light theme, 1440px width.
Note
Regular expressions, often abbreviated as Regex, can be used in Odoo in various ways to search, validate, and manipulate data within the system. Regex can be powerful but also complex, so it’s essential to use it judiciously and with a good understanding of the patterns you’re working with.
To use regular expressions in your reconciliation models, set the Transaction Type to Match Regex and add your expression. Odoo automatically retrieves the transactions that match your Regex expression and the conditions specified in your model.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models ‣ (a model using a regex)
- shows
- The Label condition set to "Match Regex" with a regular expression in the Label Parameter field.
- highlight
- The "Match Regex" selection and the expression (red frame).
- data
- Expression matching an invoice number, e.g. "INV/[0-9]{4}/[0-9]+".
- module
- account, account_reconcile_model_oca
- notes
- English UI, light theme, crop to the conditions block.
Partner mapping¶
Partner mapping allows you to establish rules for automatically matching transactions to the correct partner account, saving time and reducing the risk of errors that can occur during manual reconciliation. For example, you can create a partner mapping rule for incoming payments with specific reference numbers or keywords in the transaction description. When an incoming payment meets these criteria, Odoo automatically maps it to the corresponding customer’s account.
To create a partner mapping rule, go to the Partner Mapping tab and enter the Find Text in Label, Find Text in Notes, and Partner.
- menu
- Accounting ‣ Configuration ‣ Banks ‣ Reconciliation Models ‣ (a model) ‣ Partner Mapping
- shows
- The Partner Mapping tab with two lines: "Find Text in Label", "Find Text in Notes" and the mapped Partner.
- highlight
- The Partner Mapping tab (red frame).
- data
- One line mapping the label "DECO" to the customer "Deco Addict".
- module
- account
- notes
- English UI, light theme, crop to the tab.
Additional options¶
Two extra settings are available on the reconciliation model form:
- Show in reconcile toolbar
Only for the Add a button to the reconcile screen type. Turn it off to hide a rarely used write-off model from the reconciliation screen without deleting it.
- When bank amount exceeds matched invoices
Only for Find a matching invoice/bill rules that reconcile automatically. It decides what happens when the bank amount is higher than the sum of the matched invoices (an overpayment, or an incomplete multi-invoice match):
Allow auto (leave residual open): reconcile anyway and leave the remainder as an open balance on the partner;
Allow auto and mark To Check: reconcile anyway, but flag the entry as To Check for review;
Only auto on full amount match: do not reconcile automatically unless the matched invoices fully cover the bank amount. The match is still suggested.
The Payment Tolerance keeps handling underpayments; this setting only covers the opposite case.
Warning
On a Find a matching invoice/bill rule, if any of the text conditions (Label, Note, Reference) is enabled and the statement text does not match, the rule does not fall back to matching on the amount alone.