diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
index 7f23070..f7e55d0 100644
--- a/vpd-manager/include/constants.hpp
+++ b/vpd-manager/include/constants.hpp
@@ -197,5 +197,18 @@
 static constexpr auto systemdObjectPath = "/org/freedesktop/systemd1";
 static constexpr auto systemdManagerInterface =
     "org.freedesktop.systemd1.Manager";
+
+static constexpr auto vpdCollectionInterface = "com.ibm.VPD.Collection";
+
+// enumerated values of CollectionStatus D-bus property defined under
+// com.ibm.VPD.Collection interface.
+static constexpr auto vpdCollectionSuccess =
+    "com.ibm.VPD.Collection.Status.Success";
+static constexpr auto vpdCollectionFailure =
+    "com.ibm.VPD.Collection.Status.Failure";
+static constexpr auto vpdCollectionInProgress =
+    "com.ibm.VPD.Collection.Status.InProgress";
+static constexpr auto vpdCollectionNotStarted =
+    "com.ibm.VPD.Collection.Status.NotStarted";
 } // namespace constants
 } // namespace vpd
diff --git a/vpd-manager/include/utility/dbus_utility.hpp b/vpd-manager/include/utility/dbus_utility.hpp
index 27014df..0cb8151 100644
--- a/vpd-manager/include/utility/dbus_utility.hpp
+++ b/vpd-manager/include/utility/dbus_utility.hpp
@@ -563,5 +563,34 @@
     return l_rc;
 }
 
+/**
+ * @brief API to notify FRU VPD Collection status.
+ *
+ * This API uses PIM's Notify method to update the given FRU VPD collection
+ * status on D-bus.
+ *
+ * @param[in] i_inventoryPath - D-bus inventory path
+ * @param[in] i_fruCollectionStatus - FRU VPD collection status.
+ *
+ * @return true if update succeeds, false otherwise.
+ */
+inline bool notifyFRUCollectionStatus(const std::string& i_inventoryPath,
+                                      const std::string& i_fruCollectionStatus)
+{
+    types::ObjectMap l_objectMap;
+    types::InterfaceMap l_interfaceMap;
+    types::PropertyMap l_propertyMap;
+
+    l_propertyMap.emplace("CollectionStatus", i_fruCollectionStatus);
+    l_interfaceMap.emplace(constants::vpdCollectionInterface, l_propertyMap);
+    l_objectMap.emplace(i_inventoryPath, l_interfaceMap);
+
+    if (!dbusUtility::callPIM(std::move(l_objectMap)))
+    {
+        return false;
+    }
+
+    return true;
+}
 } // namespace dbusUtility
 } // namespace vpd
