diff --git a/phosphor-regulators/schema/config_schema.json b/phosphor-regulators/schema/config_schema.json
index 29a0e4d..2e0a8b7 100644
--- a/phosphor-regulators/schema/config_schema.json
+++ b/phosphor-regulators/schema/config_schema.json
@@ -364,7 +364,7 @@
                 "inventory_path": {"$ref": "#/definitions/inventory_path" },
                 "devices": {"$ref": "#/definitions/devices" }
             },
-            "required": ["number"],
+            "required": ["number", "inventory_path"],
             "additionalProperties": false
         },
 
diff --git a/phosphor-regulators/src/config_file_parser.cpp b/phosphor-regulators/src/config_file_parser.cpp
index 619a8b6..db0cd7a 100644
--- a/phosphor-regulators/src/config_file_parser.cpp
+++ b/phosphor-regulators/src/config_file_parser.cpp
@@ -213,14 +213,11 @@
     }
     ++propertyCount;
 
-    // Optional inventory_path property.  Will be required in future.
-    std::string inventoryPath{"/xyz/openbmc_project/inventory/system/chassis"};
-    auto inventoryPathIt = element.find("inventory_path");
-    if (inventoryPathIt != element.end())
-    {
-        inventoryPath = parseInventoryPath(*inventoryPathIt);
-        ++propertyCount;
-    }
+    // Required inventory_path property
+    const json& inventoryPathElement =
+        getRequiredProperty(element, "inventory_path");
+    std::string inventoryPath = parseInventoryPath(inventoryPathElement);
+    ++propertyCount;
 
     // Optional devices property
     std::vector<std::unique_ptr<Device>> devices{};
diff --git a/phosphor-regulators/test/config_file_parser_tests.cpp b/phosphor-regulators/test/config_file_parser_tests.cpp
index c17703a..38bee22 100644
--- a/phosphor-regulators/test/config_file_parser_tests.cpp
+++ b/phosphor-regulators/test/config_file_parser_tests.cpp
@@ -105,9 +105,9 @@
                 }
               ],
               "chassis": [
-                { "number": 1 },
-                { "number": 2 },
-                { "number": 3 }
+                { "number": 1, "inventory_path": "system/chassis1" },
+                { "number": 2, "inventory_path": "system/chassis2" },
+                { "number": 3, "inventory_path": "system/chassis3" }
               ]
             }
         )"_json;
@@ -126,8 +126,14 @@
 
         EXPECT_EQ(chassis.size(), 3);
         EXPECT_EQ(chassis[0]->getNumber(), 1);
+        EXPECT_EQ(chassis[0]->getInventoryPath(),
+                  "/xyz/openbmc_project/inventory/system/chassis1");
         EXPECT_EQ(chassis[1]->getNumber(), 2);
+        EXPECT_EQ(chassis[1]->getInventoryPath(),
+                  "/xyz/openbmc_project/inventory/system/chassis2");
         EXPECT_EQ(chassis[2]->getNumber(), 3);
+        EXPECT_EQ(chassis[2]->getInventoryPath(),
+                  "/xyz/openbmc_project/inventory/system/chassis3");
     }
 
     // Test where fails: File does not exist
@@ -147,7 +153,9 @@
     {
         const json configFileContents = R"(
             {
-              "chassis": [ { "number": 1 } ]
+              "chassis": [
+                { "number": 1, "inventory_path": "system/chassis1" }
+              ]
             }
         )"_json;
 
@@ -786,13 +794,14 @@
     {
         const json element = R"(
             {
-              "number": 1
+              "number": 1,
+              "inventory_path": "system/chassis1"
             }
         )"_json;
         std::unique_ptr<Chassis> chassis = parseChassis(element);
         EXPECT_EQ(chassis->getNumber(), 1);
         EXPECT_EQ(chassis->getInventoryPath(),
-                  "/xyz/openbmc_project/inventory/system/chassis");
+                  "/xyz/openbmc_project/inventory/system/chassis1");
         EXPECT_EQ(chassis->getDevices().size(), 0);
     }
 
@@ -830,7 +839,8 @@
     {
         const json element = R"(
             {
-              "number": 0.5
+              "number": 0.5,
+              "inventory_path": "system/chassis"
             }
         )"_json;
         parseChassis(element);
@@ -881,6 +891,7 @@
         const json element = R"(
             {
               "number": 1,
+              "inventory_path": "system/chassis",
               "foo": 2
             }
         )"_json;
@@ -897,18 +908,7 @@
     {
         const json element = R"(
             {
-              "devices": [
-                {
-                  "id": "vdd_regulator",
-                  "is_regulator": true,
-                  "fru": "system/chassis/motherboard/regulator2",
-                  "i2c_interface":
-                  {
-                      "bus": 1,
-                      "address": "0x70"
-                  }
-                }
-              ]
+              "inventory_path": "system/chassis"
             }
         )"_json;
         parseChassis(element);
