diff --git a/models/acc_account.py b/models/acc_account.py
index 8e6f3bab117094ea8cf1d814786b866ad3bafbaf..fcc1454355c18909eb5a15b5480f8014b19e375d 100644
--- a/models/acc_account.py
+++ b/models/acc_account.py
@@ -1,7 +1,10 @@
 # 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 api, fields, models
+from dateutil.relativedelta import relativedelta
+
+from odoo import _, api, fields, models
+from odoo.exceptions import ValidationError
 
 
 class AccAccount(models.Model):
@@ -91,18 +94,12 @@ class AccAccount(models.Model):
     amount_tax = fields.Monetary(
         string="Taxe", store=True, readonly=True, compute="_compute_amount"
     )
-    amount_tax_tcfe = fields.Monetary(
-        string="Taxes CPSE/TCF", store=True, readonly=True, compute="_compute_amount"
-    )
     amount_total = fields.Monetary(
         string="Total", store=True, readonly=True, compute="_compute_amount"
     )
     # inverse='_inverse_amount_total')
     power_cons = fields.Float("Consommation locale (index Enedis)")
     url = fields.Char("URL", compute="_compute_url", store=True)
-    tax_tcfe = fields.Float(
-        "Taxes CPSE/TCF (en €/kWh)", digits="Sale Price", default=0.105
-    )
 
     @api.model_create_multi
     def create(self, vals_list):
@@ -141,13 +138,11 @@ class AccAccount(models.Model):
         "line_ids.price_total",
         "line_ids.price_unit",
         "line_ids.quantity",
-        "tax_tcfe",
     )
     def _compute_amount(self):
         for move in self:
             total_tax = 0.0
             total = 0.0
-            amount_tax_tcfe = 0.0
             tot_qty = 0.0
 
             for line in move.line_ids:
@@ -157,13 +152,9 @@ class AccAccount(models.Model):
             if move.is_tva and move.tax_id:
                 total_tax = (total * move.tax_id.amount) / 100
 
-            if move.tax_tcfe > 0:
-                amount_tax_tcfe = (tot_qty * move.tax_tcfe) / 100
-
             move.amount_untaxed = total
             move.amount_tax = total_tax
-            move.amount_tax_tcfe = amount_tax_tcfe
-            move.amount_total = total + total_tax + amount_tax_tcfe
+            move.amount_total = total + total_tax
 
     def _compute_url(self):
         for account in self:
@@ -243,3 +234,44 @@ class AccAccountTaxTcfe(models.Model):
         "res.currency", "Devise", default=_get_default_currency_id
     )
     price = fields.Float("Tarif", digits="Sale Price")
+
+    @api.model_create_multi
+    def create(self, vals_list):
+        new_vals = []
+        for vals in vals_list:
+            if "start_date" in vals:
+                start_date = fields.Date.to_date(vals["start_date"])
+
+            # If date start period doesn't exist
+            price_ids = self.env["acc.account.tax.tcfe"].search([])
+
+            # Creation d'une nouvelle période date anniversaire à date renseignée - 1 jour
+            if not price_ids:
+                val_new = {
+                    "price": vals["price"],
+                    "start_date": "01/01/2000",
+                    "end_date": start_date - relativedelta(days=1),
+                }
+                new_vals.append(val_new)
+
+            # Si une période existe après la date renseignée
+            price_ids = self.env["acc.account.tax.tcfe"].search(
+                [
+                    ("start_date", "<=", start_date),
+                    ("end_date", ">", start_date),
+                ]
+            )
+            if price_ids:
+                raise ValidationError(
+                    _("Un prix de vente existe déjà pour cette date là")
+                )
+
+            price_id = self.env["acc.account.tax.tcfe"].search([],
+                limit=1,
+                order="create_date desc",
+            )
+            if price_id:
+                price_id.end_date = start_date - relativedelta(days=1)
+        vals_list += new_vals
+        res = super(AccAccountTaxTcfe, self).create(vals_list)
+        return res
diff --git a/models/acc_operation.py b/models/acc_operation.py
index 200184972e3e430da3be380c1813df881c9bad80..d9e6d9a0506cac06bae647a6270b177a57ab4f77 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -43,9 +43,6 @@ class AccOperation(models.Model):
         string="Nombre de factures Surplus",
         compute="_compute_acc_account_surplus_count",
     )
-    tax_tcfe = fields.Float(
-        "Taxes CPSE/TCF (en €/kWh)", digits="Sale Price", default=0.105
-    )
 
     # ------------------------------------------------------
     # SQL Constraints
@@ -211,7 +208,6 @@ class AccOperation(models.Model):
                                 "power_cons": power_total,
                                 "start_date": date_start,
                                 "end_date": date_end,
-                                "tax_tcfe": self.tax_tcfe,
                             }
                         )
 
@@ -243,6 +239,8 @@ class AccOperation(models.Model):
                             )
                             interval_ids = price_ids & price2_ids
 
+                        # Création des lignes de facturation
+                        # pour chaque période de tarifs trouvée
                         for interval in interval_ids:
                             if date_start > interval.start_date:
                                 date_interval_start = date_start
@@ -283,6 +281,67 @@ class AccOperation(models.Model):
                             )
                             account_list.append(acc_account)
 
