diff --git a/energy_communities_service_invoicing/__init__.py b/energy_communities_service_invoicing/__init__.py
index 79dbb940820f659ef874e246f7172f453b83a326..d750a11adfefa6e17241da58dc95fcfc2fdd2225 100644
--- a/energy_communities_service_invoicing/__init__.py
+++ b/energy_communities_service_invoicing/__init__.py
@@ -1,3 +1,19 @@
 from . import components
 from . import models
 from . import wizards
+
+import logging
+from odoo import SUPERUSER_ID, api
+
+logger = logging.getLogger(__name__)
+
+
+def post_setup_intercompany_invoicing_config(cr, registry):
+    logger.info("Running Inter company setup")
+    env = api.Environment(cr, SUPERUSER_ID, {})
+    companies = env["res.company"].search([])
+    for company in companies:
+        company.write({"invoice_auto_validation": False})
+    logger.info(
+        "Inter company invoice auto validation disabled by default on all companies."
+    )
diff --git a/energy_communities_service_invoicing/__manifest__.py b/energy_communities_service_invoicing/__manifest__.py
index aaa9dbcc53614b1b6b4331913258e84d61534dd2..6cb1f667b4d750ed34bfcd90fb4ad7116bea9f48 100644
--- a/energy_communities_service_invoicing/__manifest__.py
+++ b/energy_communities_service_invoicing/__manifest__.py
@@ -45,6 +45,7 @@
         "wizards/service_invoicing_action_create.xml",
         "views/menus.xml",
     ],
+    "post_init_hook": "post_setup_intercompany_invoicing_config",
     # only loaded in demonstration mode
     "demo": [],
 }
diff --git a/energy_communities_service_invoicing/models/account_move.py b/energy_communities_service_invoicing/models/account_move.py
index fdfc3e71ede0f761cc9def327a190d4240803963..2fff56b99316b373cb28fd525c86ebf1e193c86a 100644
--- a/energy_communities_service_invoicing/models/account_move.py
+++ b/energy_communities_service_invoicing/models/account_move.py
@@ -7,20 +7,14 @@ class AccountMove(models.Model):
     _name = "account.move"
     _inherit = ["account.move", "pack.type.mixin"]
 
-    ref_invoice_id = fields.Many2one(
-        comodel_name="account.move",
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
-        compute_sudo=True,
-        store=False,
-    )
     related_contract_id = fields.Many2one(
         comodel_name="contract.contract",
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
+        compute="_compute_related_contract_id_is_contract",
         compute_sudo=True,
-        store=False,
+        store=True,
     )
     is_contract = fields.Boolean(
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
+        compute="_compute_related_contract_id_is_contract",
         compute_sudo=True,
         store=True,
     )
@@ -29,26 +23,20 @@ class AccountMove(models.Model):
         string="Related community",
         related="related_contract_id.community_company_id",
         domain="[('hierarchy_level','=','community')]",
+        store=True,
     )
 
-    @api.depends("invoice_line_ids", "ref")
-    def _compute_ref_invoice_id_related_contract_id_is_contract(self):
+    @api.depends("invoice_line_ids", "auto_invoice_id")
+    def _compute_related_contract_id_is_contract(self):
         for record in self:
-            record.ref_invoice_id = False
             record.related_contract_id = False
             record.is_contract = False
-            rel_inv = False
-            if record.ref:
-                rel_inv = (
-                    self.env["account.move"]
-                    .sudo()
-                    .search([("name", "=", record.ref)], limit=1)
-                )
-                if rel_inv:
-                    record.ref_invoice_id = rel_inv.id
-                    record.is_contract = rel_inv.is_contract
-                    if rel_inv.related_contract_id:
-                        record.related_contract_id = rel_inv.related_contract_id.id
+            if record.auto_invoice_id:
+                record.is_contract = record.auto_invoice_id.is_contract
+                if record.auto_invoice_id.related_contract_id:
+                    record.related_contract_id = (
+                        record.auto_invoice_id.related_contract_id.id
+                    )
             else:
                 if record.invoice_line_ids:
                     first_move_line = record.invoice_line_ids[0]
@@ -57,14 +45,15 @@ class AccountMove(models.Model):
                         record.related_contract_id = rel_contract.id
                         record.is_contract = True
 
-    def custom_compute_pack_type(self):
-        self._set_custom_pack_type_on_invoice()
-
-    @api.depends("ref", "invoice_line_ids")
+    @api.depends("invoice_line_ids", "auto_invoice_id")
     def _compute_pack_type(self):
         super()._compute_pack_type()
 
-    # define configuration intercompany journal
+    def custom_compute_pack_type(self):
+        self._set_custom_pack_type_on_invoice()
+
+    # Inter Company:
+    # define configuration journal
     def _prepare_invoice_data(self, dest_company):
         inv_data = super()._prepare_invoice_data(dest_company)
         if (
@@ -75,3 +64,15 @@ class AccountMove(models.Model):
                 "journal_id"
             ] = dest_company.sudo().service_invoicing_purchase_journal_id.id
         return inv_data
