diff --git a/data/product_category.xml b/data/product_category.xml
index a2692c757c7f5c38099140b661c849c62a754e53..a43eb31af1cc86311ce37b7ca5ef8a67b2dc9c80 100644
--- a/data/product_category.xml
+++ b/data/product_category.xml
@@ -6,15 +6,24 @@
             <field name="name">Fournitures plantation</field>
         </record>
         <record id="product_category_mulch" model="product.category">
-            <field name="parent_id" ref="ap_sale_project.product_category_plantation_supply" />
+            <field
+                name="parent_id"
+                ref="ap_sale_project.product_category_plantation_supply"
+            />
             <field name="name">Paillage</field>
         </record>
         <record id="product_category_stake" model="product.category">
-            <field name="parent_id" ref="ap_sale_project.product_category_plantation_supply" />
+            <field
+                name="parent_id"
+                ref="ap_sale_project.product_category_plantation_supply"
+            />
             <field name="name">Piquets</field>
         </record>
         <record id="product_category_protection" model="product.category">
-            <field name="parent_id" ref="ap_sale_project.product_category_plantation_supply" />
+            <field
+                name="parent_id"
+                ref="ap_sale_project.product_category_plantation_supply"
+            />
             <field name="name">Protections</field>
         </record>
         <record id="product_category_protection_high" model="product.category">
@@ -25,6 +34,20 @@
             <field name="parent_id" ref="ap_sale_project.product_category_protection" />
             <field name="name">Protections Basses</field>
         </record>
+        <record id="product_category_marker" model="product.category">
+            <field
+                name="parent_id"
+                ref="ap_sale_project.product_category_plantation_supply"
+            />
+            <field name="name">Jalons</field>
+        </record>
+        <record id="product_category_other_hw" model="product.category">
+            <field
+                name="parent_id"
+                ref="ap_sale_project.product_category_plantation_supply"
+            />
+            <field name="name">Autres Fournitures</field>
+        </record>
         <record id="product_category_plant" model="product.category">
             <field name="parent_id" ref="product.product_category_all" />
             <field name="name">Plants</field>
@@ -44,26 +67,10 @@
             <field name="name">Haut jet</field>
             <field name="symbol">fa-caret-up</field>
         </record>
-        <record id="product_category_plant_tree" model="product.category">
-            <field name="parent_id" ref="ap_sale_project.product_category_plant" />
-            <field name="name">Arbres</field>
-        </record>
-        <record id="product_category_plant_shrub" model="product.category">
-            <field name="parent_id" ref="ap_sale_project.product_category_plant" />
-            <field name="name">Arbustes</field>
-        </record>
-        <record id="product_category_marker" model="product.category">
-            <field name="parent_id" ref="product.product_category_all" />
-            <field name="name">Jalons</field>
-        </record>
         <record id="product_category_service" model="product.category">
             <field name="parent_id" ref="product.product_category_all" />
             <field name="name">Services</field>
         </record>
-        <record id="product_category_other_hw" model="product.category">
-            <field name="parent_id" ref="product.product_category_all" />
-            <field name="name">Autres Fournitures</field>
-        </record>
         <record id="product_category_membership" model="product.category">
             <field name="parent_id" ref="product.product_category_all" />
             <field name="name">Adhésion</field>
diff --git a/data/sale_project_advancement_data.xml b/data/sale_project_advancement_data.xml
index 4bbb21075809a1a06920c775467f2050e937fddb..a06d1889e9a64a83988543aa74808810749430f3 100644
--- a/data/sale_project_advancement_data.xml
+++ b/data/sale_project_advancement_data.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <odoo>
     <data noupdate="1">
 
diff --git a/models/product_category.py b/models/product_category.py
index 7d8c3dd9ddd0454ccdf5e7aa3573fe5595fdd9b5..ef64a702883373e45b92454f0a4a4a36aa09c5bd 100644
--- a/models/product_category.py
+++ b/models/product_category.py
@@ -1,7 +1,8 @@
 # Copyright 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import fields, models, api
+from odoo import fields, models
+
 
 class ProductCategory(models.Model):
     _inherit = "product.category"
diff --git a/models/res_partner.py b/models/res_partner.py
index 548b2e1eaed7aa14ce2177d205cd3c1d3da567f6..e1dde58ca3fd347bafc6edf23c79eef6548947d0 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,22 +1,20 @@
 # Copyright 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import fields, models, api
+from odoo import api, fields, models
 
 
 class ResPartner(models.Model):
-    _inherit = 'res.partner'
+    _inherit = "res.partner"
 
     # ------------------------------------------------------
     # Fields declaration
     # ------------------------------------------------------
     sale_project_count = fields.Integer(
-        compute='_compute_sale_project_count',
-        string='Nombre de projets')
+        compute="_compute_sale_project_count", string="Nombre de projets"
+    )
     sale_project_ids = fields.One2many(
-        'sale.project',
-        'partner_id',
-        "Liste des projets"
+        "sale.project", "partner_id", "Liste des projets"
     )
 
     # ------------------------------------------------------
@@ -30,10 +28,13 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # Computed fields / Search Fields
     # ------------------------------------------------------
-    @api.depends('sale_project_ids')
+    @api.depends("sale_project_ids")
     def _compute_sale_project_count(self):
         for res in self:
-            res.sale_project_count = self.env['sale.project'].search_count([('partner_id', '=', self.id)])
+            res.sale_project_count = self.env["sale.project"].search_count(
+                [("partner_id", "=", self.id)]
+            )
+
     # ------------------------------------------------------
     # Onchange / Constraints
     # ------------------------------------------------------
