Spaces:
Runtime error
Runtime error
File size: 930 Bytes
61411b5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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.",
}
|