Skip to content

Commit 24b5c90

Browse files
committed
[IMP] accounting: reconciliation models update
taskid-3377307 closes #5943 Signed-off-by: Xavier Platteau (xpl) <[email protected]>
1 parent 0311fae commit 24b5c90

14 files changed

+91
-95
lines changed
Lines changed: 90 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,124 @@
1+
12
=====================
2-
Reconciliation Models
3+
Reconciliation models
34
=====================
45

5-
Once the bank statements are correctly imported, it is essential to *reconcile* the records properly
6-
and ensure all *Journal Entries* are balanced and in agreement. To ease and speed up the
7-
reconciliation process, you can configure **Reconciliation Models**, which are particularly useful
8-
with recurrent entries such as bank fees.
9-
10-
.. todo:: Add a link to the Reconciliation process in the paragraph above, once the doc will have
11-
been updated.
6+
Reconciliation models are used to automate the :doc:`reconciliation` process, which is especially
7+
handy when dealing with recurring entries like bank fees. Reconciliation models can also be helpful
8+
in handling :doc:`cash discounts <../customer_invoices/cash_discounts>`.
129

13-
.. note::
14-
Reconciliation Models are also useful to handle *Cash Discounts*. Please refer to
15-
:doc:`this documentation <../customer_invoices/cash_discounts>` for more
16-
information.
10+
Each model is created based on a :ref:`model type <models/type>` and :guilabel:`bank transaction
11+
conditions`.
1712

18-
.. _reconciliation_models_types:
19-
20-
Types of Reconciliation Models
21-
==============================
13+
.. seealso::
14+
- :doc:`bank_synchronization`
15+
- `Odoo Tutorials: Reconciliation models <https://www.odoo.com/slides/slide/reconciliation-models-1841?fullscreen=1>`_
2216

23-
There are three types of Reconciliation Models:
17+
.. _models/type:
2418

25-
#. :ref:`Write-off Button <reconciliation_models_button>`
26-
#. :ref:`Suggestion of counterpart values <reconciliation_models_suggestion>`
27-
#. :ref:`Match existing invoices/bills <reconciliation_models_match>`
19+
Reconciliation model types
20+
==========================
2821

29-
.. _reconciliation_models_button:
22+
The reconciliation models are available by going to :menuselection:`Accounting --> Configuration
23+
--> Banks: Reconciliation Models`. For each reconciliation model, a :guilabel:`Type` must be set.
24+
Three types of models exist:
3025

31-
Manually create a write-off on clicked button
32-
---------------------------------------------
26+
- :guilabel:`Button to generate counterpart entry`: a button is created in the resulting entry
27+
section of the bank reconciliation view. If clicked, this button generates a counterpart entry to
28+
reconcile with the active transaction based on the rules set in the model. The rules specified in
29+
the model determine the counterpart entry's account(s), amount(s), label(s), and analytic
30+
distribution;
31+
- :guilabel:`Rule to suggest counterpart entry`: used for recurring transactions to match the
32+
transaction to a new entry based on conditions that must match the information on the transaction;
33+
- :guilabel:`Rule to match invoices/bills`: used for recurring transactions to match the transaction
34+
to existing invoices, bills, or payments based on conditions that must match the information on
35+
the transaction.
3336

34-
When you are reconciling an entry with an *Open Balance*, you can use the buttons available under
35-
the *Manual Operations* tab to pre-fill all the values automatically, before validating the
36-
reconciliation. Each button is a different Reconciliation Model.
37+
Default reconciliation models
38+
=============================
3739

38-
.. image:: reconciliation_models/reconciliation_models_button.png
39-
:align: center
40-
:alt: Example of a Reconciliation Model with a write-off button in Odoo Accounting
40+
In Odoo, different models are available by default depending on the company's fiscal localization.
41+
These can be updated if needed. Users can also create their own reconciliation models by clicking
42+
:guilabel:`New`.
4143

42-
.. _reconciliation_models_suggestion:
44+
.. important::
45+
If a record matches with several reconciliation models, the first one in the *sequence* of models
46+
is applied. You can rearrange the order by dragging and dropping the handle next to the name.
4347

44-
Suggest counterpart values
45-
--------------------------
48+
.. image:: reconciliation_models/list-view.png
49+
:alt: Rearrange the sequence of models in the list view.
4650

47-
This type of Reconciliation Model suggests immediately counterpart values that only need to be
48-
validated. This automation is based on a set of rules defined in the reconciliation model.
51+
Invoices/Bills perfect match
52+
----------------------------
4953

50-
.. image:: reconciliation_models/reconciliation_models_suggestion.png
51-
:align: center
52-
:alt: Example of a Reconciliation Model that suggests counterpart values in Odoo Accounting
54+
This model should be at the top of the *sequence* of models, as it enables Odoo to suggest matching
55+
existing invoices or bills with a bank transaction based on set conditions.
5356

54-
.. _reconciliation_models_match:
57+
.. image:: reconciliation_models/invoices-bills-perfect-match.png
58+
:alt: Set rules to trigger the reconciliation.
5559

56-
Match existing invoices/bills
57-
-----------------------------
60+
Odoo automatically reconciles the payment when the :guilabel:`Auto-validate` option is selected, and
61+
the model conditions are perfectly met. In this case, it expects to find on the bank statement's
62+
line the invoice/payment's reference (as :guilabel:`Label` is selected) and the partner's name
63+
(as :guilabel:`Partner is set` is selected) to suggest the correct counterpart entry and reconcile
64+
the payment automatically.
5865

