From 4b2b0ea0f35537e2af8c5af1a267be3772b10538 Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 2 Mar 2026 12:59:17 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20PDF=20iframe=20st=C3=B8rrelse=20+=20AI?= =?UTF-8?q?=20skelner=20leverand=C3=B8r=20fra=20BMC-modtager=20v2.2.31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/billing/backend/supplier_invoices.py | 15 +++++++++++---- app/billing/frontend/supplier_invoices.html | 6 +++--- app/services/ollama_service.py | 12 +++++++++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/billing/backend/supplier_invoices.py b/app/billing/backend/supplier_invoices.py index a126df6..d8157b5 100644 --- a/app/billing/backend/supplier_invoices.py +++ b/app/billing/backend/supplier_invoices.py @@ -2361,13 +2361,20 @@ async def reprocess_uploaded_file(file_id: int): extracted_fields = llm_result confidence = llm_result.get('confidence', 0.75) - # Post-process: clear own CVR if AI mistakenly returned it + # Post-process: clear own CVR(s) if AI mistakenly returned them extracted_cvr = llm_result.get('vendor_cvr') - own_cvr = getattr(settings, 'OWN_CVR', '') - if extracted_cvr and own_cvr and str(extracted_cvr).replace('DK', '').strip() == str(own_cvr).strip(): - logger.warning(f"⚠️ AI returned own CVR ({own_cvr}) as vendor_cvr - clearing it") + own_cvr = getattr(settings, 'OWN_CVR', '29522790') + OWN_CVRS = {str(own_cvr).strip(), '29522790', '14416285'} # alle BMC CVR numre + extracted_cvr_clean = str(extracted_cvr).replace('DK', '').strip() if extracted_cvr else '' + if extracted_cvr_clean and extracted_cvr_clean in OWN_CVRS: + logger.warning(f"⚠️ AI returned own CVR ({extracted_cvr_clean}) as vendor_cvr - clearing it") llm_result['vendor_cvr'] = None extracted_cvr = None + # Also clear vendor_name if it looks like BMC + vendor_name = llm_result.get('vendor_name', '') or '' + if 'BMC' in vendor_name.upper() and 'DENMARK' in vendor_name.upper(): + logger.warning(f"⚠️ AI returned own company name '{vendor_name}' as vendor_name - clearing it") + llm_result['vendor_name'] = None # Try to find vendor in DB by extracted CVR or name (overrides detected_vendor_id) if extracted_cvr: diff --git a/app/billing/frontend/supplier_invoices.html b/app/billing/frontend/supplier_invoices.html index b05d892..7232335 100644 --- a/app/billing/frontend/supplier_invoices.html +++ b/app/billing/frontend/supplier_invoices.html @@ -884,11 +884,11 @@