diff --git a/__manifest__.py b/__manifest__.py
index 8c2fa43f5f335e5ec3035d5bf5e86f1b33279c92..13dbee2e63b3bc5b634f1d0bc6f49a3c8c7e8a7d 100755
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -14,6 +14,7 @@
         'data/data.xml',
         # wizard
         'wizard/acc_sale_price_wizard_views.xml',
+        'wizard/acc_sale_price_surplus_wizard_views.xml',
         'wizard/acc_account_wizard_views.xml',
         'wizard/acc_account_surplus_wizard_views.xml',
         # views
diff --git a/models/acc_account.py b/models/acc_account.py
index 1512e8a6cd5e47d6ea439f3f132c67480d1b90bb..a62d04725e20cfdb8919803ac7ffe2c7246cca6b 100644
--- a/models/acc_account.py
+++ b/models/acc_account.py
@@ -98,6 +98,11 @@ class AccAccount(models.Model):
         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,
@@ -110,7 +115,8 @@ class AccAccount(models.Model):
     url = fields.Char("URL", compute="_compute_url", store=True)
     tax_tcfe = fields.Float(
         "Taxes CPSE/TCF (en €/kWh)",
-        digits="Sale Price")
+        digits="Sale Price",
+        default=0.105)
 
     @api.model_create_multi
     def create(self, vals_list):
@@ -133,25 +139,29 @@ 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
-            tax_tcfe = 0.0
+            amount_tax_tcfe = 0.0
+            tot_qty = 0.0
 
             for line in move.line_ids:
                 total += line.price_total
+                tot_qty += line.quantity
 
             if move.is_tva and move.tax_id:
                 total_tax = ((total * move.tax_id.amount) / 100)
 
             if move.tax_tcfe > 0:
-                tax_tcfe = ((total * move.tax_tcfe) / 100)
+                amount_tax_tcfe = (tot_qty * move.tax_tcfe) / 100
 
             move.amount_untaxed = total
             move.amount_tax = total_tax
-            move.amount_total = total + total_tax + tax_tcfe
+            move.amount_tax_tcfe = amount_tax_tcfe
+            move.amount_total = total + total_tax + amount_tax_tcfe
 
     def _compute_url(self):
         for account in self:
diff --git a/models/acc_operation.py b/models/acc_operation.py
index a26bf50a53a0a69970383d87a53b642e7e7ead94..58e44df74c93c05d157fa3c86d88c8584a98b8e2 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -16,6 +16,8 @@ class AccOperation(models.Model):
     is_account_active = fields.Boolean("Facturation activée")
     acc_sale_price_ids = fields.One2many(
         "acc.sale.price", "acc_operation_id")
+    acc_sale_price_surplus_ids = fields.One2many(
+        "acc.sale.price.buyer", "acc_operation_id")
     acc_account_ids = fields.One2many(
         "acc.account", "acc_operation_id",
         domain=[("is_account_buyer", "=", False)],
@@ -31,7 +33,8 @@ class AccOperation(models.Model):
     )
     acc_account_count = fields.Integer(
         string="Nombre de factures", compute="_compute_acc_account_count")
-    tax_tcfe = fields.Float("Taxes CPSE/TCF (en €/kWh)", digits="Sale Price")
+    tax_tcfe = fields.Float(
+        "Taxes CPSE/TCF (en €/kWh)", digits="Sale Price", default=0.105)
 
     # ------------------------------------------------------
     # SQL Constraints
@@ -245,9 +248,49 @@ class AccOperation(models.Model):
 
     def open_x2m_matrix(self):
         return self._open_x2m_matrix("x2many_2d_matrix_demo")
+
     # ------------------------------------------------------
-    # Business methods
+    # Financial method APP
     # ------------------------------------------------------
+    def get_financial_monitoring(self, type, prm_id=None):
+        account_list = []
+        date_first = fields.Date.today() - relativedelta(months=1)
+        date_end = date_utils.end_of(date_first, 'month')
 
-    # def calc_periode(self, date):
+        if prm_id:
+            acc_counter_ids = self.env['acc.counter'].browse(prm_id)
+        else:
+            if type == 'cons':
+                acc_counter_ids = self.acc_delivery_ids
+            else:
+                acc_counter_ids = self.acc_injection_ids
 
