odoo/upgrade#7508

Created by Accounting, Quentin De Paoli (qdp)
Merged at daa6929f91c013d13c4315aa31842871774e5dee

Statuses:

label
odoo-dev:master-revamp-bank-rec-widget-malb
head
4755ef8e1fe4957c45ebf9cc380c9c845e9457db
merged
6 months ago by Accounting, Quentin De Paoli (qdp)
odoo/odoo odoo/enterprise odoo/upgrade
master #203327 #80787 #7508

[IMP] account, account_accountant/saas~18.3: bank reco widget revamp

IMPLEMENTATION DETAILS:

  • account.reconcile.model

    • rule_type: writeoff_suggestion and invoice_matching entirely removed. Those
      features are now directly hardcoded, users can't modify the sequence or
      tweak the invoice matching algorithm anymore. We belief this was way too
      advance and that people modifying the existing rules (and default behaviour)
      would more likely break something rather than help the processing of their
      statement lines
    • partner mapping: although it's not possible anymore to do it on the partner
      categories, it's still possible to define a partner mapping by creating an
      account.reconcile.model with match_label & match_label_param, and a single
      counter part item with the partner_id set and no account_id
    • deleted fields: rule_type, matching_order, match_note, match_note_param,
      match_transaction_details, match_transaction_details_param,
      match_text_location_label, match_text_location_note,
      match_text_location_reference, match_same_currency,
      match_partner_category_ids, match_partner, past_months_limit,
      decimal_separator, show_decimal_separator, partner_mapping_line_ids
      (+class), allow_payment_tolerance, payment_tolerance_type,
      payment_tolerance_param, counterpart _type, journal_id, number_entries
      field auto_reconcile changed name & type (was boolean): it's replaced with
      the selection field 'trigger'
    • to_check boolean: would now be implemented with next_activity_type that you
      can set on the account.reconcile.model
  • account.bank.statement.line

    • Revamp of the whole javascript with a clear subdivision into
      multiple components. We used a Kanban view that we completely override for
      our needs which are that each kanban record will display the information of
      a bank statement line (belonging to a journal) that we can unfold to show
      more information. When unfolding the bank statement line the user will have
      access to different buttons allowing him to directly modify the move behind
      the bank statement line (adding new line, delete some, editing them, ...)
    • The old bank rec widget was using two python file bank.rec.widget and
      bank.rec.widget.line that were temporary models to display a representation
      of the move before being validated and once it was validated the move was
      changed. Those two classes were removed.
      We now change directly the move because we want an auto validation. It means
      that everytime a new line is added a reconciliation process is done.
    • To link the move line of the bank statement line with the move line chosen
      in the reconcile search view and also to trigger the reconciliation
      process, we used a manyToMany field compute non stored with an inverse.
      Everytime the field is written on, the reconciliation plan will be
      triggered. It allows to have a link between reconciled entries without the
      need of a stored field since we benefit from the partial reconcile table.
    • Delete: bank.rec.widget, bank.rec.widget.line, views linked to
      bank_rec_widget that are not used anymore

see:odoo/enterprise#80787
see:odoo/odoo#203327

task-4603207

> Warning Please follow and check the relevant boxes for your PR, otherwise the review may take longer.

For a PR that adds a new upgrade script (for the Odoo's master branch or one of the RR versions):
- [x] I've added the references to the Enterprise and/or Community PRs in the commit message, even if they are already merged.
- [x] I've added an overall description of the changes made in the Community/Enterprise branches.

For all PRs:
- [x] My commit's title follows the right format.
- [x] My commit's body includes information about the changes.
- [x] I've added odoo/upgrade as a reviewer.
- [x] I've read and understood this list.
- [x] I will ensure all the CI checks are green.

> Note More info can be found in the wiki.