diff --git a/src/app/entity/models/EntityModelAbstract.php b/src/app/entity/models/EntityModelAbstract.php
index 6205cd7ab1d14d7794425050d9a04aa6091b43b8..80051b3a6e3e880bd0c034848871c9acce8822fd 100755
--- a/src/app/entity/models/EntityModelAbstract.php
+++ b/src/app/entity/models/EntityModelAbstract.php
@@ -31,6 +31,7 @@ abstract class EntityModelAbstract
             'table'     => empty($aArgs['table']) ? ['entities'] : $aArgs['table'],
             'where'     => empty($aArgs['where']) ? [] : $aArgs['where'],
             'data'      => empty($aArgs['data']) ? [] : $aArgs['data'],
+            'left_join' => empty($aArgs['left_join']) ? [] : $aArgs['left_join'],
             'order_by'  => empty($aArgs['orderBy']) ? [] : $aArgs['orderBy'],
             'limit'     => empty($aArgs['limit']) ? 0 : $aArgs['limit']
         ]);
diff --git a/src/app/shipping/controllers/ShippingController.php b/src/app/shipping/controllers/ShippingController.php
index 310e0d668542fe816c37484a3197617a14819a3e..18d491da1e14e444c4593db9d564783d079898f0 100755
--- a/src/app/shipping/controllers/ShippingController.php
+++ b/src/app/shipping/controllers/ShippingController.php
@@ -54,10 +54,11 @@ class ShippingController
         $shippingInfo['entities'] = (array)json_decode($shippingInfo['entities']);
 
         $allEntities = EntityModel::get([
-            'select' => ['e1.id', 'e1.entity_id', 'e1.entity_label', 'e2.id as parent_id'],
-            'table' => ['entities e1, entities e2'],
-            'where' => ['e1.enabled = ?', 'e1.parent_entity_id = e2.entity_id'],
-            'data' => ['Y']
+            'select'    => ['e1.id', 'e1.entity_id', 'e1.entity_label', 'e2.id as parent_id'],
+            'table'     => ['entities e1', 'entities e2'],
+            'left_join' => ['e1.parent_entity_id = e2.entity_id'],
+            'where'     => ['e1.enabled = ?'],
+            'data'      => ['Y']
         ]);
 
         foreach ($allEntities as $key => $value) {
@@ -79,9 +80,7 @@ class ShippingController
             $allEntities[$key]['text'] = $value['entity_label'];
         }
 
-        $shippingInfo['entities'] = $allEntities;
-
-        return $response->withJson($shippingInfo);
+        return $response->withJson(['shipping' => $shippingInfo, 'entities' => $allEntities]);
     }
 
     public function create(Request $request, Response $response)
@@ -234,10 +233,11 @@ class ShippingController
         }
 
         $allEntities = EntityModel::get([
-            'select' => ['e1.id', 'e1.entity_id', 'e1.entity_label', 'e2.id as parent_id'],
-            'table' => ['entities e1, entities e2'],
-            'where' => ['e1.enabled = ?', 'e1.parent_entity_id = e2.entity_id'],
-            'data' => ['Y']
+            'select'    => ['e1.id', 'e1.entity_id', 'e1.entity_label', 'e2.id as parent_id'],
+            'table'     => ['entities e1', 'entities e2'],
+            'left_join' => ['e1.parent_entity_id = e2.entity_id'],
+            'where'     => ['e1.enabled = ?'],
+            'data'      => ['Y']
         ]);
 
         print_r($allEntities);
@@ -250,7 +250,7 @@ class ShippingController
                 $allEntities[$key]['parent'] = (string)$value['parent_id'];
                 $allEntities[$key]['icon']   = "fa fa-sitemap";
             }
-            $allEntities[$key]['state']['opened']   = false;
+
             $allEntities[$key]['allowed']           = true;
             $allEntities[$key]['state']['opened']   = true;
 
diff --git a/test/unitTests/app/shipping/ShippingControllerTest.php b/test/unitTests/app/shipping/ShippingControllerTest.php
index 567e78268583ff54cab53a326915879d13270a9b..d04d41b04f0674860d7b64981e9933d4c38edc31 100755
--- a/test/unitTests/app/shipping/ShippingControllerTest.php
+++ b/test/unitTests/app/shipping/ShippingControllerTest.php
@@ -69,16 +69,17 @@ class ShippingControllerTest extends TestCase
         $responseBody = json_decode((string)$response->getBody());
 
         $this->assertNotEmpty($responseBody);
-        $this->assertSame('TEST', $responseBody->label);
-        $this->assertSame('description du TEST', $responseBody->description);
-        $this->assertSame('color', $responseBody->options->shaping[0]);
-        $this->assertSame('both_sides', $responseBody->options->shaping[1]);
-        $this->assertSame('address_page', $responseBody->options->shaping[2]);
-        $this->assertSame('small_simple', $responseBody->options->envelopMode);
-        $this->assertSame('fast', $responseBody->options->sendMode);
-        $this->assertSame(1, $responseBody->fee->first_page);
-        $this->assertSame(2, $responseBody->fee->next_page);
-        $this->assertSame(12, $responseBody->fee->postage_price);
+        $this->assertSame('TEST', $responseBody->shipping->label);
+        $this->assertSame('description du TEST', $responseBody->shipping->description);
+        $this->assertSame('color', $responseBody->shipping->options->shaping[0]);
+        $this->assertSame('both_sides', $responseBody->shipping->options->shaping[1]);
+        $this->assertSame('address_page', $responseBody->shipping->options->shaping[2]);
+        $this->assertSame('small_simple', $responseBody->shipping->options->envelopMode);
+        $this->assertSame('fast', $responseBody->shipping->options->sendMode);
+        $this->assertSame(1, $responseBody->shipping->fee->first_page);
+        $this->assertSame(2, $responseBody->shipping->fee->next_page);
+        $this->assertSame(12, $responseBody->shipping->fee->postage_price);
+        $this->assertNotNull($responseBody->shipping->entities);
         $this->assertNotNull($responseBody->entities);
 
         ######## ERROR #############
@@ -137,15 +138,15 @@ class ShippingControllerTest extends TestCase
         $responseBody = json_decode((string)$response->getBody());
 
         $this->assertNotEmpty($responseBody);
-        $this->assertSame('TEST 2', $responseBody->label);
-        $this->assertSame('description du test 2', $responseBody->description);
-        $this->assertSame('color', $responseBody->options->shaping[0]);
-        $this->assertSame('address_page', $responseBody->options->shaping[1]);
-        $this->assertSame('big_simple', $responseBody->options->envelopMode);
-        $this->assertSame('fast', $responseBody->options->sendMode);
-        $this->assertSame(10, $responseBody->fee->first_page);
-        $this->assertSame(20, $responseBody->fee->next_page);
-        $this->assertSame(12, $responseBody->fee->postage_price);
+        $this->assertSame('TEST 2', $responseBody->shipping->label);
+        $this->assertSame('description du test 2', $responseBody->shipping->description);
+        $this->assertSame('color', $responseBody->shipping->options->shaping[0]);
+        $this->assertSame('address_page', $responseBody->shipping->options->shaping[1]);
+        $this->assertSame('big_simple', $responseBody->shipping->options->envelopMode);
+        $this->assertSame('fast', $responseBody->shipping->options->sendMode);
+        $this->assertSame(10, $responseBody->shipping->fee->first_page);
+        $this->assertSame(20, $responseBody->shipping->fee->next_page);
+        $this->assertSame(12, $responseBody->shipping->fee->postage_price);
         $this->assertNotNull($responseBody->entities);
     }