From 62fc3cb4ddb18c6b8a85c7e802a36a3b6af7e1c0 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 22 Dec 2025 13:18:36 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20Check=20for=20existing=20customer=20by?= =?UTF-8?q?=20CVR=20ogs=C3=A5=20(undg=C3=A5=20duplicate=20key=20error)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/system/backend/sync_router.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/system/backend/sync_router.py b/app/system/backend/sync_router.py index efeefbe..ff0fe62 100644 --- a/app/system/backend/sync_router.py +++ b/app/system/backend/sync_router.py @@ -345,12 +345,19 @@ async def sync_from_economic() -> Dict[str, Any]: # Extract email domain email_domain = email.split('@')[-1] if '@' in email else None - # Check if customer exists by economic_customer_number + # Check if customer exists by economic_customer_number OR CVR existing = execute_query( "SELECT id FROM customers WHERE economic_customer_number = %s", (customer_number,) ) + # If not found by customer number, try CVR (to avoid duplicates) + if not existing and cvr: + existing = execute_query( + "SELECT id FROM customers WHERE cvr_number = %s", + (cvr,) + ) + if existing: # Update existing customer update_query = """