diff --git a/api/app/services/anaf_service.py b/api/app/services/anaf_service.py index 993bc08..5bc24c3 100644 --- a/api/app/services/anaf_service.py +++ b/api/app/services/anaf_service.py @@ -11,11 +11,14 @@ _DIACRITICS = str.maketrans('ĂăÂâÎîȘșȚțŞşŢţ', 'AAAAIISSTTSSTT') def strip_ro_prefix(cod_fiscal: str) -> str: - """Normalize CUI: strip whitespace, uppercase, remove 'RO' prefix.""" + """Normalize CUI: strip whitespace, uppercase, remove 'RO' prefix, fix OCR-like typos.""" if not cod_fiscal: return "" cleaned = cod_fiscal.strip().upper() - return re.sub(r'^RO\s*', '', cleaned) + cleaned = re.sub(r'^RO\s*', '', cleaned) + # Fix common character confusions in CUI (O→0, I→1, L→1, B→8) + cleaned = cleaned.translate(str.maketrans('OIL', '011')) + return cleaned def validate_cui(bare_cui: str) -> bool: