diff --git a/energy_project/models/project.py b/energy_project/models/project.py
index 26d4f1d6653063eb135b6c7b849ee519e155979d..7a00c8ca8950c21b7f09912f46c8fa3ec2ef050e 100644
--- a/energy_project/models/project.py
+++ b/energy_project/models/project.py
@@ -2,6 +2,7 @@ from odoo import _, fields, models
 
 STATE_VALUES = [
     ("draft", _("Draft")),
+    ("inscription", _("In Inscription")),
     ("activation", _("In Activation")),
     ("active", _("Active")),
 ]
diff --git a/energy_selfconsumption/models/distribution_table.py b/energy_selfconsumption/models/distribution_table.py
index cd0812fceeb21756b2b5253e019c540567a073f0..3bcaa4c6aee111a924d6c433e81313753fd02b99 100644
--- a/energy_selfconsumption/models/distribution_table.py
+++ b/energy_selfconsumption/models/distribution_table.py
@@ -4,6 +4,8 @@ from odoo.exceptions import ValidationError
 STATE_VALUES = [
     ("draft", _("Draft")),
     ("validated", _("Validated")),
+    ("process", _("In process")),
+    ("active", _("Active")),
 ]
 
 TYPE_VALUES = [
@@ -24,6 +26,7 @@ class DistributionTable(models.Model):
 
     name = fields.Char(readonly=True)
     selfconsumption_project_id = fields.Many2one('energy_selfconsumption.selfconsumption', required=True)
+    selfconsumption_project_state = fields.Selection(related='selfconsumption_project_id.state')
     type = fields.Selection(TYPE_VALUES, default="fixed", required=True, string="Modality")
     state = fields.Selection(STATE_VALUES, default="draft", required=True)
     supply_point_assignation_ids = fields.One2many('energy_selfconsumption.supply_point_assignation',
@@ -38,7 +41,7 @@ class DistributionTable(models.Model):
     def create(self, vals):
         vals['name'] = self.env.ref('energy_selfconsumption.distribution_table_sequence', False).next_by_id()
         return super(DistributionTable, self).create(vals)
-
+        
     @api.onchange('selfconsumption_project_id')
     def _onchange_selfconsumption_project_id(self):
         self.supply_point_assignation_ids = False
@@ -47,8 +50,12 @@ class DistributionTable(models.Model):
         for record in self:
             if not record.coefficient_is_valid:
                 raise ValidationError(_("Coefficient distribution must sum to 1."))
-            if not record.selfconsumption_project_id.state == 'activation':
-                raise ValidationError(_("Self-consumption project is not in activation"))
             if record.selfconsumption_project_id.distribution_table_ids.filtered_domain([('state', '=', 'validated')]):
                 raise ValidationError(_("Self-consumption project already has a validated table"))
+            if record.selfconsumption_project_id.distribution_table_ids.filtered_domain([('state', '=', 'process')]):
+                raise ValidationError(_("Self-consumption project already has a table in process"))
             record.write({"state": "validated"})
+
+    def button_draft(self):
+        for record in self:
+            record.write({"state": "draft"})
diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py
index be26b2ce8f2b9ace9f4d70bda657d56e61d6021f..5aa7cc965f2bfb704773e4e298c0841f6f4c558d 100644
--- a/energy_selfconsumption/models/selfconsumption.py
+++ b/energy_selfconsumption/models/selfconsumption.py
@@ -53,9 +53,16 @@ class Selfconsumption(models.Model):
             'context': {'create': True, 'default_project_id': self.id},
         }
 
-    def set_activation(self):
+    def distribution_table_state(self, actual_state, new_state):
+        distribution_table_to_activate = self.distribution_table_ids.filtered(lambda table: table.state == actual_state)
+        distribution_table_to_activate.write({"state": new_state})
+
+    def set_in_activation_state(self):
         for record in self:
-            record.write({"state": "activation"})
+            if not record.distribution_table_ids.filtered_domain([('state', '=', 'validated')]):
+                raise ValidationError(_("Must have a valid Distribution Table."))
+            record.write({"state": "activation"})        
+        self.distribution_table_state("validated", "process")
 
     def activate(self):
         for record in self:
@@ -65,6 +72,15 @@ class Selfconsumption(models.Model):
                 raise ValidationError(_("Project must have a valid CIL."))
             if not record.power or record.power <= 0:
                 raise ValidationError(_("Project must have a valid Generation Power."))
-            if not record.distribution_table_ids.filtered_domain([('state', '=', 'validated')]):
-                raise ValidationError(_("Must have a valid Distribution Table."))
             record.write({"state": "active"})
+        self.distribution_table_state("process", "active")
+
+    def set_inscription(self, selfconsumption_state):
+        for record in self:
+            record.write({"state": "inscription"})
+        if selfconsumption_state == 'activation':
+            self.distribution_table_state("process", "validated")
+
+    def set_draft(self):
+        for record in self:
+            record.write({"state": "draft"})
diff --git a/energy_selfconsumption/views/distribution_table_views.xml b/energy_selfconsumption/views/distribution_table_views.xml
index aa2537c1d7ebdba2f2239cca17da38f51064f232..d8173dac2929d67dc55e7444e4fa250959c1dfa6 100644
--- a/energy_selfconsumption/views/distribution_table_views.xml
+++ b/energy_selfconsumption/views/distribution_table_views.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <odoo>
     <data>
-
         <record id="distribution_table_form_view" model="ir.ui.view">
             <field name="name">energy_selfconsumption.distribution_table_form_view.form</field>
             <field name="model">energy_selfconsumption.distribution_table</field>
@@ -13,13 +12,21 @@
                                 string="Validate"
                                 name="button_validate"
                                 states="draft"
+                                class="btn btn-primary"
+                        />
+                        <button
+                            type="object"
+                            string="Reset to draft"
+                            name="button_draft"
+                            attrs="{'invisible':['|',('state','not in',['validated']),('selfconsumption_project_state','not in',['inscription'])]}"
                         />
                         <field
                                 name="state"
                                 widget="statusbar"
                                 readonly="True"
-                                statusbar_visible="draft,validated"
+                                statusbar_visible="draft,validated,process,active"
                         />
+                        <field name="selfconsumption_project_state" invisible="1"/>
                     </header>
                     <sheet>
                         <widget
@@ -106,4 +113,4 @@
             </field>
         </record>
     </data>
-</odoo>
\ No newline at end of file
+</odoo>
diff --git a/energy_selfconsumption/views/selfconsumption_views.xml b/energy_selfconsumption/views/selfconsumption_views.xml
index f8b36c1ba5c1b99a2d90e7892ceefd82727e0e56..4f6e94e24241c82f705099abb0abab8351bb2473 100644
--- a/energy_selfconsumption/views/selfconsumption_views.xml
+++ b/energy_selfconsumption/views/selfconsumption_views.xml
@@ -10,21 +10,46 @@
                     <header>
                         <button
                                 type="object"
-                                string="Set in activation"
-                                name="set_activation"
+                                string="Set in inscription"
+                                name="set_inscription"
+                                args="['draft']"
                                 attrs="{'invisible':[('state','not in',['draft'])]}"
+                                class="btn btn-primary"
+                        />
+                        <button
+                                type="object"
+                                string="Set in activation"
+                                name="set_in_activation_state"
+                                attrs="{'invisible':[('state','not in',['inscription'])]}"
+                                class="btn btn-primary"
                         />
                         <button
                                 type="object"
                                 string="Activate"
                                 name="activate"
                                 attrs="{'invisible':[('state','not in',['activation'])]}"
+                                class="btn btn-primary"
+                        />
+                        <button
+                                type="object"
+                                string="Back to In Inscription status"
+                                name="set_inscription"
+                                args="['activation']"
+                                attrs="{'invisible':[('state','not in',['activation'])]}"
+                                confirm="Are you sure you want to change the project status to the previous step?
+                                 If so, the distribution table will return to the 'validated' state."
+                        />
+                        <button
+                                type="object"
+                                string="Set to Draft"
+                                name="set_draft"
+                                attrs="{'invisible':[('state','not in',['inscription'])]}"
                         />
                         <field
                                 name="state"
                                 widget="statusbar"
                                 readonly="True"
-                                statusbar_visible="draft,activation,active"
+                                statusbar_visible="draft,inscription,activation,active"
                         />
                     </header>
                     <sheet>