diff --git a/inventory_provider/nokia.py b/inventory_provider/nokia.py
index 6cb7a3bced74bd788479dc1f316dd5c5d3415e91..43a078de6747f2f0f07d423c4d865435bc62dedb 100644
--- a/inventory_provider/nokia.py
+++ b/inventory_provider/nokia.py
@@ -255,6 +255,19 @@ def get_epipes_state(state_doc):
         }
 
 
+def get_epipe_sap_details(netconf_config):
+    for epipe in netconf_config.xpath('configure/service/epipe'):
+        service_id = epipe.find('service-id').text
+        vpn_id = epipe.find('vpn-id').text
+        sap = epipe.find('sap')
+        if sap is not None:
+            yield {
+                'service-id': service_id,
+                'vpn-id': vpn_id,
+                'sap-id': sap.find('sap-id').text,
+            }
+
+
 @lru_cache
 def get_pxc_ports(netconf_config):
     # these ports will be ignored for the purposes of the update
diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index f4f364289b6803e1dcabb6dd1f7adf0855015741..90a1cb864f468604cc1d1c1b7d33995805e4f986 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -618,12 +618,32 @@ def _reload_router_config_nokia(
         return
     r = get_next_redis(InventoryTask.config)
     refresh_nokia_interface_list(hostname, netconf_doc, r, lab)
+    refresh_epipe_to_sap_mappings(hostname, netconf_doc, r)
     communities = _nokia_community_strings(InventoryTask.config)
     snmp_refresh_interfaces_nokia(hostname, state_doc, communities, r, info_callback)
     refresh_nokia_bgp_peers(hostname, netconf_doc)
     snmp_refresh_peerings_nokia(hostname, communities)
 
 
+def refresh_epipe_to_sap_mappings(hostname, netconf, redis):
+    epipe_to_saps_key_base = f'ims:epipe-sapid_mappings:{hostname}'
+
+    # clear cached epipe to sap mappings
+    logger.debug(f'removing cached epipe to sap mappings for {hostname}')
+    rp = redis.pipeline()
+    for k in redis.scan_iter(f'{epipe_to_saps_key_base}:*', count=1000):
+        rp.delete(k)
+    rp.execute()
+    epipe_saps = nokia.get_epipe_sap_details(netconf)
+    rp = redis.pipeline()
+    for details in epipe_saps:
+        key = f'{details["service-id"]}:{details["vpn-id"]}'
+        rp.set(
+            f'{epipe_to_saps_key_base}:{key}',
+            details['sap-id'])
+    rp.execute()
+
+
 def snmp_refresh_peerings_nokia(hostname, communities, update_callback=lambda S: None):
     get_peerings_func = functools.partial(
         snmp.get_peer_state_info_nokia,