diff --git a/app/system/backend/sync_router.py b/app/system/backend/sync_router.py index 59f13b8..ddccdfc 100644 --- a/app/system/backend/sync_router.py +++ b/app/system/backend/sync_router.py @@ -110,6 +110,19 @@ async def sync_from_vtiger() -> Dict[str, Any]: if existing: # Link vTiger ID to existing customer current_vtiger_id = existing[0].get('vtiger_id') + + # Check if this vtiger_id is already assigned to another customer + vtiger_owner = execute_query( + "SELECT id, name FROM customers WHERE vtiger_id = %s", + (vtiger_id,) + ) + + if vtiger_owner and vtiger_owner[0]['id'] != existing[0]['id']: + # vTiger ID already belongs to another customer - skip + logger.warning(f"⚠️ vTiger #{vtiger_id} allerede tilknyttet '{vtiger_owner[0]['name']}' - springer over '{existing[0]['name']}'") + not_found_count += 1 + continue + if current_vtiger_id is None: execute_query( "UPDATE customers SET vtiger_id = %s, last_synced_at = NOW() WHERE id = %s",