Skip to content

Commit bbad7cf

Browse files
committed
[IMP] accounting: reconciliation models update
taskid-3377307
1 parent f27b11d commit bbad7cf

14 files changed

+90
-95
lines changed
Lines changed: 89 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,123 @@
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 and can be updated, if needed. Users can also
41+
create their own reconciliation models by clicking :guilabel:`New`.
4142

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

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

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.
50+
Invoices/Bills perfect match
51+
----------------------------
4952

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
53+
This model should be at the top of the *sequence* of models, as it enables Odoo to suggest matching
54+
existing invoices or bills with a bank transaction based on set conditions.
5355

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

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

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.
65+
Invoices/Bills partial match if underpaid
66+
-----------------------------------------
6267

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
68+
This model suggests a customer invoice or vendor bill that partially matches the payment when the
69+
amount received is slightly lower than the invoice amount, for example in the case of
70+
**cash discounts**. The difference is reconciled with the account indicated in the
71+
:guilabel:`counterpart entries` tab.
6772

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

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*.
76+
.. image:: reconciliation_models/partial-match.png
77+
:alt: Set rules to trigger the reconciliation.
7578

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
79+
.. note::
80+
The :guilabel:`Payment tolerance` is only applicable to lower payments. It is disregarded when an
81+
overpayment is received.
7982

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.
83+
.. seealso::
84+
:doc:`../customer_invoices/cash_discounts`
8485

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

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

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

9397
.. 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
98+
`Regular expressions <https://regexone.com/>`_, often abbreviated as **Regex**, can be used in
99+
Odoo in various ways to search, validate, and manipulate data within the system. Regex can be
100+
powerful but also complex, so it's essential to use it judiciously and with a good understanding
101+
of the patterns you're working with.
112102

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

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

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

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

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

127-
- :doc:`reconciliation`
128-
- :doc:`bank_synchronization`
129-
- :doc:`../customer_invoices/cash_discounts`
122+
.. image:: reconciliation_models/partner-mapping.png
123+
: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)