59-
This type of Reconciliation Model automatically selects the right Customer Invoice or Vendor Bill
60-
that matches the payment. All that is left to do is to validate the entry. This automation is based
61-
on a set of rules defined in the reconciliation model.
66+
Invoices/Bills partial match if underpaid
67+
-----------------------------------------
6268

63-
.. image:: reconciliation_models/reconciliation_models_match.png
64-
:align: center
65-
:alt: Example of a Reconciliation Model that matches existing invoices and bills automatically
66-
in Odoo Accounting
69+
This model suggests a customer invoice or vendor bill that partially matches the payment when the
70+
amount received is slightly lower than the invoice amount, for example in the case of
71+
**cash discounts**. The difference is reconciled with the account indicated in the
72+
:guilabel:`counterpart entries` tab.
6773

68-
Configuration
69-
=============
74+
The reconciliation model :guilabel:`Type` is :guilabel:`Rule to match invoices/bills`, and the
75+
:guilabel:`Payment tolerance` should be set.
7076

71-
To manage or create new **Reconciliation Models**, go to :menuselection:`Accounting -->
72-
Reconciliation --> Reconciliation Models`. Alternatively, you can also open this menu from the
73-
Accounting Overview, by going to your Bank Journal card, clicking on the three little dots, and then
74-
on *Reconciliation Models*.
77+
.. image:: reconciliation_models/partial-match.png
78+
:alt: Set rules to trigger the reconciliation.
7579

76-
.. image:: reconciliation_models/reconciliation_models_overview.png
77-
:align: center
78-
:alt: Open the Reconciliation Model menu from the overview dashboard in Odoo Accounting
80+
.. note::
81+
The :guilabel:`Payment tolerance` is only applicable to lower payments. It is disregarded when an
82+
overpayment is received.
7983

80-
.. important::
81-
The first entry, named *Invoices Matching Rule*, is the one responsible for the current matching
82-
of invoices and bills. Therefore, it is advised to leave it at the top of the list and not to
83-
delete it.
84+
.. seealso::
85+
:doc:`../customer_invoices/cash_discounts`
8486

85-
Open the model you want to modify, or click on *Create* to create a new one, then fill out the form.
87+
Line with bank fees
88+
-------------------
8689

87-
Type
88-
----
90+
This model suggests a counterpart entry according to the rules set in the model. In this case, the
91+
reconciliation model :guilabel:`Type` is :guilabel:`Rule to suggest counterpart entry`, and the
92+
:guilabel:`Label` can be used for example, to identify the information referring to the
93+
:guilabel:`Bank fees` in the label of the transaction.
8994

90-
See :ref:`above <reconciliation_models_types>` for an explanation about the different types of
91-
Reconciliation Models.
95+
.. image:: reconciliation_models/bank-fees.png
96+
:alt: Set rules to trigger the reconciliation.
9297

9398
.. note::
94-
If the *Documents* application is installed on your database, an additional **Activity type**
95-
field appears when *To check* is ticked. Selecting the value *Reconciliation request* implies
96-
that, whenever you use this model, a *Request Document* window pops up to request a document from
97-
a user.
98-
99-
Conditions on Bank Statement Line
100-
---------------------------------
101-
102-
Define here all the conditions that are required for a Reconciliation Model to be applied.
103-
104-
.. important::
105-
If a record matches with several Reconciliation Models, the first one in the *sequence* of models
106-
will be applied. The sequence is simply the order of the models in the *list view*. They can be
107-
rearranged by dragging-and-dropping the handle next to the name.
108-
109-
.. image:: reconciliation_models/reconciliation_models_conditions.png
110-
:align: center
111-
:alt: Conditions for the Reconciliation Model to be applied in Odoo Accounting
99+
`Regular expressions <https://regexone.com/>`_, often abbreviated as **Regex**, can be used in
100+
Odoo in various ways to search, validate, and manipulate data within the system. Regex can be
101+
powerful but also complex, so it's essential to use it judiciously and with a good understanding
102+
of the patterns you're working with.
112103

113-
Counterpart Values
114-
------------------
104+
To use regular expressions in your reconciliation models, set the :guilabel:`Transaction Type`
105+
to :guilabel:`Match Regex` and add your expression. Odoo automatically retrieves the
106+
transactions that match your Regex expression and the conditions specified in your model.
115107

116-
This section comprises the values that are applied by the Reconciliation Model.
108+
.. image:: reconciliation_models/regex.png
109+
:alt: Using Regex in Odoo
117110

118-
If the value to reconcile needs to be written-off in two separate accounts, click on *Add a second
119-
line*.
111+
Partner mapping
112+
===============
120113

121-
.. image:: reconciliation_models/reconciliation_models_counterparts.png
122-
:align: center
123-
:alt: Counterparts values of a Reconciliation Model in Odoo Accounting
114+
Partner mapping allows you to establish rules for automatically matching transactions to the correct
115+
partner account, saving time and reducing the risk of errors that can occur during manual
116+
reconciliation. For example, you can create a partner mapping rule for incoming payments with
117+
specific reference numbers or keywords in the transaction description. When an incoming payment
118+
meets these criteria, Odoo automatically maps it to the corresponding customer's account.
124119

125-
.. seealso::
120+
To create a partner mapping rule, go to the :guilabel:`Partner Mapping` tab and enter the
121+
:guilabel:`Find Text in Label`, :guilabel:`Find Text in Notes`, and :guilabel:`Partner`.
126122

127-
- :doc:`reconciliation`
128-
- :doc:`bank_synchronization`
129-
- :doc:`../customer_invoices/cash_discounts`
123+
.. image:: reconciliation_models/partner-mapping.png
124+
:alt: defining partner mapping
18.9 KB
Loading
19 KB
Loading
5.62 KB
Loading
26.5 KB
Loading
7.1 KB
Loading
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)