+
+
+class AccountMoveLine(models.Model):
+    _inherit = "account.move.line"
+
+    # Inter Company:
+    # propagate name from origin invoice
+    @api.model
+    def _prepare_account_move_line(self, dest_move, dest_company):
+        vals = super()._prepare_account_move_line(dest_move, dest_company)
+        vals["name"] = self.name
+        return vals
diff --git a/energy_communities_service_invoicing/models/contract.py b/energy_communities_service_invoicing/models/contract.py
index 78a27de59df6617e932f3653f0eda58fd9e828fe..bea8d71d3799d25d426dde821e879717425fdcb5 100644
--- a/energy_communities_service_invoicing/models/contract.py
+++ b/energy_communities_service_invoicing/models/contract.py
@@ -274,8 +274,8 @@ class ContractContract(models.Model):
             ]
         )
         for invoice in all_received_invoices:
-            if invoice.sudo().ref_invoice_id:
-                if invoice.sudo().ref_invoice_id.id in issued_invoices:
+            if invoice.sudo().auto_invoice_id:
+                if invoice.sudo().auto_invoice_id.id in issued_invoices:
                     received_invoices.append(invoice.id)
         return received_invoices
 
diff --git a/energy_communities_service_invoicing/views/account_move_views.xml b/energy_communities_service_invoicing/views/account_move_views.xml
index 6b2f823090fa0f94f7ea0159ca40d9745c4f920e..c50ce50f3e4336e39d699703dd33ce763aa74ac5 100644
--- a/energy_communities_service_invoicing/views/account_move_views.xml
+++ b/energy_communities_service_invoicing/views/account_move_views.xml
@@ -1,4 +1,19 @@
 <odoo>
+  <record id="account_move_search" model="ir.ui.view">
+    <field name="name">account.move search view (in service invoicing)</field>
+    <field name="model">account.move</field>
+    <field name="inherit_id" ref="account.view_account_invoice_filter" />
+    <field name="arch" type="xml">
+      <filter name="groupy_by_partner" position="after">
+          <filter
+            string="Related community"
+            name="group_by_related_community"
+            domain="[]"
+            context="{'group_by':'related_community_company_id'}"
+          />
+      </filter>
+    </field>
+  </record>
   <record id="account_move_form" model="ir.ui.view">
       <field name="name">account.move.form.inherit</field>
       <field name="model">account.move</field>
@@ -9,8 +24,9 @@
           <field name="is_contract" invisible="True" />
           <field name="invoice_origin" attrs="{'invisible': [('is_contract','=',False)]}" />
           <field name="related_contract_id" attrs="{'invisible': [('is_contract','=',False)]}" />
-          <field name="related_community_company_id" attrs="{'invisible': [('pack_type' ,'=', 'platform_pack')]}" />
+          <field name="related_community_company_id" attrs="{'invisible': [('pack_type' ,'!=', 'platform_pack')]}" />
         </xpath>
       </field>
   </record>
 </odoo>
+
diff --git a/energy_communities_service_invoicing/views/menus.xml b/energy_communities_service_invoicing/views/menus.xml
index 442ea07a9407e56c57ed39e0eb50e6b14cf781bf..644a24b102fafce967ba56f555371cf9dad7e8ff 100644
--- a/energy_communities_service_invoicing/views/menus.xml
+++ b/energy_communities_service_invoicing/views/menus.xml
@@ -32,14 +32,14 @@
     <menuitem
       name="Service invoices issued"
       id="view_service_invoices_issued_menu"
-      action="view_service_invoices_issued_window"
+      action="view_service_invoices_issued_act_window"
       groups="energy_communities.role_platform_admin_res_groups"
       sequence="500"
     />
     <menuitem
       name="Service invoices received"
       id="view_service_invoices_received_menu"
-      action="view_service_invoices_received_window"
+      action="view_service_invoices_received_act_window"
       groups="energy_communities.role_platform_admin_res_groups,energy_communities.role_coord_admin_res_groups,energy_communities.role_coord_worker_res_groups"
       sequence="500"
     />
diff --git a/energy_communities_service_invoicing/views/service_invoicing_views.xml b/energy_communities_service_invoicing/views/service_invoicing_views.xml
index 4629ec8c5d4271cb4a420649e6c0e3cf8045b387..ab73851f9120d719232f171b8ae6a21e7cad1649 100644
--- a/energy_communities_service_invoicing/views/service_invoicing_views.xml
+++ b/energy_communities_service_invoicing/views/service_invoicing_views.xml
@@ -9,6 +9,22 @@
     <field name="domain">[('community_company_id','!=',False)]</field>
     <field name="context">{"search_default_not_finished":1,"search_default_paused":1}</field>
   </record>
+  <record
+    id="action_view_service_invoicing_tree_platform_manager"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">tree</field>
+    <field name="view_id" ref="view_service_invoicing_tree"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
+  </record>
+  <record
+    id="action_view_contract_contract_customer_form_platform_manager"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">form</field>
+    <field name="view_id" ref="view_contract_contract_customer_form_platform_admin"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
+  </record>
 
   <record
       id="view_service_invoicing_window_coord_admin"
