diff --git a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/default_constants.yml b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/default_constants.yml
index 033a05e7da8a5112ec7e52d2fa80c31bbb8aef78..046cca51e7f31a9e423ec9131e627cdecdb6f7e0 100644
--- a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/default_constants.yml
+++ b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/default_constants.yml
@@ -65,6 +65,7 @@ entity_names:
   start_date_prop: start_date
   end_date_prop: end_date
   igsn_doi_prop: igsn_doi
+  parent_sample_prop: Parent_Sample
 
 error_prefix: "Something went wrong:"
 error_suffix: "Please contact your administrator(s)."
diff --git a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
index b4e13307d17c1451188b37f62c9e885e858c9845..d32c3dea86abe2b5258c0df6ea9b79f44445f756 100644
--- a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
+++ b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
@@ -34,6 +34,7 @@ def add_special_properties(sample: db.Record, data: pd.Series) -> db.Record:
 
     main_user_prop = db.get_entity_by_name(get_entity_name("Main User"))
     container_rt = db.get_entity_name(get_entity_name("container_rt"))
+    parent_sample_prop = db.get_entity_name(get_entity_name("parent_sample_prop"))
 
     if (get_column_header_name("Main User") in data and
             return_value_if_not_none(data[get_column_header_name("Main User")]) is not None):
@@ -46,8 +47,14 @@ def add_special_properties(sample: db.Record, data: pd.Series) -> db.Record:
             data[get_column_header_name("Storage ID")]))
         sample = update_property(sample, container_rt.id, container)
 
+    if (get_column_header_name("Parent LinkAhead ID") in data and
+            return_value_if_not_none(data[get_column_header_name("Parent LinkAhead ID")]) is not None):
+        parent = return_value_if_not_none(
+            data[get_column_header_name("Parent LinkAhead ID")])
+        sample = update_property(sample, parent_sample_prop.id, parent)
+
     for name in ["Curator", "Collector"]:
-        prop = db.get_entity_by_name(name)
+        prop = db.get_entity_by_name(get_entity_name(name))
         if (get_column_header_name(name) in data and
                 return_value_if_not_none(data[get_column_header_name(name)]) is not None):
             persons = [get_person(id_str) for id_str in return_value_if_not_none(