diff --git a/management/commands/import_nk15.py b/management/commands/import_nk15.py
index 5990482f20b29c605b13cf811179267826589e74..20c2a139f857df2bc77ca8785d80de7614f0be96 100644
--- a/management/commands/import_nk15.py
+++ b/management/commands/import_nk15.py
@@ -31,5 +31,5 @@ class Command(ImportCommand):
         kwargs["buttons"] = True
         call_command('import_transaction', **kwargs)
 
-        call_command('make_su','-sS', 'Coq', 'erdnaxe', 'PAC', 'Pollion', 'ÿnérant')
+        call_command('make_su','-sS', 'Coq', 'erdnaxe', 'Krokmou', 'PAC', 'Pollion', 'TLinux', 'ÿnérant')
         call_command('syncsql')
diff --git a/management/commands/import_transaction.py b/management/commands/import_transaction.py
index 1ee2ee2bd0948960e391e8d7fd52400c73120632..e03e404822d37def37777b86987bde36df145e43 100644
--- a/management/commands/import_transaction.py
+++ b/management/commands/import_transaction.py
@@ -18,9 +18,9 @@ from note.models import (TemplateCategory,
                          MembershipTransaction,
                          )
 from note.models import Note, NoteClub
-from activity.models import Guest, GuestTransaction
+from activity.models import Guest, GuestTransaction, Entry
 
-from member.models import Membership, MembershipTransaction, Role
+from member.models import Membership
 from ._import_utils import ImportCommand, BulkCreateManager, timed
 
 # from member/fixtures/initial
@@ -143,17 +143,19 @@ class Command(ImportCommand):
         return obj_dict, child_dict, SpecialTransaction
 
     def _guest_transaction(self, row, obj_dict, child_dict):
-        # Currently GuestTransaction is related to a Guest.
-        # This is not ideal and should be change to the Entry of this Guest.
         obj_dict["polymorphic_ctype"] = CT["GuestTransaction"]
         m = re.search(r"Invitation (.*?)(?:\s\()(.*?)\s(.*?)\)", row["description"])
         if m:
+            activity_name = m.group(1)
             first_name, last_name = m.group(2), m.group(3)
             if first_name == "Marion" and last_name == "Bizu Pose":
                 first_name, last_name = "Marion Bizu", "Pose"
-            guest_id = Guest.objects.filter(first_name__iexact=first_name,
-                                            last_name__iexact=last_name).first().pk
-            child_dict["guest_id"] = guest_id
+            entry_id = Entry.objects.filter(
+                    activity__name__iexact=activity_name,
+                    guest__first_name__iexact=first_name,
+                    guest__last_name__iexact=last_name,
+            ).first().pk
+            child_dict["entry_id"] = entry_id
         else:
             raise(f"Guest not Found {row['id']} {first_name}, last_name")
 
@@ -182,9 +184,6 @@ class Command(ImportCommand):
             except (pytz.NonExistentTimeError, pytz.AmbiguousTimeError):
                 date = make_aware(row["transac_date"] + datetime.timedelta(hours=1))
 
-            if len(row["description"]) > 255:
-                row["description"] = row["description"][:252] + "..."
-
             # standart transaction object
             obj_dict = {
                 "pk": pk_transaction,
@@ -200,6 +199,8 @@ class Command(ImportCommand):
                 "source_alias": "",
                 "valid": row["valide"],
             }
+            if len(obj_dict["reason"]) > 255:
+                obj_dict["reason"] = obj_dict["reason"][:252] + "..."
             # for child transaction Models
             child_dict = {"pk": pk_transaction}
             ttype = row["type"]
@@ -264,17 +265,22 @@ class Command(ImportCommand):
                 # create base transaction object and typed one
             bulk_mgr.add(Transaction(**obj_dict))
             if child_transaction is not None:
+                child_dict.update(obj_dict)
                 bulk_mgr.add(child_transaction(**child_dict))
             pk_transaction += 1
         bulk_mgr.done()
 
+    @timed
     def set_roles(self):
         bulk_mgr = BulkCreateManager(chunk_size=10000)
-        membership_ids = Membership.objects.values_list('id',flat=True)
-        for m_id in membership_ids:
+        bde_membership_ids = Membership.objects.filter(club__pk=BDE_PK).values_list('id', flat=True)
+        kfet_membership_ids = Membership.objects.filter(club__pk=KFET_PK).values_list('id', flat=True)
+        n = len(bde_membership_ids)
+        for idx, (m_bde_id, m_kfet_id) in enumerate(zip(bde_membership_ids, kfet_membership_ids)):
+            self.update_line(idx, n, str(idx))
             bulk_mgr.add(
-                Membership.roles.through(membership_id=m_id,role_id=BDE_ROLE_PK),
-                Membership.roles.through(membership_id=m_id,role_id=KFET_ROLE_PK),
+                Membership.roles.through(membership_id=m_bde_id, role_id=BDE_ROLE_PK),
+                Membership.roles.through(membership_id=m_kfet_id, role_id=KFET_ROLE_PK),
             )
             bulk_mgr.done()