Ir al contenido

Import inteligente de Excel

El principio: nos adaptamos al archivo del usuario, no al revés. No hay plantilla. El módulo es core/aiuda_core/connectors/smart_import.py.

  1. Lecturaread_table() acepta XLSX (openpyxl) o CSV (con tolerancia a BOM) y devuelve headers + filas.
  2. Mapeo con Haikuinfer_mapping() manda al modelo los nombres de columna y 3 filas de muestra, y pide un JSON que mapee cada campo destino (folio, cliente, teléfono, monto, fechas) al nombre EXACTO de columna del archivo, o null. El resultado se valida contra los headers reales: si el modelo alucina una columna, se descarta.
  3. Importimport_rows() es idempotente por (tenant, folio), parsea fechas en los formatos comunes mexicanos (dd/mm/aaaa, ISO, etc.), limpia montos con $ y comas, y normaliza teléfonos de 10 dígitos al formato WhatsApp (521…).
  • Haiku, no Sonnet: mapear columnas es triage, cuesta centésimas de centavo.
  • Campos requeridos: folio, cliente, monto y vencimiento. Si el modelo no los encuentra, el reporte lo dice con claridad en lugar de importar basura.
  • El usuario ve el mapeo: la consola muestra “folio ← «No. Factura»” para que el dueño confirme que se entendió bien. Transparencia, como todo aquí.