@@ -20,6 +36,22 @@
     <field name="domain">[('community_company_id','!=',False)]</field>
     <field name="context">{"search_default_not_finished":1,"search_default_paused":1}</field>
   </record>
+  <record
+    id="action_view_service_invoicing_tree_coord_admin"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">tree</field>
+    <field name="view_id" ref="view_service_invoicing_tree"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
+  </record>
+  <record
+    id="action_view_contract_contract_customer_form_coord_admin"
+    model="ir.actions.act_window.view"
+  >
+    <field name="view_mode">form</field>
+    <field name="view_id" ref="view_contract_contract_customer_form_coord_admin"/>
+    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
+  </record>
 
   <record
       id="view_service_packs_window"
@@ -52,23 +84,25 @@
   </record>
 
   <record
-      id="view_service_invoices_issued_window"
+      id="view_service_invoices_issued_act_window"
       model="ir.actions.act_window"
   >
     <field name="name">Service invoices (issued)</field>
     <field name="res_model">account.move</field>
     <field name="view_mode">tree,form</field>
     <field name="domain" eval="[('move_type', 'in', ['out_invoice', 'out_refund']), ('pack_type', '=', 'platform_pack')]"/>
+    <field name="context">{"default_move_type": "out_invoice","search_default_group_by_related_community":1}</field>
   </record>
 
   <record
-      id="view_service_invoices_received_window"
+      id="view_service_invoices_received_act_window"
       model="ir.actions.act_window"
   >
     <field name="name">Service invoices (received)</field>
     <field name="res_model">account.move</field>
     <field name="view_mode">tree,form</field>
     <field name="domain" eval="[('move_type', 'in', ['in_invoice', 'in_refund']), ('pack_type', '=', 'platform_pack')]"/>
+    <field name="context">{"default_move_type": "in_invoice","search_default_group_by_related_community":1}</field>
   </record>
 
   <record
@@ -81,44 +115,4 @@
     <field name="domain">[('service_invoicing_action','!=','none')]</field>
   </record>
 
-  <record
-    id="action_view_service_invoicing_tree_platform_manager"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">tree</field>
-    <field name="view_id" ref="view_service_invoicing_tree"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
-  </record>
-
-  <record
-    id="action_view_service_invoicing_tree_coord_admin"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">tree</field>
-    <field name="view_id" ref="view_service_invoicing_tree"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
-  </record>
-
-  <record
-    id="action_view_contract_contract_customer_form_platform_manager"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="2"/>
-    <field name="view_mode">form</field>
-    <field name="view_id" ref="view_contract_contract_customer_form_platform_admin"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_platform_manager"/>
-  </record>
-
-  <record
-    id="action_view_contract_contract_customer_form_coord_admin"
-    model="ir.actions.act_window.view"
-  >
-    <field name="sequence" eval="1"/>
-    <field name="view_mode">form</field>
-    <field name="view_id" ref="view_contract_contract_customer_form_coord_admin"/>
-    <field name="act_window_id" ref="view_service_invoicing_window_coord_admin"/>
-  </record>
-
 </odoo>
diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py
index 18db4ee90d77c009207f022cc2f926673dc3d114..e101d4f850972c38b28fd02a078889839f168926 100644
--- a/energy_selfconsumption/models/selfconsumption.py
+++ b/energy_selfconsumption/models/selfconsumption.py
@@ -210,11 +210,11 @@ class Selfconsumption(models.Model):
             "type": "ir.actions.act_window",
             "name": "Contracts",
             "views": [
-                [self.env.ref("energy_selfconsumption.contract_tree_view").id, "tree"],
-                [
+                (self.env.ref("energy_selfconsumption.contract_tree_view").id, "tree"),
+                (
                     self.env.ref("contract.contract_contract_customer_form_view").id,
                     "form",
-                ],
+                ),
             ],
             "res_model": "contract.contract",
             "domain": [("project_id", "=", self.id)],
diff --git a/energy_selfconsumption/views/contract_views.xml b/energy_selfconsumption/views/contract_views.xml
index a49c0c8189cf53dc63072ea80e138bf41b502cb5..b98b19ce1f88884e15f011b176c2926dec083b81 100644
--- a/energy_selfconsumption/views/contract_views.xml
+++ b/energy_selfconsumption/views/contract_views.xml
@@ -24,12 +24,12 @@
             <field name="arch" type="xml">
                 <xpath expr="/search" position="inside">
                     <group expand="1" string="Group By">
-                        <filter
-              string="Next Period Date Start"
-              name="filter_next_period_date_end"
-              domain="[]"
-              context="{'group_by':'next_period_date_end'}"
-            />
+                      <filter
+                        string="Next Period Date Start"
+                        name="filter_next_period_date_end"
+                        domain="[]"
+                        context="{'group_by':'next_period_date_end'}"
+                      />
                     </group>
                 </xpath>
             </field>