|
1 | 1 | ===================== |
2 | | -Reconciliation Models |
| 2 | +Reconciliation models |
3 | 3 | ===================== |
4 | 4 |
|
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>`. |
9 | 8 |
|
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`. |
12 | 11 |
|
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>`_ |
22 | 15 |
|
23 | | -There are three types of Reconciliation Models: |
| 16 | +.. _models/type: |
24 | 17 |
|
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 | +========================== |
28 | 20 |
|
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: |
30 | 24 |
|
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. |
33 | 35 |
|
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 | +============================= |
37 | 38 |
|
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`. |
41 | 42 |
|
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. |
43 | 46 |
|
44 | | -Suggest counterpart values |
45 | | --------------------------- |
| 47 | + .. image:: reconciliation_models/list-view.png |
| 48 | + :alt: Rearrange the sequence of models in the list view. |
46 | 49 |
|
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 | +---------------------------- |
49 | 52 |
|
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. |
53 | 55 |
|
54 | | -.. _reconciliation_models_match: |
| 56 | +.. image:: reconciliation_models/invoices-bills-perfect-match.png |
| 57 | + :alt: Set rules to trigger the reconciliation. |
55 | 58 |
|
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. |
58 | 64 |
|
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 | +----------------------------------------- |
62 | 67 |
|
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. |
67 | 72 |
|
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. |
70 | 75 |
|
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. |
75 | 78 |
|
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. |
79 | 82 |
|
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` |
84 | 85 |
|
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 | +------------------- |
86 | 88 |
|
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. |
89 | 93 |
|
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. |
92 | 96 |
|
93 | 97 | .. 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. |
112 | 102 |
|
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. |
115 | 106 |
|
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 |
117 | 109 |
|
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 | +=============== |
120 | 112 |
|
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. |
124 | 118 |
|
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`. |
126 | 121 |
|
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 |
0 commit comments