diff --git a/app/Actions/InsertMemberAction.php b/app/Actions/InsertMemberAction.php
index d2ea1ecc..5d2697b3 100644
--- a/app/Actions/InsertMemberAction.php
+++ b/app/Actions/InsertMemberAction.php
@@ -61,7 +61,7 @@ class InsertMemberAction
         }
 
         return tap(Member::updateOrCreate(['nami_id' => $member->id], $payload), function ($insertedMember) use ($member) {
-            $insertedMember->bankAccount()->updateOrCreate([
+            $insertedMember->bankAccount->update([
                 'iban' => $member->bankAccount->iban,
                 'bic' => $member->bankAccount->bic,
                 'blz' => $member->bankAccount->blz,
diff --git a/app/Member/BankAccount.php b/app/Member/BankAccount.php
index 7e700992..fbc42e65 100644
--- a/app/Member/BankAccount.php
+++ b/app/Member/BankAccount.php
@@ -12,4 +12,6 @@ class BankAccount extends Model
     use HasFactory;
 
     public $guarded = [];
+
+    public $primaryKey = 'member_id';
 }
diff --git a/app/Member/Member.php b/app/Member/Member.php
index 0fa866df..78f993fe 100644
--- a/app/Member/Member.php
+++ b/app/Member/Member.php
@@ -304,12 +304,17 @@ class Member extends Model implements Geolocatable
 
     public static function booted()
     {
+        static::created(function (self $model): void {
+            $model->bankAccount()->create([]);
+        });
+
         static::deleting(function (self $model): void {
             $model->memberships->each->delete();
             $model->courses->each->delete();
             $model->invoicePositions->each(function ($position) {
                 $position->delete();
             });
+            $model->bankAccount()->delete();
         });
     }