+        # Consommation
+        power_tab_by_cons = self.env['acc.enedis.cdc'].read_group(
+            [('acc_operation_id', '=', self.id),
+             ('date_slot', '<=', date_end),
+             ('comp_data_type', '=', 'cons'),
+             ('acc_counter_id', 'in', acc_counter_ids.ids)],
+            ['power', 'acc_counter_id', 'date_slot'],
+            ['date_slot:month', 'acc_counter_id'], orderby='acc_counter_id', lazy=False)
+
+        return power_tab_by_cons
+        # prod_tot = power_tab_by_prod[0]['power'] - power_tab_by_prod[1]['power']
+
+        # for acc_injection_id in self.acc_injection_ids:
+        #     if acc_injection_id.is_account_auto_activate:
+        #         power_tab_by_prod = self.get_power_by_prod(acc_injection_id, date_start, date_end)
+        #
+        #         power_autoprod_percent = ((power_tab_by_prod[0]['power'] - power_tab_by_prod[1]['power']) * 100) / prod_tot
+        #         power_tab_by_cons = self.get_power_by_cons(date_start, date_end)
+        #         for power_cons in power_tab_by_cons:
+        #
+        #             power_month = (power_cons['power'] / 1000 / 2) * (power_autoprod_percent / 100)
+        #
+        #             price_kwh = self.env['acc.sale.price'].search([
+        #                 ('acc_operation_id', '=', self.id),
+        #                 ('acc_injection_id', '=', acc_injection_id.id),
+        #                 ('acc_delivery_id', '=', power_cons['acc_counter_id'][0]),
+        #                 ('start_date', '<=', date_month),
+        #                 ('end_date', '>=', date_month)
+        #             ]).price
\ No newline at end of file
diff --git a/models/acc_sale_price.py b/models/acc_sale_price.py
index 9a25d28b5bb256b7063f3ed6ad2325663d33e7c3..7be4f42ce64be4013fe5b75700f71047791e4b82 100644
--- a/models/acc_sale_price.py
+++ b/models/acc_sale_price.py
@@ -2,6 +2,9 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from odoo import fields, models, api
+from dateutil.relativedelta import relativedelta
+
+from odoo.exceptions import ValidationError
 
 
 class AccSalePrice(models.Model):
@@ -36,6 +39,65 @@ class AccSalePrice(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 "acc_operation_id" in vals:
+                acc_operation_id = vals["acc_operation_id"]
+                acc_operation = self.env["acc.operation"].browse(acc_operation_id)
+            if "acc_injection_id" in vals:
+                acc_injection_id = vals["acc_injection_id"]
+            if "acc_delivery_id" in vals:
+                acc_delivery_id = vals["acc_delivery_id"]
+            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.sale.price"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_delivery_id", "=", acc_delivery_id),
+                ("acc_injection_id", "=", acc_injection_id)])
+
+            if acc_operation.date_start_contract > start_date:
+                raise ValidationError(
+                    "L'opération n'est pas active à cette période là")
+
+            # Creation d'une nouvelle période date anniversaire à date renseignée - 1 jour
+            if not price_ids and acc_operation.date_start_contract < start_date:
+                val_new = {
+                    "acc_operation_id": acc_operation_id,
+                    "acc_injection_id": acc_injection_id,
+                    "acc_delivery_id": acc_delivery_id,
+                    "price": vals["price"],
+                    "start_date": acc_operation.date_start_contract,
+                    "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.sale.price"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_delivery_id", "=", acc_delivery_id),
+                ("acc_injection_id", "=", acc_injection_id),
+                ("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.sale.price"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_delivery_id", "=", acc_delivery_id),
+                ("acc_injection_id", "=", acc_injection_id),
+            ], limit=1, order="create_date desc")
+            if price_id:
+                price_id.end_date = start_date - relativedelta(days=1)
+        vals_list += new_vals
+        res = super(AccSalePrice, self).create(vals_list)
+        return res
+
 
 class AccSalePriceBuyer(models.Model):
     _name = 'acc.sale.price.buyer'
@@ -47,6 +109,10 @@ class AccSalePriceBuyer(models.Model):
     # ------------------------------------------------------
     # Fields declaration
     # ------------------------------------------------------
