from __future__ import annotations import logging from typing import Any, Dict logger = logging.getLogger(__name__) def simulate_erp_update(extracted_data: Dict[str, Any]) -> Dict[str, Any]: """ Simulate an ERP update. In production, replace with a real ERP connector (SAP/Oracle/Dynamics) and robust idempotency keys. """ invoice = (extracted_data or {}).get("invoice", {}) if isinstance(extracted_data, dict) else {} vendor = (extracted_data or {}).get("vendor", {}) if isinstance(extracted_data, dict) else {} invoice_number = invoice.get("invoice_number") vendor_name = vendor.get("name") logger.info("Simulating ERP update for invoice=%s vendor=%s", invoice_number, vendor_name) return { "status": "updated", "erp_reference_id": f"ERP-SIM-{invoice_number or 'UNKNOWN'}", "message": "ERP update simulated successfully.", }