feat(anaf): add CUI checksum validation + sanitize at import time
Romanian CUI check digit algorithm (key 753217532) validates CUIs before ANAF lookup. New sanitize_cui() fixes OCR typos (O→0, I→1) and verifies checksum, logging warnings for invalid CUIs. Applied at both ANAF batch verification and per-order import steps. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -659,7 +659,7 @@ async def run_sync(id_pol: int = None, id_sectie: int = None, run_id: str = None
|
||||
is_ro = (order.billing.country or "").strip().lower() == "romania"
|
||||
if order.billing.is_company and order.billing.company_code and is_ro:
|
||||
raw_cf = import_service.clean_web_text(order.billing.company_code) or ""
|
||||
bare = anaf_service.strip_ro_prefix(raw_cf)
|
||||
bare, _ = anaf_service.sanitize_cui(raw_cf)
|
||||
if anaf_service.validate_cui(bare):
|
||||
company_cuis.add(bare)
|
||||
|
||||
@@ -702,7 +702,9 @@ async def run_sync(id_pol: int = None, id_sectie: int = None, run_id: str = None
|
||||
raw_cf = ""
|
||||
if order.billing.is_company and order.billing.company_code:
|
||||
raw_cf = import_service.clean_web_text(order.billing.company_code) or ""
|
||||
bare_cui = anaf_service.strip_ro_prefix(raw_cf)
|
||||
bare_cui, cui_warning = anaf_service.sanitize_cui(raw_cf)
|
||||
if cui_warning:
|
||||
_log_line(run_id, f"#{order.number} WARN: {cui_warning}")
|
||||
anaf_data_for_order = cached_results.get(bare_cui)
|
||||
if anaf_data_for_order and anaf_data_for_order.get("scpTVA") is not None:
|
||||
correct_cf = anaf_service.determine_correct_cod_fiscal(bare_cui, anaf_data_for_order["scpTVA"])
|
||||
|
||||
Reference in New Issue
Block a user