diff --git a/gso/workflows/device/create_device.py b/gso/workflows/device/create_device.py
index f3a12ab7d8de4350acaa542098a3b7b884c31e82..18956707d37a8b54cbadcb9ec962f6fe6b85019f 100644
--- a/gso/workflows/device/create_device.py
+++ b/gso/workflows/device/create_device.py
@@ -1,4 +1,5 @@
 import ipaddress
+import re
 from uuid import uuid4
 
 from orchestrator.db.models import ProductTable, SubscriptionTable
@@ -72,6 +73,12 @@ def create_subscription(product: UUIDstr) -> State:
         'subscription_id': subscription.subscription_id,
     }
 
+def iso_from_ipv4(ipv4_address):
+    padded_octets = [f'{x:>03}' for x in ipv4_address.split('.')]
+    joined_octets = ''.join(padded_octets)
+    re_split = '.'.join(re.findall('....', joined_octets))
+    result = '.'.join(['49.51e5.0001', re_split, '00'])
+    return (result)
 
 @step('Get information from IPAM')
 def get_info_from_ipam(subscription: DeviceInactive) -> State:
@@ -83,12 +90,14 @@ def get_info_from_ipam(subscription: DeviceInactive) -> State:
         ipaddress.ip_address('10.10.10.10')
     subscription.device.device_lo_ipv6_address = \
         ipaddress.ip_address('fc00:798:10::10')
+    #subscription.device.device_lo_iso_address \
+    #    = "49.51e5.0001.0620.4009.6047.00"
     subscription.device.device_lo_iso_address \
-        = '49.51e5.0001.0620.4009.6047.00'
-    subscription.device.device_si_ipv4_network = '192.168.0.0/31'
-    subscription.device.device_ias_lt_ipv4_network = '192.168.1.0/31'
-    subscription.device.device_ias_lt_ipv6_network = 'fc00:798:1::150/126'
-    return {'subscription': subscription}
+       = iso_from_ipv4(str(subscription.device.device_lo_ipv4_address)) 
+    subscription.device.device_si_ipv4_network = "192.168.0.0/31"
+    subscription.device.device_ias_lt_ipv4_network = "192.168.1.0/31"
+    subscription.device.device_ias_lt_ipv6_network = "fc00:798:1::150/126"
+    return {"subscription": subscription}
 
 
 @step('Initialize subscription')