diff --git a/app/logic/vision_analysis.py b/app/logic/vision_analysis.py index 9e511b0..b892875 100644 --- a/app/logic/vision_analysis.py +++ b/app/logic/vision_analysis.py @@ -649,7 +649,14 @@ def build_vision_candidate_fields(classification: dict[str, Any]) -> list[dict[s lower = text.lower() - if "cvs" in lower or "pharmacy" in lower: + if any(token in lower for token in ["extracare", "member", "coupon", "survey", "rewards"]): + fields.append({ + **base, + "candidate_type": "receipt_message", + "value": text, + "confidence": 0.45 if (conf or 0) >= 60 else 0.25, + }) + elif "cvs" in lower or "pharmacy" in lower: fields.append({ **base, "candidate_type": "merchant_or_header", @@ -721,7 +728,7 @@ def build_vision_field_suggestions( for field in candidate_fields or []: candidate_type = field.get("candidate_type") - if candidate_type == "symbol_or_noise": + if candidate_type in {"symbol_or_noise", "receipt_message"}: continue confidence = float(field.get("confidence") or 0)