diff --git a/models/sale_intervention.py b/models/sale_intervention.py
index 0ef436c27582cf9339993f8de11561cf98602e4b..c2746f16257f745068128c1146750e4f10c10942 100644
--- a/models/sale_intervention.py
+++ b/models/sale_intervention.py
@@ -46,7 +46,8 @@ class SaleIntervention(models.Model):
         ondelete="restrict",
         required=True,
         group_operator="count_distinct",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     intervention_uom_name = fields.Char(
         related="intervention_type_id.uom_name", string="Unité de mesure intervention"
@@ -66,17 +67,21 @@ class SaleIntervention(models.Model):
     intervention_length = fields.Float(
         string="Longueur de Haie (en m)",
         group_operator="sum",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     plant_interval = fields.Float(
-        "Intervalle entre les plants (en m)", group_operator="sum",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        "Intervalle entre les plants (en m)",
+        group_operator="sum",
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     # If calculated by units
     plant_qty = fields.Integer(
         string="Nombre de Plants",
         group_operator="sum",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     surface = fields.Integer(
@@ -92,10 +97,14 @@ class SaleIntervention(models.Model):
     # FOURNITURES
     is_collarette = fields.Boolean(
         string="Collerettes",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
+    )
     collarette_qty = fields.Integer(
         string="Nombre de collerettes",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
+    )
 
     # Mulch Fields
     mulch_id = fields.Many2one(
@@ -105,11 +114,14 @@ class SaleIntervention(models.Model):
             ("categ_id", "=", self.env.ref("ap_sale_project.product_category_mulch").id)
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     mulch_qty = fields.Float(
         string="Qté paillage 1",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
+    )
     mulch_unit = fields.Many2one(
         "uom.uom",
         related="mulch_id.uom_id",
@@ -118,7 +130,8 @@ class SaleIntervention(models.Model):
     )
     mulch_has_staples = fields.Boolean(
         string="Paillage 1 avec agrafes",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     mulch2_id = fields.Many2one(
         comodel_name="product.template",
@@ -127,23 +140,26 @@ class SaleIntervention(models.Model):
             ("categ_id", "=", self.env.ref("ap_sale_project.product_category_mulch").id)
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     mulch2_qty = fields.Float(
         string="Qté paillage 2",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     mulch2_unit = fields.Many2one(
         "uom.uom",
         related="mulch2_id.uom_id",
         readonly=True,
         string="Unité de mesure paillage 2",
-        states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     mulch2_has_staples = fields.Boolean(
         string="Paillage 2 avec agrafes",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     # High protection
@@ -158,13 +174,15 @@ class SaleIntervention(models.Model):
             )
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     high_protection_qty = fields.Integer(
         string="Qté protégée haut",
         help="Qté de la plantation que l’on veut protéger par le haut \
             (avec protections entrées au dessus)",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     stake_id = fields.Many2one(
         comodel_name="product.template",
@@ -173,11 +191,13 @@ class SaleIntervention(models.Model):
             ("categ_id", "=", self.env.ref("ap_sale_project.product_category_stake").id)
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     stake_qty = fields.Float(
         string="Qté Piquets",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     # Low protection
@@ -192,18 +212,21 @@ class SaleIntervention(models.Model):
             )
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     low_protection_qty = fields.Integer(
         string="Qté protégée bas",
         help="Qté de la plantation que l’on veut protéger par le bas \
             (avec protections entrées au dessus)",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     bamboo_qty = fields.Integer(
         string="Qté bambous",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     # Markers (Jalons)
@@ -218,31 +241,36 @@ class SaleIntervention(models.Model):
             )
         ],
         ondelete="restrict",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     marker_qty = fields.Integer(
         string="Qté jalons",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     sequence_type = fields.Selection(
         [("sequence", "Constuction en séquence"), ("list", "Construction en liste")],
         string="Type de séquence",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     plant_sequence_ids = fields.One2many(
         comodel_name="sale.intervention.plant.sequence",
         inverse_name="intervention_id",
         domain="[('is_list', '!=', True)]",
         string="Séquences",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     plant_list_ids = fields.One2many(
         comodel_name="sale.intervention.plant.sequence",
         inverse_name="intervention_id",
         domain="[('is_list', '=', True)]",
         string="Listes",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     # Computed fields
@@ -388,7 +416,7 @@ class SaleIntervention(models.Model):
         related="project_id.sale_order_id",
         string="Devis/Commande",
     )
-    state = fields.Selection(related='sale_order_id.state', store=True)
+    state = fields.Selection(related="sale_order_id.state", store=True)
     sale_intervention_stock_ids = fields.One2many(
         comodel_name="sale.intervention.stock",
         inverse_name="sale_intervention_id",
@@ -468,7 +496,7 @@ class SaleIntervention(models.Model):
     # ------------------------------------------------------
     # Onchange / Constraints
     # ------------------------------------------------------
-    @api.onchange('plant_qty', 'intervention_length', 'mulch_id')
+    @api.onchange("plant_qty", "intervention_length", "mulch_id")
     def _onchange_mulch_id(self):
         if self.mulch_unit == self.env.ref("uom.product_uom_meter"):
             self.mulch_qty = self.intervention_length
@@ -477,7 +505,7 @@ class SaleIntervention(models.Model):
         else:
             self.mulch_qty = 0.0
 
-    @api.onchange('plant_qty', 'intervention_length', 'mulch2_id')
+    @api.onchange("plant_qty", "intervention_length", "mulch2_id")
     def _onchange_mulch2_id(self):
         if self.mulch2_unit == self.env.ref("uom.product_uom_meter"):
             self.mulch2_qty = self.intervention_length
@@ -486,7 +514,7 @@ class SaleIntervention(models.Model):
         else:
             self.mulch2_qty = 0.0
 
-    @api.onchange('plant_qty')
+    @api.onchange("plant_qty")
     def _onchange_plant_qty(self):
         self.collarette_qty = self.plant_qty
 
@@ -531,10 +559,11 @@ class SaleIntervention(models.Model):
             if rec.plant_qty != rec.plants_qty:
                 raise UserError(
                     _(
-                        "La quantité de plants renseignée '%f' est différente de la quantité de plants calculée '%f'. "
+                        "La quantité de plants renseignée '%f' est différente de"
+                        "la quantité de plants calculée '%f'.\n "
                         "Les quantités doivent être identiques, vérifier votre compositon."
                     )
-                        % (rec.plant_qty,rec.plants_qty)
+                    % (rec.plant_qty, rec.plants_qty)
                 )
 
     @api.depends(
@@ -894,7 +923,7 @@ class SaleIntervention(models.Model):
         res = super().create(vals_list)
         for rec in res:
             seq = str(rec.project_id.intervention_counter).zfill(3)
-            rec.name = rec.project_id.name + '-' + seq
+            rec.name = rec.project_id.name + "-" + seq
             rec._create_sale_intervention_stock_lines()
         return res
 
@@ -916,9 +945,7 @@ class SaleIntervention(models.Model):
     def _update_order_lines(self):
         product_tmpl = self.intervention_type_id
         quantity = (
-            self.intervention_length
-            if product_tmpl.uom_name == "m"
-            else self.plant_qty
+            self.intervention_length if product_tmpl.uom_name == "m" else self.plant_qty
         )
         if quantity != 0:
             data = {
@@ -934,12 +961,14 @@ class SaleIntervention(models.Model):
                 existing_lines.write(data)
             else:
                 # Add missing fields and create new lines
-                data.update({
-                    'order_id': self.sale_order_id.id,
-                    'name': self.project_id.name + " - " + product_tmpl.name,
-                    'product_id': product_tmpl.product_variant_id.id,
-                    'sale_project_id': self.project_id.id
-                })
+                data.update(
+                    {
+                        "order_id": self.sale_order_id.id,
+                        "name": self.project_id.name + " - " + product_tmpl.name,
+                        "product_id": product_tmpl.product_variant_id.id,
+                        "sale_project_id": self.project_id.id,
+                    }
+                )
                 self.env["sale.order.line"].create(data)
 
 
@@ -978,7 +1007,7 @@ class SaleInterventionStock(models.Model):
     price_unit = fields.Float(
         "Prix Unitaire", required=True, digits="Product Price", default=0.0
     )
-    taxes_id = fields.Many2many(related='product_template_id.taxes_id')
+    taxes_id = fields.Many2many(related="product_template_id.taxes_id")
     price_total = fields.Float(
         compute="_compute_amount",
         string="Total",
diff --git a/models/sale_order.py b/models/sale_order.py
index 80073f95cc039affa6f7d42c5020a3c582475de3..2cc1d453a1f3365dd8e16e3c00b772dedecc2dc2 100644
--- a/models/sale_order.py
+++ b/models/sale_order.py
@@ -14,7 +14,8 @@ class SaleOrder(models.Model):
         comodel_name="sale.project",
         inverse_name="sale_order_id",
         string="Projets",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     sale_intervention_stock_ids = fields.One2many(
         comodel_name="sale.intervention.stock",
diff --git a/models/sale_project.py b/models/sale_project.py
index 9edc026416bf92388003aa5792453582e8a732cb..1f5b358215febeb9ac59271ef57565f52071ed25 100644
--- a/models/sale_project.py
+++ b/models/sale_project.py
@@ -1,9 +1,10 @@
 # Copyright 2021 Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 
-from odoo import api, fields, models, _
 from datetime import datetime
 
+from odoo import _, api, fields, models
+
 
 class SaleProject(models.Model):
     _name = "sale.project"
@@ -11,14 +12,24 @@ class SaleProject(models.Model):
     _inherit = ["mail.thread", "mail.activity.mixin"]
 
     def _get_default_admin_state_id(self):
-        return self.env['sale.project.admin.state'].search(
-            [('fold', '=', False), ('is_closed', '=', False)], order='sequence', limit=1).id
+        return (
+            self.env["sale.project.admin.state"]
+            .search(
+                [("fold", "=", False), ("is_closed", "=", False)],
+                order="sequence",
+                limit=1,
+            )
+            .id
+        )
 
     def _get_default_saison_id(self):
-        saison_id = self.env['sale.project.saison'].search([
-            ('start_date', '<', datetime.today().date()),
-            ('end_date', '>=', datetime.today().date())
-        ], limit=1)
+        saison_id = self.env["sale.project.saison"].search(
+            [
+                ("start_date", "<", datetime.today().date()),
+                ("end_date", ">=", datetime.today().date()),
+            ],
+            limit=1,
+        )
         if saison_id:
             return saison_id.id
 
@@ -31,17 +42,19 @@ class SaleProject(models.Model):
         required=True,
         ondelete="cascade",
     )
-    state = fields.Selection(related='sale_order_id.state', store=True)
+    state = fields.Selection(related="sale_order_id.state", store=True)
     partner_id = fields.Many2one(
-        'res.partner', related='sale_order_id.partner_id', store=True)
+        "res.partner", related="sale_order_id.partner_id", store=True
+    )
 
-    name = fields.Char("Nom", default=lambda self: _('Nouveau projet'))
+    name = fields.Char("Nom", default=lambda self: _("Nouveau projet"))
 
     user_id = fields.Many2one(
         "res.users",
         string="Référent",
         default=lambda self: self.env.user,
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     admin_state_id = fields.Many2one(
@@ -55,15 +68,16 @@ class SaleProject(models.Model):
     )
     sale_project_suivi_ids = fields.Many2many(
         comodel_name="sale.project.suivi",
-        string="Suivi étape", tracking=2,
+        string="Suivi étape",
+        tracking=2,
     )
     is_sale_project_suivi_empty = fields.Boolean(
-        string='Pas de suivi pour cette étape',
-        compute='_compute_is_sale_project_suivi_empty',
-        required=False)
+        string="Pas de suivi pour cette étape",
+        compute="_compute_is_sale_project_suivi_empty",
+        required=False,
+    )
     sale_project_advancement_ids = fields.Many2many(
-        comodel_name="sale.project.advancement",
-        string="Avancement", tracking=3
+        comodel_name="sale.project.advancement", string="Avancement", tracking=3
     )
 
     project_subvention_id = fields.Many2one(
@@ -71,17 +85,18 @@ class SaleProject(models.Model):
         string="Programme",
         ondelete="restrict",
         required=True,
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     geo_sector_id = fields.Many2one(
         comodel_name="res.partner.geo.sector",
         string="Secteur géographique",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
 
     saison_id = fields.Many2one(
-        "sale.project.saison", "Saison",
-        default=_get_default_saison_id
+        "sale.project.saison", "Saison", default=_get_default_saison_id
     )
     date_visit = fields.Date("Date de visite")
 
@@ -89,11 +104,12 @@ class SaleProject(models.Model):
         comodel_name="sale.intervention",
         inverse_name="project_id",
         string="Interventions",
-        readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
+        readonly=True,
+        states={"draft": [("readonly", False)], "sent": [("readonly", False)]},
     )
     intervention_counter = fields.Integer(
-        compute='_compute_intervention_counter',
-        string="Nombre d'interventions")
+        compute="_compute_intervention_counter", string="Nombre d'interventions"
+    )
 
     sale_order_line_ids = fields.One2many(
         comodel_name="sale.order.line",
@@ -112,21 +128,21 @@ class SaleProject(models.Model):
     # ------------------------------------------------------
     # Computed fields / Search Fields
     # ------------------------------------------------------
-    @api.depends('intervention_ids')
+    @api.depends("intervention_ids")
     def _compute_intervention_counter(self):
         for res in self:
-            res.intervention_counter = \
-                self.env['sale.intervention'].search_count(
-                    [('project_id', '=', self.id)])
+            res.intervention_counter = self.env["sale.intervention"].search_count(
+                [("project_id", "=", self.id)]
+            )
 
     def _compute_is_sale_project_suivi_empty(self):
         for r in self:
-            sale_project_suivi_count = \
-                self.env['sale.project.suivi'].search_count(
-                    [('sale_project_admin_state_id',
-                      '=', self.admin_state_id.id)])
-            r.is_sale_project_suivi_empty = True \
-                if sale_project_suivi_count == 0 else False
+            sale_project_suivi_count = self.env["sale.project.suivi"].search_count(
+                [("sale_project_admin_state_id", "=", self.admin_state_id.id)]
+            )
+            r.is_sale_project_suivi_empty = (
+                True if sale_project_suivi_count == 0 else False
+            )
 
     # ------------------------------------------------------
     # Onchange / Constraints
@@ -142,7 +158,13 @@ class SaleProject(models.Model):
         for rec in res:
             rec.geo_sector_id = rec.sale_order_id.partner_id.geo_sector_id.id
             seq = str(rec.sale_order_id.partner_id.sale_project_count).zfill(3)
-            rec.name = rec.sale_order_id.partner_id.ref + '-' + datetime.now().strftime("%y") + '-' + seq
+            rec.name = (
+                rec.sale_order_id.partner_id.ref
+                + "-"
+                + datetime.now().strftime("%y")
+                + "-"
+                + seq
+            )
 
     def unlink(self):
         self.sale_order_line_ids.unlink()
@@ -159,7 +181,12 @@ class SaleProject(models.Model):
             "name": "Interventions",
             "res_model": "sale.intervention",
             "view_type": "form",
-            "views": [[tree_view, "tree"], [False, "form"], [False, "graph"], [False, "pivot"]],
+            "views": [
+                [tree_view, "tree"],
+                [False, "form"],
+                [False, "graph"],
+                [False, "pivot"],
+            ],
             "domain": [("project_id", "=", self.id)],
             "context": {
                 "default_project_id": self.id,
@@ -192,7 +219,8 @@ class SaleProjectSuivi(models.Model):
     _description = "Suivi étape"
 
     sale_project_admin_state_id = fields.Many2one(
-        string="Étape", comodel_name="sale.project.admin.state", required=True)
+        string="Étape", comodel_name="sale.project.admin.state", required=True
+    )
     name = fields.Char(string="Suivi étape", required=True)
 
 
@@ -215,7 +243,7 @@ class SaleProjectSaison(models.Model):
 class SaleProjectAdminState(models.Model):
     _name = "sale.project.admin.state"
     _description = "Étapes du projet"
-    _order = 'sequence, id'
+    _order = "sequence, id"
 
     name = fields.Char(string="Avancement", required=True)
     sequence = fields.Integer(default=1)
diff --git a/views/product_pricelist_view.xml b/views/product_pricelist_view.xml
index f09d3e60aeae289ed7f3f8616ac8d9b6784c4a48..396e709074a442622b40b5fb8cafc5a37318eead 100644
--- a/views/product_pricelist_view.xml
+++ b/views/product_pricelist_view.xml
@@ -29,9 +29,14 @@
             </field>
         </record>
 
-        <menuitem id="menu_product_pricelist_item" name="Règles de prix"
-                  parent="sale.product_menu_catalog" action="product.product_pricelist_item_action"
-                  groups="base.group_no_one" sequence="4"/>
+        <menuitem
+            id="menu_product_pricelist_item"
+            name="Règles de prix"
+            parent="sale.product_menu_catalog"
+            action="product.product_pricelist_item_action"
+            groups="base.group_no_one"
+            sequence="4"
+        />
 
     </data>
 </odoo>
diff --git a/views/product_template_views.xml b/views/product_template_views.xml
index 3096202b36fb9da59e7c02ec8f53d0134d0c8e42..75c9c23e601fa177951bd091c92454cd4c585373 100644
--- a/views/product_template_views.xml
+++ b/views/product_template_views.xml
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <odoo>
     <data>
 
         <record id="product_category_form_view" model="ir.ui.view">
             <field name="name">product.category.form.inherit</field>
             <field name="model">product.category</field>
-            <field name="inherit_id" ref="product.product_category_form_view"/>
+            <field name="inherit_id" ref="product.product_category_form_view" />
             <field name="arch" type="xml">
                 <field name="parent_id" position="after">
-                    <field name="symbol"/>
+                    <field name="symbol" />
                 </field>
             </field>
         </record>
diff --git a/views/sale_intervention_view.xml b/views/sale_intervention_view.xml
index 4f1f6a06ad743e487d636b1117f792afe9c6ae98..036a7a8bd26ddd267d3ecbbf4986528db242679f 100644
--- a/views/sale_intervention_view.xml
+++ b/views/sale_intervention_view.xml
@@ -11,7 +11,7 @@
                 <form string="Intervention">
                     <sheet>
                         <group>
-                            <field name="state" invisible="1"/>
+                            <field name="state" invisible="1" />
                             <field name="project_id" invisible="True" />
                             <field name="sale_order_id" invisible="True" />
                             <field
@@ -289,7 +289,7 @@
             <field name="arch" type="xml">
                 <tree string="Interventions" expand="True">
                     <field name="name" optional="show" />
-                    <field name="state" invisible="1"/>
+                    <field name="state" invisible="1" />
                     <field name="sale_order_id" optional="hide" />
                     <field name="project_id" optional="hide" />
                     <field name="intervention_type_id" optional="show" />
diff --git a/views/sale_order_view.xml b/views/sale_order_view.xml
index 1b9c15e472d7cb4bd87a9f57df3112a19e931cb5..a653118f3d6eaee7f2c0d874cb010840874651f1 100644
--- a/views/sale_order_view.xml
+++ b/views/sale_order_view.xml
@@ -51,8 +51,11 @@
                     <label for="order_line" string="Lignes de commandes" />
                 </field>
 
-                <xpath expr="//field[@name='order_line']/tree/field[@name='product_id']" position="before">
-                   <field name="sale_project_id" optional="show" string="Projet"/>
+                <xpath
+                    expr="//field[@name='order_line']/tree/field[@name='product_id']"
+                    position="before"
+                >
+                   <field name="sale_project_id" optional="show" string="Projet" />
                 </xpath>
 
                 <page name="order_lines" position="after">
@@ -63,7 +66,11 @@
                             readonly="True"
                         >
                               <tree edit="False" string="Déstockage">
-                                  <field name="project_id" optional="show" options="{'no_create': True, 'no_edit': True}"/>
+                                  <field
+                                    name="project_id"
+                                    optional="show"
+                                    options="{'no_create': True, 'no_edit': True}"
+                                />
                                   <field name="name" optional="show" />
                                   <field name="product_uom_qty" optional="show" />
                                   <field name="price_unit" optional="hide" />
@@ -85,7 +92,10 @@
             <field name="model">sale.project.suivi</field>
             <field name="arch" type="xml">
                 <tree editable="top">
-                    <field name="sale_project_admin_state_id" options='{"no_open": True, "no_create": True}'/>
+                    <field
+                        name="sale_project_admin_state_id"
+                        options='{"no_open": True, "no_create": True}'
+                    />
                     <field name="name" />
                 </tree>
             </field>
diff --git a/views/sale_project_admin_state_views.xml b/views/sale_project_admin_state_views.xml
index 91f7757aafabe95231edc0ea57026c03d217ec4d..59e9c978ae206bdb2e4bccea22a0f3c9e18ad31f 100644
--- a/views/sale_project_admin_state_views.xml
+++ b/views/sale_project_admin_state_views.xml
@@ -18,8 +18,12 @@
                     <group>
                         <group>
                             <field name="name" />
-                            <field name="sale_project_suivi_ids" widget="many2many_tags" context="{'default_sale_project_admin_state_id': active_id}"/>
-                            <field name="sequence"/>
+                            <field
+                                name="sale_project_suivi_ids"
+                                widget="many2many_tags"
+                                context="{'default_sale_project_admin_state_id': active_id}"
+                            />
+                            <field name="sequence" />
                         </group>
                         <group>
                             <field name="fold" />
diff --git a/views/sale_project_view.xml b/views/sale_project_view.xml
index 483c66c067f255f7166b8c9ed41a66451b0b3b9b..324fac948507b9ac84671e936cefc64b661a5ce4 100644
--- a/views/sale_project_view.xml
+++ b/views/sale_project_view.xml
@@ -36,7 +36,7 @@
                             <group>
                                 <field name="saison_id" />
                                 <field name="date_visit" />
-                                <field name="state" invisible="1"/>
+                                <field name="state" invisible="1" />
                             </group>
                         </group>
                         <group>
@@ -47,7 +47,10 @@
                                 />
                             </group>
                             <group>
-                                <field name="is_sale_project_suivi_empty" invisible="1"/>
+                                <field
+                                    name="is_sale_project_suivi_empty"
+                                    invisible="1"
+                                />
                                 <field
                                     name="sale_project_suivi_ids"
                                     widget="many2many_checkboxes"
@@ -57,12 +60,16 @@
                             </group>
                         </group>
                         <group name="interventions" class="oe_read_only">
-                            <field name="intervention_ids" mode="tree" style="pointer-events: none;"
-                                   context="{'search_default_group_by_intervention_type': True}">
+                            <field
+                                name="intervention_ids"
+                                mode="tree"
+                                style="pointer-events: none;"
+                                context="{'search_default_group_by_intervention_type': True}"
+                            >
                                 <!-- TODO : group  by intervention_type_id -->
                                 <tree default_order="intervention_type_id,name">
                                     <field name="name" optional="show" />
-                                    <field name="state" invisible="1"/>
+                                    <field name="state" invisible="1" />
                                     <field
                                         name="intervention_type_id"
                                         optional="show"