Skip to content

Commit 7c3abb5

Browse files
Donapixpl-odoo
authored andcommitted
[IMP] accounting: reconciliation models update
task-3377307 closes #7514 X-original-commit: e5a1977 Signed-off-by: Xavier Platteau (xpl) <[email protected]> Signed-off-by: Donatienne Pirlot (dopi) <[email protected]>
1 parent 89cfd36 commit 7c3abb5

15 files changed

+99
-103
lines changed

content/applications/finance/accounting/bank/reconciliation.rst

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Resulting entry
5353
The resulting entry section on the top right displays the selected bank transaction matched with
5454
the counterpart entries and includes any remaining debits or credits. In this section, you can
5555
validate the reconciliation or mark it as :guilabel:`To Check`. Any :ref:`reconciliation model
56-
buttons <reconciliation_models_button>` are also available in the resulting entry section.
56+
buttons <reconciliation/button>` are also available in the resulting entry section.
5757

5858
Reconcile transactions
5959
======================
@@ -62,13 +62,13 @@ Transactions can be matched automatically with the use of :doc:`reconciliation m
6262
<reconciliation_models>`, or they can be matched with :ref:`existing entries
6363
<reconciliation/existing-entries>`, :ref:`batch payments <reconciliation/batch-payments>`,
6464
:ref:`manual operations <reconciliation/manual-operations>`, and :ref:`reconciliation model buttons
65-
<reconciliation_models_button>`.
65+
<reconciliation/button>`.
6666

6767
#. Select a transaction among unmatched bank transactions.
6868
#. Define the counterpart. There are several options for defining a counterpart, including
6969
:ref:`matching existing entries <reconciliation/existing-entries>`, :ref:`manual operations
7070
<reconciliation/manual-operations>`, :ref:`batch payments <reconciliation/batch-payments>`, and
71-
:ref:`reconciliation model buttons <reconciliation_models_button>`.
71+
:ref:`reconciliation model buttons <reconciliation/button>`.
7272
#. If the resulting entry is not fully balanced, balance it by adding another existing counterpart
7373
entry or writing it off with a :ref:`manual operation <reconciliation/manual-operations>`.
7474
#. Click the :guilabel:`Validate` button to confirm the reconciliation and move to the next
@@ -90,8 +90,8 @@ Match existing entries
9090
----------------------
9191

9292
This tab contains matching entries Odoo automatically pre-selects according to the reconciliation
93-
models. The entry order is based on :ref:`reconciliation models <reconciliation_models_suggestion>`,
94-
with suggested entries appearing first.
93+
models. The entry order is based on :doc:`reconciliation models <reconciliation_models>`, with
94+
suggested entries appearing first.
9595

9696
.. tip::
9797
The search bar within the :guilabel:`Match Existing Entries` tab allows you to search for
@@ -130,10 +130,11 @@ of the relevant optional fields.
130130
.. image:: reconciliation/fully-paid.png
131131
:alt: Click on fully paid to manually set an invoice as entirely paid.
132132

133+
.. _reconciliation/button:
133134

134135
Reconciliation model buttons
135136
----------------------------
136137

137-
Use a :ref:`reconciliation model button <reconciliation_models_button>` for manual operations that
138-
are frequently used. These custom buttons allow you to quickly reconcile bank transactions manually
139-
and can also be used in combination with existing entries.
138+
Use a :doc:`reconciliation model <reconciliation_models>` button for manual operations that are
139+
frequently used. These custom buttons allow you to quickly reconcile bank transactions manually and
140+
can also be used in combination with existing entries.
Lines changed: 89 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,129 +1,123 @@
11
=====================
2-
Reconciliation Models
2+
Reconciliation models
33
=====================
44

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.
5+
Reconciliation models are used to automate the :doc:`bank reconciliation <reconciliation>` process,
6+
which is especially handy when dealing with recurring entries like bank fees. Reconciliation models
7+
can also be helpful in handling :doc:`cash discounts <../customer_invoices/cash_discounts>`.
98

10-
.. todo:: Add a link to the Reconciliation process in the paragraph above, once the doc will have
11-
been updated.
9+
Each model is created based on a :ref:`model type <models/type>` and :guilabel:`bank transaction
10+
conditions`.
1211

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.
17-
18-
.. _reconciliation_models_types:
19-
20-
Types of Reconciliation Models
21-
==============================
12+
.. seealso::
13+
- :doc:`bank_synchronization`
14+
- `Odoo Tutorials: Reconciliation models <https://www.odoo.com/slides/slide/reconciliation-models-1841?fullscreen=1>`_
2215

23-
There are three types of Reconciliation Models:
16+
.. _models/type:
2417

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>`
18+
Reconciliation model types
19+
==========================
2820

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

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

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.
36+
Default reconciliation models
37+
=============================
3738

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
39+
In Odoo, different models are available by default depending on the company's fiscal localization.
40+
These can be updated if needed. Users can also create their own reconciliation models by clicking
41+
: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.

0 commit comments

Comments
 (0)