diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 168470e2ed745631aefb772a4a864cf1de76d3cb..c575299fc05d609e25260193f2b663be50d0fd31 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -16,7 +16,7 @@ exclude: |
   (LICENSE.*|COPYING.*)
 default_language_version:
   python: python3
-  node: "14.18.0"
+  node: "16.17.0"
 repos:
   - repo: local
     hooks:
@@ -27,15 +27,20 @@ repos:
         entry: found forbidden files; remove them
         language: fail
         files: "\\.rej$"
+      - id: en-po-files
+        name: en.po files cannot exist
+        entry: found a en.po file
+        language: fail
+        files: '[a-zA-Z0-9_]*/i18n/en\.po$'
   - repo: https://github.com/oca/maintainer-tools
-    rev: dfba427ba03900b69e0a7f2c65890dc48921d36a
+    rev: 4cd2b852214dead80822e93e6749b16f2785b2fe
     hooks:
       # update the NOT INSTALLABLE ADDONS section above
       - id: oca-update-pre-commit-excluded-addons
       - id: oca-fix-manifest-website
         args: ["https://le-filament.com"]
   - repo: https://github.com/myint/autoflake
-    rev: v1.4
+    rev: v1.6.1
     hooks:
       - id: autoflake
         args:
@@ -46,22 +51,22 @@ repos:
           - --remove-duplicate-keys
           - --remove-unused-variables
   - repo: https://github.com/psf/black
-    rev: 22.3.0
+    rev: 22.8.0
     hooks:
       - id: black
   - repo: https://github.com/pre-commit/mirrors-prettier
-    rev: v2.4.1
+    rev: v2.7.1
     hooks:
       - id: prettier
         name: prettier (with plugin-xml)
         additional_dependencies:
-          - "prettier@2.4.1"
-          - "@prettier/plugin-xml@1.1.0"
+          - "prettier@2.7.1"
+          - "@prettier/plugin-xml@2.2.0"
         args:
           - --plugin=@prettier/plugin-xml
         files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
   - repo: https://github.com/pre-commit/mirrors-eslint
-    rev: v7.32.0
+    rev: v8.24.0
     hooks:
       - id: eslint
         verbose: true
@@ -69,7 +74,7 @@ repos:
           - --color
           - --fix
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
+    rev: v4.3.0
     hooks:
       - id: trailing-whitespace
         # exclude autogenerated files
@@ -91,12 +96,12 @@ repos:
       - id: mixed-line-ending
         args: ["--fix=lf"]
   - repo: https://github.com/asottile/pyupgrade
-    rev: v2.29.0
+    rev: v2.38.2
     hooks:
       - id: pyupgrade
         args: ["--keep-percent-format"]
   - repo: https://github.com/PyCQA/isort
-    rev: 5.9.3
+    rev: 5.10.1
     hooks:
       - id: isort
         name: isort except __init__.py
diff --git a/.pylintrc b/.pylintrc
index d431ca78d44080ba32c20c6991c2655f2ab6423b..71c476d4f10ac08a7333729b93705c9573d240d5 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -1,3 +1,5 @@
+
+
 [MASTER]
 load-plugins=pylint_odoo
 score=n
@@ -8,7 +10,7 @@ manifest_required_authors=Le Filament
 manifest_required_keys=license
 manifest_deprecated_keys=description,active
 license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid_odoo_versions=15.0
+valid_odoo_versions=16.0
 
 [MESSAGES CONTROL]
 disable=all
@@ -96,6 +98,7 @@ enable=anomalous-backslash-in-string,
     xml-attribute-translatable,
     xml-deprecated-qweb-directive,
     xml-deprecated-tree-attribute,
+    external-request-timeout,
     # messages that do not cause the lint step to fail
     consider-merging-classes-inherited,
     create-user-wo-reset-password,
diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory
index 189c548631665bef116fc4d0df3b986f9727df31..ed2c2171ffe63ac191e30ed0759c4b6211ad5f15 100644
--- a/.pylintrc-mandatory
+++ b/.pylintrc-mandatory
@@ -1,3 +1,4 @@
+
 [MASTER]
 load-plugins=pylint_odoo
 score=n
@@ -8,7 +9,7 @@ manifest_required_authors=Le Filament
 manifest_required_keys=license
 manifest_deprecated_keys=description,active
 license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
-valid_odoo_versions=15.0
+valid_odoo_versions=16.0
 
 [MESSAGES CONTROL]
 disable=all
@@ -88,7 +89,8 @@ enable=anomalous-backslash-in-string,
     website-manifest-key-not-valid-uri,
     xml-attribute-translatable,
     xml-deprecated-qweb-directive,
-    xml-deprecated-tree-attribute
+    xml-deprecated-tree-attribute,
+    external-request-timeout
 
 [REPORTS]
 msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
diff --git a/__manifest__.py b/__manifest__.py
index 17938cc085f1b32c2b115cd6f43bce16ce7b1163..1f84bfedb450c4a45d7d0b60f06c14ee20df753d 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,7 +1,7 @@
 {
     "name": "Le Filament - Sales",
     "summary": "Generic Sales views update by Le Filament",
-    "version": "15.0.1.0.0",
+    "version": "16.0.1.0.0",
     "license": "AGPL-3",
     "author": "Le Filament",
     "category": "Sales/Sales",
diff --git a/models/sale.py b/models/sale.py
index 9c6622616cbe120d05cf43a11feb472cba4eef5c..538b443bae8122d4d57761e7e2b37c607910d1c0 100644
--- a/models/sale.py
+++ b/models/sale.py
@@ -14,7 +14,7 @@ class SaleOrder(models.Model):
         readonly=True,
     )
 
-    @api.depends("order_line.invoice_status")
+    @api.depends("order_line.untaxed_amount_to_invoice")
     def _compute_untaxed_amount_to_invoice(self):
         """
         Compute the amount (untaxed) that remains to be invoiced
diff --git a/views/account_move_view.xml b/views/account_move_view.xml
index 8709cd3715f487b48300a9ee2f8ba7efa72f0e19..bc2672ac2728723a8c6588bc2a93b434f2dc576d 100644
--- a/views/account_move_view.xml
+++ b/views/account_move_view.xml
@@ -7,12 +7,12 @@
         <field name="name">account.move.form</field>
         <field name="model">account.move</field>
         <field name="arch" type="xml">
-            <xpath expr="//field[@name='payment_reference']" position="before">
+            <field name="partner_shipping_id" position="after">
                 <field
                     name="beneficiary_id"
                     attrs="{'invisible': [('move_type', 'not in', ('out_invoice', 'out_refund'))]}"
                 />
-            </xpath>
+            </field>
         </field>
     </record>
 </odoo>
diff --git a/views/sales_view.xml b/views/sales_view.xml
index dc794c973672266acec307c96603e1d10ed5807e..a2efbf08626b8628975e7a26ffc08bb1f6155473 100644
--- a/views/sales_view.xml
+++ b/views/sales_view.xml
@@ -90,9 +90,10 @@
         </field>
     </record>
 
-    <!-- inherited view to make the order lines list in the form non-editable
+    <!-- TODO : check for whom this was needed since groups_id are not allowed anymore in v16
+         checkinherited view to make the order lines list in the form non-editable
          for the members of some usability groups -->
-    <record id="view_order_form_editable_list" model="ir.ui.view">
+    <!--record id="view_order_form_editable_list" model="ir.ui.view">
         <field name="name">sale.order.form.editable.list</field>
         <field name="model">sale.order</field>
         <field name="inherit_id" ref="sale.view_order_form" />
@@ -102,5 +103,5 @@
                 <attribute name="editable" />
             </xpath>
         </field>
-    </record>
+    </record-->
 </odoo>