@@ -919,6 +919,22 @@
         EXPECT_STREQ(e.what(), "Required property missing: number");
     }
 
+    // Test where fails: Required inventory_path property not specified
+    try
+    {
+        const json element = R"(
+            {
+              "number": 1
+            }
+        )"_json;
+        parseChassis(element);
+        ADD_FAILURE() << "Should not have reached this line.";
+    }
+    catch (const std::invalid_argument& e)
+    {
+        EXPECT_STREQ(e.what(), "Required property missing: inventory_path");
+    }
+
     // Test where fails: Element is not an object
     try
     {
@@ -936,7 +952,8 @@
     {
         const json element = R"(
             {
-              "number": 0
+              "number": 0,
+              "inventory_path": "system/chassis"
             }
         )"_json;
         parseChassis(element);
@@ -953,6 +970,7 @@
         const json element = R"(
             {
               "number": 1,
+              "inventory_path": "system/chassis",
               "devices": 2
             }
         )"_json;
@@ -971,15 +989,19 @@
     {
         const json element = R"(
             [
-              { "number": 1 },
-              { "number": 2 }
+              { "number": 1, "inventory_path": "system/chassis1" },
+              { "number": 2, "inventory_path": "system/chassis2" }
             ]
         )"_json;
         std::vector<std::unique_ptr<Chassis>> chassis =
             parseChassisArray(element);
         EXPECT_EQ(chassis.size(), 2);
         EXPECT_EQ(chassis[0]->getNumber(), 1);
+        EXPECT_EQ(chassis[0]->getInventoryPath(),
+                  "/xyz/openbmc_project/inventory/system/chassis1");
         EXPECT_EQ(chassis[1]->getNumber(), 2);
+        EXPECT_EQ(chassis[1]->getInventoryPath(),
+                  "/xyz/openbmc_project/inventory/system/chassis2");
     }
 
     // Test where fails: Element is not an array
@@ -4404,7 +4426,7 @@
         const json element = R"(
             {
               "chassis": [
-                { "number": 1 }
+                { "number": 1, "inventory_path": "system/chassis" }
               ]
             }
         )"_json;
@@ -4429,8 +4451,8 @@
                 }
               ],
               "chassis": [
-                { "number": 1 },
-                { "number": 3 }
+                { "number": 1, "inventory_path": "system/chassis1" },
+                { "number": 3, "inventory_path": "system/chassis3" }
               ]
             }
         )"_json;
@@ -4483,7 +4505,7 @@
             {
               "remarks": [ "Config file for a FooBar one-chassis system" ],
               "chassis": [
-                { "number": 1 }
+                { "number": 1, "inventory_path": "system/chassis" }
               ]
             }
         )"_json;
diff --git a/phosphor-regulators/test/validate-regulators-config_tests.cpp b/phosphor-regulators/test/validate-regulators-config_tests.cpp
index 18eef6f..f6033d5 100644
--- a/phosphor-regulators/test/validate-regulators-config_tests.cpp
+++ b/phosphor-regulators/test/validate-regulators-config_tests.cpp
@@ -565,7 +565,6 @@
     {
         json configFile = validConfigFile;
         configFile["chassis"][0].erase("comments");
-        configFile["chassis"][0].erase("inventory_path");
         configFile["chassis"][0].erase("devices");
         EXPECT_JSON_VALID(configFile);
     }
@@ -576,6 +575,13 @@
         EXPECT_JSON_INVALID(configFile, "Validation failed.",
                             "'number' is a required property");
     }
+    // Invalid: test chassis with no inventory_path.
+    {
+        json configFile = validConfigFile;
+        configFile["chassis"][0].erase("inventory_path");
+        EXPECT_JSON_INVALID(configFile, "Validation failed.",
+                            "'inventory_path' is a required property");
+    }
     // Invalid: test chassis with property comments wrong type.
     {
         json configFile = validConfigFile;
@@ -809,6 +815,7 @@
     {
         json configFile;
         configFile["chassis"][0]["number"] = 1;
+        configFile["chassis"][0]["inventory_path"] = "system/chassis";
         EXPECT_JSON_VALID(configFile);
     }
     // Valid: All properties specified
@@ -3084,6 +3091,7 @@
     {
         json configFile = validConfigFile;
         configFile["chassis"][1]["number"] = 1;
+        configFile["chassis"][1]["inventory_path"] = "system/chassis2";
         EXPECT_JSON_INVALID(configFile, "Error: Duplicate chassis number.", "");
     }
 }
