|
| 1 | + |
| 2 | +===================== |
| 3 | +Reconciliation models |
| 4 | +===================== |
| 5 | + |
| 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 | +to handle :doc:`cash discounts <../../customer_invoices/cash_discounts>`. |
| 9 | + |
| 10 | +Each model is created based on a :ref:`model type <models/type>` and :guilabel:`bank transactions |
| 11 | +conditions`. |
| 12 | + |
| 13 | +.. seealso:: |
| 14 | + - :doc:`../bank_synchronization` |
| 15 | + - :doc:`../../customer_invoices/cash_discounts` |
| 16 | + - `Odoo Tutorials: <https://www.odoo.com/slides/slide/reconciliation-models-1841?fullscreen=1>`_ |
| 17 | + |
| 18 | +.. _models/type: |
| 19 | + |
| 20 | +Reconciliation model types |
| 21 | +========================== |
| 22 | + |
| 23 | +For each reconciliation model, a :guilabel:`Type` must be set. Three types of models exist: |
| 24 | + |
| 25 | +- :guilabel:`Rule to match invoices/bills`: used for recurring transactions to match the transaction |
| 26 | + to existing invoices, bills, or payments based on conditions that must match the information on |
| 27 | + the transaction; |
| 28 | +- :guilabel:`Rule to suggest counterpart entry`: used for recurring transactions to match the |
| 29 | + transaction to a new entry based on conditions that must match the information on the transaction; |
| 30 | +- :guilabel:`Button to generate counterpart entry`: a button is created in the resulting entry |
| 31 | + section of the bank reconciliation view. If clicked, this button generates a counterpart entry to |
| 32 | + reconcile with the active transaction based on rules set in the model. The rules set in the model |
| 33 | + determine the counterpart entry's account(s), amount(s), label(s), and analytic distribution. |
| 34 | + |
| 35 | +Default reconciliation models |
| 36 | +============================= |
| 37 | + |
| 38 | +Different models are available by default and can be updated, if needed, by going to |
| 39 | +:menuselection:`Accounting --> Configuration --> Banks: Reconciliation Models`. Users can also |
| 40 | +create their own reconciliation models by clicking :guilabel:`New`. |
| 41 | + |
| 42 | +.. important:: |
| 43 | + If a record matches with several reconciliation models, the first one in the *sequence* of models |
| 44 | + is applied. You can rearrange the order by dragging and dropping the handle next to the name. |
| 45 | + |
| 46 | + .. image:: reconciliation_models/list-view.png |
| 47 | + :alt: Rearrange the sequence of models in the list view. |
| 48 | + |
| 49 | +Invoices/Bills perfect match |
| 50 | +---------------------------- |
| 51 | + |
| 52 | +This model should be at the top of the *sequence* of models, as it enables Odoo to suggest matching |
| 53 | +existing invoices or bills with a bank transaction based on set conditions. |
| 54 | + |
| 55 | +.. image:: reconciliation_models/invoices-bills-perfect-match.png |
| 56 | + :alt: Set rules to trigger the reconciliation. |
| 57 | + |
| 58 | +Odoo automatically reconciles the payment when the :guilabel:`Auto-validate` option is selected, and |
| 59 | +the model conditions are perfectly met. In this case, it expects to find on the bank statement's |
| 60 | +line the invoice/payment's reference (as :guilabel:`Label` is selected) and the partner's name |
| 61 | +(as :guilabel:`Partner is set` is selected) to suggest the correct counterpart entry and reconcile |
| 62 | +the payment automatically. |
| 63 | + |
| 64 | +Invoices/Bills partial match if underpaid (cash discount) |
| 65 | +--------------------------------------------------------- |
| 66 | + |
| 67 | +This model suggests a customer invoice or vendor bill that partially matches the payment when the |
| 68 | +amount received is slightly lower than the invoice amount. The difference will be reconciled |
| 69 | +with the account indicated in the :guilabel:`counterpart entries` tab. |
| 70 | + |
| 71 | +The reconciliation model :guilabel:`Type` is :guilabel:`Rule to match invoices/bills`, and the |
| 72 | +:guilabel:`Payment tolerance` should be set. |
| 73 | + |
| 74 | +.. image:: reconciliation_models/partial-match.png |
| 75 | + :alt: Set rules to trigger the reconciliation. |
| 76 | + |
| 77 | +.. note:: |
| 78 | + The :guilabel:`Payment tolerance` is only applicable to lower payments. It is disregarded when an |
| 79 | + overpayment is received. |
| 80 | + |
| 81 | +Line with bank fees |
| 82 | +------------------- |
| 83 | + |
| 84 | +This model suggests a counterpart entry according to the rules set in the model. In this case, the |
| 85 | +reconciliation model :guilabel:`Type` is :guilabel:`Rule to suggest counterpart entry`, and the |
| 86 | +:guilabel:`Label` can be used for example, to identify the information referring to the |
| 87 | +:guilabel:`Bank fees` in the label of the transaction. |
| 88 | + |
| 89 | +.. image:: reconciliation_models/bank-fees.png |
| 90 | + :alt: Set rules to trigger the reconciliation. |
| 91 | + |
| 92 | +.. note:: |
| 93 | + Go to the :guilabel:`Partner Mapping` tab to create a rule to match transactions of a specific |
| 94 | + partner when a defined text is available in the :guilabel:`Label` or in the :guilabel:`Note`. |
0 commit comments