+    acc_operation_id = fields.Many2one(
+        "acc.operation",
+        "Opération",
+        ondelete="cascade")
     acc_injection_id = fields.Many2one(
         'acc.counter',
         domain=[('is_injection', '=', True)],
@@ -64,3 +130,62 @@ class AccSalePriceBuyer(models.Model):
     currency_id = fields.Many2one(
         '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 "acc_operation_id" in vals:
+                acc_operation_id = vals["acc_operation_id"]
+                acc_operation = self.env["acc.operation"].browse(acc_operation_id)
+            if "acc_injection_id" in vals:
+                acc_injection_id = vals["acc_injection_id"]
+            if "acc_buyer_id" in vals:
+                acc_buyer_id = vals["acc_buyer_id"]
+            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.sale.price.buyer"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_injection_id", "=", acc_injection_id),
+                ("acc_buyer_id", "=", acc_buyer_id)])
+
+            if acc_operation.date_start_contract > start_date:
+                raise ValidationError(
+                    "L'opération n'est pas active à cette période là")
+
+            # Creation d'une nouvelle période date anniversaire à date renseignée - 1 jour
+            if not price_ids and acc_operation.date_start_contract < start_date:
+                val_new = {
+                    "acc_operation_id": acc_operation_id,
+                    "acc_injection_id": acc_injection_id,
+                    "acc_buyer_id": acc_buyer_id,
+                    "price": vals["price"],
+                    "start_date": acc_operation.date_start_contract,
+                    "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.sale.price.buyer"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_buyer_id", "=", acc_buyer_id),
+                ("acc_injection_id", "=", acc_injection_id),
+                ("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.sale.price.buyer"].search([
+                ("acc_operation_id", "=", acc_operation_id),
+                ("acc_buyer_id", "=", acc_buyer_id),
+                ("acc_injection_id", "=", acc_injection_id),
+            ], limit=1, order="create_date desc")
+            if price_id:
+                price_id.end_date = start_date - relativedelta(days=1)
+        vals_list += new_vals
+        res = super(AccSalePriceBuyer, self).create(vals_list)
+        return res
diff --git a/report/account_template.xml b/report/account_template.xml
index 333e547dd36bb73ba077d7d11a2ea80c7ed74669..e16caebee0198a9ef6dc566bb583743634cad152 100644
--- a/report/account_template.xml
+++ b/report/account_template.xml
@@ -98,6 +98,12 @@
                                             <span t-field="o.power_cons"/> <span>kWh</span>
                                         </td>
                                     </tr>
+                                    <tr>
+                                        <td>Taxes CPSE/TCF</td>
+                                        <td class="text-right">
+                                            <span t-field="o.tax_tcfe"/> <span>en €/kWh</span>
+                                        </td>
+                                    </tr>
 
                                     <t t-set="lines" t-value="o.line_ids"/>
                                     <t t-set="current_subtotal" t-value="0"/>
@@ -129,11 +135,21 @@
                                                     <span t-field="o.amount_untaxed"/>
                                                 </td>
                                             </tr>
+                                            <t t-if="o.is_tva">
+                                                <tr style="">
+                                                    <t>
+                                                        <td><span class="text-nowrap"/>TVA</td>
+                                                        <td class="text-right o_price_total">
+                                                            <span class="text-nowrap" t-field="o.amount_tax"/>
+                                                        </td>
+                                                    </t>
+                                                </tr>
+                                            </t>
                                             <tr style="">
                                                 <t>
-                                                    <td><span class="text-nowrap"/>TVA</td>
+                                                    <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"/>
+                                                        <span class="text-nowrap" t-field="o.amount_tax_tcfe"/>
                                                     </td>
                                                 </t>
                                             </tr>
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 32c2bc6f234f07aac32211ad1c7b9cf93123a093..5a4dea61265f1f5d2577759cda343235abac6850 100755
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -5,6 +5,8 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
 "access_acc_sale_price_buyer_group_user","acc_sale_price_buyer group_user","model_acc_sale_price_buyer","base.group_user",1,0,0,0
 "access_acc_sale_price_wizard_group_partner_manager","acc_sale_price_wizard group_partner_manager","model_acc_sale_price_wizard","base.group_partner_manager",1,1,1,1
 "access_acc_sale_price_wizard_group_user","acc_sale_price_wizard group_user","model_acc_sale_price_wizard","base.group_user",1,0,0,0
+"access_acc_sale_price_surplus_wizard_group_partner_manager","acc_sale_price_surplus_wizard group_partner_manager","model_acc_sale_price_surplus_wizard","base.group_partner_manager",1,1,1,1
+"access_acc_sale_price_surplus_wizard_group_user","acc_sale_price_surplus_wizard group_user","model_acc_sale_price_surplus_wizard","base.group_user",1,0,0,0
 "access_acc_account_group_partner_manager","acc_account group_partner_manager","model_acc_account","base.group_partner_manager",1,1,1,1
 "access_acc_account_group_user","acc_account group_user","model_acc_account","base.group_user",1,0,0,0
 "access_acc_account_line_group_partner_manager","acc_account_line group_partner_manager","model_acc_account_line","base.group_partner_manager",1,1,1,1
diff --git a/views/acc_account_views.xml b/views/acc_account_views.xml
index be4bc51dd76fde71bfc4bed10623626431ac9128..afa3c482cac259173518ac3eeb6613ce55f20196 100644
--- a/views/acc_account_views.xml
+++ b/views/acc_account_views.xml
@@ -218,7 +218,7 @@
                                         <field name="is_tva" invisible="1"/>
                                         <field name="tax_id"
                                                options="{'no_create': True}"
-                                               optional="show"/>
+                                               attrs="{'invisible': [('is_tva', '=', False)]}"/>
                                         <field name="price_total"
                                                string="Total"/>
                                         <field name="acc_operation_id" invisible="1"/>
@@ -227,9 +227,10 @@
                                     </tree>
                                 </field>
                                 <group class="oe_subtotal_footer oe_right">
-                                    <field name="amount_untaxed" attrs="{'invisible': [('is_tva', '=', False)]}"/>
+                                    <field name="amount_untaxed" />
                                     <field name="amount_tax" attrs="{'invisible': [('is_tva', '=', False)]}"/>
-                                    <field name="amount_total" />
+                                    <field name="amount_tax_tcfe" readonly="1"/>
+                                    <field name="amount_total" class="oe_subtotal_footer_separator" />
                                 </group>
                             </page>
                         </notebook>
diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml
index 42cd9455d9a10a9acba8cbe8bea3258620f471a4..d024ee2f770e638e32eb4cf9a796f0bdad1c1e42 100644
--- a/views/acc_operation_views.xml
+++ b/views/acc_operation_views.xml
@@ -9,18 +9,13 @@
             <field name="priority" eval="8"/>
             <field name="arch" type="xml">
                 <header position="inside">
-                    <button string="Prix de vente"
-                            type="action"
-                            name="%(acc_account.act_x2many_2d_matrix_demo)d"
-                            class="btn-primary"
-                            attrs="{'invisible': [('is_account_active', '=', False)]}"/>
-                    <button string="Générer une facture"
+                    <button string="Générer les factures"
                             type="action"
                             name="%(acc_account.acc_account_wizard_action)d"
                             class="btn-primary"
                             attrs="{'invisible': [('is_account_active', '=', False)]}"
                     />
-                    <button string="Générer une facture Acheteur"
+                    <button string="Générer les factures Acheteur"
                             type="action"
                             name="%(acc_account.acc_account_surplus_wizard_action)d"
                             class="btn-primary"
@@ -53,6 +48,13 @@
                 <notebook position="inside">
                     <page string="Prix de vente" name="account_price"
                           attrs="{'invisible': [('is_account_active', '=', False)]}">
+                        <header>
+                            <button string="Générer des Prix de vente"
+                                type="action"
+                                name="%(acc_account.act_x2many_2d_matrix_demo)d"
+                                class="btn-primary"
+                                attrs="{'invisible': [('is_account_active', '=', False)]}"/>
+                        </header>
                         <field name="acc_sale_price_ids" widget="one2many">
                             <tree editable="bottom">
                                 <field name="acc_delivery_id" />
@@ -64,6 +66,26 @@
                             </tree>
                         </field>
                     </page>
+                    <page string="Prix de vente Surplus" name="account_price_surplus"
+                          attrs="{'invisible': [('is_account_active', '=', False)]}">
+                        <header>
+                            <button string="Générer des Prix de vente Surplus"
+                                type="action"
+                                name="%(acc_account.act_x2many_2d_matrix_demo_surplus)d"
+                                class="btn-primary"
+                                attrs="{'invisible': [('is_account_active', '=', False)]}"/>
+                        </header>
+                        <field name="acc_sale_price_surplus_ids" widget="one2many">
+                            <tree editable="bottom">
+                                <field name="acc_injection_id" />
+                                <field name="acc_buyer_id" />
+                                <field name="start_date" />
+                                <field name="end_date" />
+                                <field name="currency_id" invisible="1"/>
+                                <field name="price" widget="monetary" />
+                            </tree>
+                        </field>
+                    </page>
                     <page string="Facturation" name="account"
                         attrs="{'invisible': [('is_account_active', '=', False)]}">
                         <group>
diff --git a/wizard/__init__.py b/wizard/__init__.py
index dbc434fe419f7dbae664e0923a226845204bd57c..0f3a3cf624661d8490442d61aba36419c3472789 100644
--- a/wizard/__init__.py
+++ b/wizard/__init__.py
@@ -2,5 +2,6 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 from . import acc_sale_price_wizard
+from . import acc_sale_price_surplus_wizard
 from . import acc_account_wizard
 from . import acc_account_surplus_wizard
diff --git a/wizard/acc_sale_price_surplus_wizard.py b/wizard/acc_sale_price_surplus_wizard.py
new file mode 100644
index 0000000000000000000000000000000000000000..53fee58a3f054c3b933501e1d630c19a933feece
--- /dev/null
+++ b/wizard/acc_sale_price_surplus_wizard.py
@@ -0,0 +1,48 @@
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo import fields, models, api
+
+from dateutil.relativedelta import relativedelta
+
+
+class AccSalePriceWizardSurplus(models.TransientModel):
+    _name = "acc.sale.price.surplus.wizard"
+    _description = "Prix de vente Surplus wizard"
+
+    def _default_operation_id(self):
+        return self.env.context.get('active_id')
+
+    acc_sale_price_ids = fields.Many2many(
+        "acc.sale.price.buyer", default=lambda self: self._default_sale_price_ids()
+    )
+    start_date = fields.Date("Début de période", default=fields.Date.context_today)
+    acc_operation_id = fields.Many2one('acc.operation', default=_default_operation_id)
+
+    @api.onchange('start_date')
+    def _onchange_start_date(self):
+        if self.start_date:
+            for price in self.acc_sale_price_ids:
+                price.start_date = self.start_date
+
+    def _default_sale_price_ids(self):
+        inj_ids = self.env["acc.counter"].search([
+            ('is_injection', '=', True),
+            ('acc_operation_id', '=', self.env.context.get('active_id')),
+            ('buyer_id', '!=', False)
+        ])
+
+        return [
+            (
+                0,
+                0,
+                {
+                    "acc_buyer_id": inj.buyer_id.id,
+                    "acc_injection_id": inj.id,
+                    "acc_operation_id": self.env.context.get('active_id'),
+                },
+            )
+            # # if there isn't a demo line record for the user, create a new one
+            # if not rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == op) else
+            # # otherwise, return the line
+            # (4, rec.acc_sale_price_ids.filtered(lambda x: x.acc_operation_id == usr)[0].id)
+            for inj in inj_ids
+        ]
diff --git a/wizard/acc_sale_price_surplus_wizard_views.xml b/wizard/acc_sale_price_surplus_wizard_views.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9ceb43007d4099b21f7335678b5c5fdfc0a92384
--- /dev/null
+++ b/wizard/acc_sale_price_surplus_wizard_views.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record id="x2many_2d_matrix_demo_surplus" model="ir.ui.view">
+        <field name="name">acc.sale.price.surplus.wizard.wiz</field>
+        <field name="model">acc.sale.price.surplus.wizard</field>
+        <field name="type">form</field>
+        <field name="arch" type="xml">
+            <form>
+                <field name="acc_operation_id" invisible="1"/>
+                <group>
+                    <group>
+                        <field name="start_date"/>
+                    </group>
+                </group>
+                <field
+                    name="acc_sale_price_ids"
+                    widget="x2many_2d_matrix"
+                    field_x_axis="acc_injection_id"
+                    field_y_axis="acc_buyer_id"
+                    field_value="price"
+                    show_row_totals="0"
+                    show_column_totals="0"
+                >
+                    <tree>
+                        <field name="acc_injection_id" />
+                        <field name="acc_buyer_id" />
+                        <field name="price" />
+                        <field name="acc_operation_id" />
+                        <field name="start_date" />
+                    </tree>
+                </field>
+            </form>
+        </field>
+    </record>
+
+    <record id="act_x2many_2d_matrix_demo_surplus" model="ir.actions.act_window">
+        <field name="name">Prix de vente Surplus</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">acc.sale.price.surplus.wizard</field>
+        <field name="view_mode">form</field>
+        <field name="view_id" ref="x2many_2d_matrix_demo_surplus"/>
+        <field name="target">new</field>
+    </record>
+
+</odoo>
diff --git a/wizard/acc_sale_price_wizard.py b/wizard/acc_sale_price_wizard.py
index e80e2810b78985b7478fad82f089a12ee7521668..42b7c5fe6abb28ed940df7d7a0c5230d351edf87 100644
--- a/wizard/acc_sale_price_wizard.py
+++ b/wizard/acc_sale_price_wizard.py
@@ -11,24 +11,28 @@ class AccSalePriceWizard(models.TransientModel):
     def _default_operation_id(self):
         return self.env.context.get('active_id')
 
-    # def _default_start_date(self):
-    #     return self.env.context.get('active_id')
-
     acc_sale_price_ids = fields.Many2many(
         "acc.sale.price", default=lambda self: self._default_sale_price_ids()
     )
     start_date = fields.Date("Début de période", default=fields.Date.context_today)
     acc_operation_id = fields.Many2one('acc.operation', default=_default_operation_id)
 
+    @api.onchange('start_date')
+    def _onchange_start_date(self):
+        if self.start_date:
+            for price in self.acc_sale_price_ids:
+                price.start_date = self.start_date
+
     def _default_sale_price_ids(self):
         inj_ids = self.env["acc.counter"].search([
             ('is_injection', '=', True),
             ('acc_operation_id', '=', self.env.context.get('active_id'))
         ])
-        recs = self.env["acc.counter"].search([
-            ('is_delivery', '=', True),
+        recs = self.env["res.partner"].search([
+            ('is_b', '=', True),
             ('acc_operation_id', '=', self.env.context.get('active_id'))
         ])
+
         return [
             (
                 0,
@@ -37,7 +41,6 @@ class AccSalePriceWizard(models.TransientModel):
                     "acc_delivery_id": rec.id,
                     "acc_injection_id": inj.id,
                     "acc_operation_id": self.env.context.get('active_id'),
-                    "start_date": fields.Date.today(),
                 },
             )
             # # if there isn't a demo line record for the user, create a new one
@@ -47,27 +50,3 @@ class AccSalePriceWizard(models.TransientModel):
             for rec in recs
             for inj in inj_ids
         ]
-
-    def save_price(self):
-        for price in self:
-            return
-            # partner_values = {}
-            #
-            # values = {
-            #     'name': partner.name,
-            #     'user_id': partner.user_id.id,
-            #     'contract_type': partner.contract_type,
-            #     'status': partner.status,
-            #     'sport': partner.sport.id,
-            #     'street': partner.street,
-            #     'zip': partner.zip,
-            #     'city': partner.city,
-            #     'region': partner.region.id,
-            #     'mobile': partner.mobile,
-            #     'email': partner.email,
-            #     'client_status': 'ask_validation',
-            # }
-            #
-            # partner_values.update(values)
-            # partner_current = self.env['res.partner'].browse(partner.partner_id)
-            # partner_current.write(partner_values)
diff --git a/wizard/acc_sale_price_wizard_views.xml b/wizard/acc_sale_price_wizard_views.xml
index 391e5282faca4c8caf32c3b2b03c3227afa55e5c..910c317ca98f86cba9abc889654145c442581f18 100644
--- a/wizard/acc_sale_price_wizard_views.xml
+++ b/wizard/acc_sale_price_wizard_views.xml
@@ -18,6 +18,8 @@
                     field_x_axis="acc_injection_id"
                     field_y_axis="acc_delivery_id"
                     field_value="price"
+                    show_row_totals="0"
+                    show_column_totals="0"
                 >
                     <tree>
                         <field name="acc_injection_id" />
@@ -28,7 +30,8 @@
                     </tree>
                 </field>
 <!--                <footer>-->
-<!--                    <button class="btn btn-sm btn-primary" name="save_price" string="Sauvegarder" type="object" confirm="Sauvegarder"/>-->
+<!--                    <button class="btn btn-sm btn-primary" name="save_price" string="Créer" type="object" />-->
+<!--&lt;!&ndash;                    <button class="btn btn-sm btn-primary" name="save_price" string="TEST" type="object" confirm="TEST"/>&ndash;&gt;-->
 <!--                    <button class="btn btn-sm btn-default" special="cancel" string="Annuler"/>-->
 <!--                </footer>-->
             </form>