+                        tax_interval_ids = self.env["acc.account.tax.tcfe"].search(
+                            [
+                                ("start_date", "<=", date_start),
+                                ("end_date", "=", False),
+                            ]
+                        )
+                        if not tax_interval_ids:
+                            tax_ids = self.env["acc.account.tax.tcfe"].search(
+                                [
+                                    ("end_date", ">=", date_start),
+                                ]
+                            )
+                            tax2_ids = self.env["acc.account.tax.tcfe"].search(
+                                [
+                                    ("start_date", "<=", date_end),
+                                ]
+                            )
+                            tax_interval_ids = tax_ids & tax2_ids
+
+                        # Création des lignes de facturation
+                        # pour chaque période de taxes trouvée
+                        for interval in tax_interval_ids:
+                            if date_start > interval.start_date:
+                                date_interval_start = date_start
+                            else:
+                                date_interval_start = interval.start_date
+
+                            if interval.end_date:
+                                if date_end < interval.end_date:
+                                    date_interval_end = date_end
+                                else:
+                                    date_interval_end = interval.end_date
+                            else:
+                                date_interval_end = date_end
+
+                            power_total = self.calc_power_by_cons_by_prod(
+                                acc_injection_id,
+                                acc_delivery_id,
+                                date_interval_start,
+                                date_interval_end,
+                            )
+
+                            AccountLine = self.env["acc.account.line"]
+
+                            # Création de la ligne de facture
+                            # par intervalle de période de prix
+                            AccountLine.create(
+                                {
+                                    "quantity": power_total,
+                                    "price_unit": interval.price,
+                                    "acc_account_id": acc_account.id,
+                                    "start_date": date_interval_start,
+                                    "end_date": date_interval_end,
+                                    "description": "TCFE - Période du "
+                                                   + str(date_interval_start)
+                                                   + " au "
+                                                   + str(date_interval_end),
+                                }
+                            )
+                            account_list.append(acc_account)
+
         action = self.env["ir.actions.actions"]._for_xml_id(
             "acc_account.action_acc_account"
         )
diff --git a/report/account_template.xml b/report/account_template.xml
index 62006b96b0647ed3ba409b4b0d647b8d89a8b673..3309a93715a239a3e023d82424ffb53529be22eb 100644
--- a/report/account_template.xml
+++ b/report/account_template.xml
@@ -152,21 +152,6 @@
                                                         </t>
                                                     </tr>
                                                 </t>
-                                                <tr style="">
-                                                    <t>
-                                                        <td><span
-                                                                class="text-nowrap"
-                                                            />Taxes CPSE/TCF</td>
-                                                        <td
-                                                            class="text-right o_price_total"
-                                                        >
-                                                            <span
-                                                                class="text-nowrap"
-                                                                t-field="o.amount_tax_tcfe"
-                                                            />
-                                                        </td>
-                                                    </t>
-                                                </tr>
                                                 <tr class="border-black o_total">
                                                     <td><strong>Total</strong></td>
                                                     <td class="text-right">
@@ -456,21 +441,6 @@
                                                         </t>
                                                     </tr>
                                                 </t>
-                                                <tr style="">
-                                                    <t>
-                                                        <td><span
-                                                                class="text-nowrap"
-                                                            />Taxes CPSE/TCF</td>
-                                                        <td
-                                                            class="text-right o_price_total"
-                                                        >
-                                                            <span
-                                                                class="text-nowrap"
-                                                                t-field="o.amount_tax_tcfe"
-                                                            />
-                                                        </td>
-                                                    </t>
-                                                </tr>
                                                 <tr class="border-black o_total">
                                                     <td><strong>Total</strong></td>
                                                     <td class="text-right">
diff --git a/views/acc_account_views.xml b/views/acc_account_views.xml
index 565f85a3b1365c837daaac18cb26d9e611740919..750cf8ecfcff205a33100abaceb7de373f9f4e23 100644
--- a/views/acc_account_views.xml
+++ b/views/acc_account_views.xml
@@ -241,10 +241,6 @@
                                 <field name="start_date" />
                                 <field name="end_date" />
                                 <field name="power_cons" />
-                                <field
-                                    name="tax_tcfe"
-                                    options="{'field_digits': True}"
-                                />
                             </group>
                         </group>
                         <group>
@@ -296,7 +292,6 @@
                                         name="amount_tax"
                                         attrs="{'invisible': [('is_tva', '=', False)]}"
                                     />
-                                    <field name="amount_tax_tcfe" readonly="1" />
                                     <field
                                         name="amount_total"
                                         class="oe_subtotal_footer_separator"
@@ -383,8 +378,21 @@
             </field>
         </record>
 
+        <record id="acc_view_tax_tcfe_tree" model="ir.ui.view">
+            <field name="name">acc.account.tax.tcfe.tree</field>
+            <field name="model">acc.account.tax.tcfe</field>
+            <field name="arch" type="xml">
+                <tree string="Taxes TCFE">
+                    <field name="start_date" />
+                    <field name="end_date" />
+                    <field name="currency_id" />
+                    <field name="price" />
+                </tree>
+            </field>
+        </record>
+
         <record id="acc_action_tcfe_form" model="ir.actions.act_window">
-            <field name="name">Taxes</field>
+            <field name="name">Taxes </field>
             <field name="res_model">acc.account.tax.tcfe</field>
             <field name="view_mode">tree,form</field>
         </record>
diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml
index b095380632992589ba8d1d2a6087f9a559628942..5e68cd60a21bc42b4a5af8b5b795168586c9068b 100644
--- a/views/acc_operation_views.xml
+++ b/views/acc_operation_views.xml
@@ -123,9 +123,6 @@
                         name="account"
                         attrs="{'invisible': [('is_account_active', '=', False)]}"
                     >
-                        <group>
-                            <field name="tax_tcfe" options="{'field_digits': True}" />
-                        </group>
                         <field
                             name="acc_account_ids"
                             widget="one2many"