""" KINETERRA store profile for OCR extraction. Kineterra is a non-VAT payer (neplătitor de TVA). Receipts don't include TVA breakdown. """ from typing import List, Dict, Any from .base import BaseStoreProfile from . import ProfileRegistry @ProfileRegistry.register class KineterraProfile(BaseStoreProfile): """ KINETERRA CONCEPT SRL - non-VAT payer profile. Key characteristics: - Non-VAT payer (neplătitor de TVA) - No TVA breakdown on receipts - Total amount has no TVA component """ CUI_LIST = ["31180432"] NAME_PATTERNS = ["KINETERRA", "KINETERRA CONCEPT", "K1NETERRA"] # OCR variants STORE_NAME = "KINETERRA CONCEPT SRL" def extract_tva_entries(self, text: str) -> List[dict]: """ Extract TVA entries - returns empty for non-VAT payer. Kineterra is a non-VAT payer, so no TVA entries are expected. Args: text: Raw OCR text from receipt (unused) Returns: Empty list (non-VAT payer has no TVA) """ # Non-VAT payer - no TVA entries return [] def get_validation_hints(self) -> Dict[str, Any]: """Return Kineterra-specific validation hints.""" return { "has_multi_rate_tva": False, "card_equals_total": False, "has_client_cui": False, "has_efactura": False, "is_non_vat_payer": True, "tva_pattern": "none", }