← Volver al índice de anexos
Macrobloque 2·Datos·Anexo 8 / 40

Anexo 8 · Fuentes e ingesta

Etapa: Fases 1.1 y 1.3
PÚBLICO

ANEXO 8

Fuentes e ingesta de datos

Este anexo corresponde a la Fase 1 — Captura, especialmente a las etapas “Fuentes de datos” e “Ingesta de datos” de la tabla maestra FARO Connect. En la tabla, esta fase busca identificar dónde vive la información real de la empresa, traerla hacia FARO y definir reglas de frecuencia, origen, trazabilidad y conexión.


1. Objetivo del anexo

El objetivo del Anexo 8 — Fuentes e ingesta es definir desde dónde obtiene información FARO Connect, cómo la recibe, con qué frecuencia, con qué nivel de confiabilidad y bajo qué método técnico.

FARO Connect necesita poder tomar información desde:

ERP
Excel
Google Sheets
CRM
POS
Bancos
WhatsApp
Mails
PDFs
APIs
Formularios
Sistemas internos
E-commerce
Marketplaces
Sistemas de stock
Sistemas de RRHH
Herramientas de tareas

La pregunta central de este anexo es:

¿Cómo entra la información a FARO Connect de forma ordenada, trazable y utilizable?

Porque FARO no puede detectar KPIs, alertas, tensiones o acciones si primero no sabe qué dato entra, de dónde viene, quién lo envió y qué tan confiable es.


2. Tesis del Anexo 8

La tesis es:

FARO Connect no reemplaza todos los sistemas existentes desde el día uno. Primero los conecta, los ordena y los convierte en una fuente de dirección.

Una empresa normalmente ya tiene sistemas. El problema es que están desconectados:

El ERP factura.
El Excel calcula comisiones.
El banco muestra caja.
WhatsApp tiene pedidos.
Stock tiene movimientos.
RRHH tiene sueldos.
Dirección tiene decisiones en reuniones.

FARO Connect debe actuar como una capa superior de integración ejecutiva.

No arranca destruyendo lo que existe. Primero conecta, interpreta y ordena. Después, si corresponde, mejora procesos.


3. Diferencia entre fuente, ingesta e integración

Concepto Qué significa Ejemplo
Fuente de datos Lugar donde vive la información. ERP, Excel, banco, CRM.
Ingesta Mecanismo para traer el dato a FARO. API, carga Excel, conexión automática.
Integración Relación estable entre FARO y la fuente. FARO importa ventas todos los días desde ERP.
Sincronización Actualización recurrente. Cada noche a las 22:00 se actualiza stock.
Validación Control de que el dato recibido sirve. Verificar fechas, importes, campos obligatorios.
RAW Copia original del dato recibido. JSON, CSV o archivo guardado sin modificar.

Ejemplo simple:

Fuente:
Excel de ventas.

Ingesta:
Carga manual semanal.

Integración:
FARO lee columnas, valida datos y guarda RAW.

Resultado:
Ventas disponibles para KPIs comerciales.

4. Tipos de fuentes de datos

4.1 Fuentes internas estructuradas

Son las mejores para empezar porque ya tienen formato relativamente ordenado.

Fuente Qué aporta Ejemplo de datos
ERP Ventas, facturas, compras, clientes, proveedores, stock. Factura, cliente, producto, importe, costo.
CRM Oportunidades, clientes, pipeline, seguimiento comercial. Lead, oportunidad, etapa, vendedor.
POS / punto de venta Tickets, ventas por sucursal, medios de pago. Ticket, caja, producto, vendedor.
Sistema de stock Inventario, movimientos, diferencias. Stock actual, ingreso, egreso, ubicación.
Sistema de RRHH Empleados, sueldos, asistencia, comisiones. Empleado, rol, sueldo, ausencias.
Sistema contable Cuentas, gastos, imputaciones, balances. Cuenta contable, gasto, centro de costo.

4.2 Fuentes internas semiestructuradas

Tienen datos útiles, pero suelen venir con problemas.

Fuente Qué aporta Riesgo
Excel Controles paralelos, comisiones, presupuestos, reportes. Versiones múltiples, errores manuales.
Google Sheets Planillas compartidas actualizadas por áreas. Cambios sin control, fórmulas rotas.
PDFs Facturas, presupuestos, remitos, contratos. Requiere extracción.
Mails Aprobaciones, pedidos, reclamos, autorizaciones. Mucho texto no estructurado.
WhatsApp Pedidos, reclamos, aprobaciones informales. Datos dispersos y difíciles de auditar.

4.3 Fuentes externas

Pueden enriquecer el análisis.

Fuente externa Para qué sirve
Bancos Cobros, pagos, saldos, conciliación.
APIs de logística Estados de entrega, demoras, cumplimiento.
Marketplaces / e-commerce Ventas online, conversiones, clientes.
Datos de mercado Precios, competencia, demanda, indicadores externos.
Clima / zona / geografía Útil para agro, logística, retail o construcción.
Tipo de cambio / inflación Costos, precios, márgenes, reposición.

5. Mapa FARO de fuentes por área

Área Fuentes típicas Datos principales
Comercial ERP, CRM, Excel, POS, WhatsApp, e-commerce. Ventas, clientes, productos, descuentos, vendedores, oportunidades.
Finanzas ERP, bancos, sistema contable, Excel. Cobros, pagos, deuda, gastos, caja, vencimientos.
Stock ERP, sistema de depósito, Excel, inventarios físicos. Stock actual, movimientos, mínimos, rotación, diferencias.
Compras ERP, órdenes de compra, proveedores, Excel. Precios, proveedores, plazos, cantidades, recepciones.
RRHH Sistema RRHH, Excel, reloj horario, nómina. Empleados, sueldos, comisiones, ausentismo, roles.
Operaciones Sistema interno, tareas, logística, WhatsApp. Entregas, reclamos, demoras, tareas, estados.
Dirección Reuniones, actas, tareas, informes, Excel. Decisiones, acciones, responsables, vencimientos.
Clientes CRM, ERP, cobranzas, reclamos. Historial, rentabilidad, mora, frecuencia, riesgo.
Proveedores ERP, compras, pagos, logística. Cumplimiento, precios, plazos, dependencia.

6. Métodos de ingesta

FARO debe soportar distintos métodos, porque no todas las empresas tienen el mismo nivel tecnológico.

6.1 Carga manual

Sirve para MVP, empresas desordenadas o primeras pruebas.

Usuario carga Excel / CSV / PDF.
FARO valida estructura.
FARO guarda RAW.
FARO limpia y normaliza.

Ventaja:

Rápido para arrancar.

Riesgo:

Depende de disciplina humana.

6.2 Carga programada

FARO importa datos en horarios definidos.

Todos los días a las 22:00.
Cada lunes a las 08:00.
Último día del mes.

Ejemplo técnico:

from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler()

def importar_ventas_diarias():
    print("Importando ventas desde ERP...")

scheduler.add_job(importar_ventas_diarias, "cron", hour=22, minute=0)
scheduler.start()

6.3 Conexión por API

Ideal cuando el sistema origen permite conexión.

FARO consulta API.
Recibe JSON.
Guarda RAW.
Procesa datos.

Ejemplo:

import requests

def obtener_ventas(api_url, token):
    headers = {"Authorization": f"Bearer {token}"}
    response = requests.get(f"{api_url}/ventas", headers=headers)
    response.raise_for_status()
    return response.json()

6.4 Webhook

La fuente avisa a FARO cuando pasa algo.

Ejemplo:

Nueva venta.
Nuevo cobro.
Nuevo pedido.
Nuevo reclamo.
Nueva tarea.

Ejemplo FastAPI:

from fastapi import FastAPI, Request

app = FastAPI()

@app.post("/webhook/venta")
async def recibir_venta(request: Request):
    payload = await request.json()

    # Guardar RAW
    raw_event = {
        "source": "erp",
        "event_type": "venta_creada",
        "payload": payload
    }

    return {"status": "received", "event": raw_event["event_type"]}

6.5 Conectores ETL / ELT

Para conectar muchas fuentes con menor desarrollo.

Herramientas posibles:

Airbyte
Fivetran
n8n
Make
Zapier
Meltano
Conectores propios

Uso típico:

ERP → Airbyte → Base FARO
Banco → n8n → FARO
Google Sheets → API → FARO

6.6 Extracción desde documentos

Para PDFs, facturas, remitos o contratos.

Flujo:

Documento
→ extracción de texto
→ identificación de campos
→ validación
→ RAW
→ staging
→ normalización

Campos posibles:

número de factura
fecha
proveedor
CUIT
importe
IVA
producto
cantidad
condición de pago

6.7 Ingesta desde WhatsApp o mails

No conviene prometer automatización total de entrada. Pero sí puede estructurarse gradualmente.

Ejemplo:

Mensaje WhatsApp:
“Necesito 100 bolsas de cemento para mañana, cliente Obra Norte.”

FARO puede extraer:
cliente = Obra Norte
producto = cemento
cantidad = 100
fecha requerida = mañana
tipo = pedido

Ejemplo conceptual:

def extraer_pedido_mensaje(texto):
    return {
        "tipo": "pedido",
        "cliente_detectado": "Obra Norte" if "Obra Norte" in texto else None,
        "producto_detectado": "cemento" if "cemento" in texto.lower() else None,
        "cantidad_detectada": 100 if "100" in texto else None
    }

Esto debe validarse antes de entrar al modelo ejecutivo. Si no, WhatsApp se transforma en una licuadora de datos.


7. Frecuencias de ingesta

No todos los datos necesitan actualizarse con la misma frecuencia.

Tipo de dato Frecuencia recomendada Motivo
Ventas Diaria / tiempo real Impacta margen, stock, caja.
Stock Diaria / varias veces al día Evita quiebres.
Bancos Diaria Caja y conciliación.
Cobranzas Diaria Mora y flujo financiero.
Compras Diaria / semanal Reposición y costos.
Gastos Semanal / mensual Control financiero.
RRHH Semanal / mensual Sueldos, productividad, comisiones.
Tareas / workflow Tiempo real Seguimiento de ejecución.
KPIs ejecutivos Diario / semanal Dirección.
FARO Score Diario / semanal Lectura de gestión.

8. Priorización de fuentes a conectar

No conviene conectar todo de golpe. Hay que priorizar.

Fórmula sugerida

Prioridad de fuente =
Impacto ejecutivo × 30%
+ Calidad del dato × 20%
+ Facilidad de conexión × 20%
+ Frecuencia de uso × 15%
+ Relación con tensiones críticas × 15%

Ejemplo en código:

def prioridad_fuente(impacto, calidad, facilidad, frecuencia, relacion_tensiones):
    score = (
        impacto * 0.30 +
        calidad * 0.20 +
        facilidad * 0.20 +
        frecuencia * 0.15 +
        relacion_tensiones * 0.15
    )

    if score >= 80:
        return "conectar_primero"
    elif score >= 60:
        return "conectar_fase_2"
    elif score >= 40:
        return "conectar_mas_adelante"
    return "no_prioritaria"

9. Matriz de priorización inicial

Fuente Impacto Facilidad Prioridad Motivo
ERP ventas Alto Media Fase 1 Base para ventas, margen y clientes.
Excel comercial Alto Alta Fase 1 Rápido para MVP si ERP no está listo.
Bancos Alto Media Fase 1 Caja, cobros y pagos.
Stock Alto Media/Alta Fase 1 Stock crítico y rotación.
CRM Medio/Alto Media Fase 2 Oportunidades y pipeline.
RRHH Medio Media Fase 2 Sueldos, comisiones y productividad.
Compras Medio/Alto Media Fase 2 Costos, proveedores y reposición.
WhatsApp Alto, pero complejo Alta complejidad Fase 3 Mucha información, baja estructura.
PDFs Medio Alta complejidad Fase 3 Útil, pero requiere extracción.
APIs externas Variable Variable Fase 3 / 4 Enriquecimiento avanzado.

10. Estructura de una fuente FARO

Cada fuente debe registrarse como un objeto formal.

{
  "source_id": "ERP_VENTAS_001",
  "nombre": "ERP - Ventas",
  "tipo": "ERP",
  "area": "Comercial",
  "owner": "Sistemas",
  "responsable_negocio": "Gerente Comercial",
  "frecuencia": "diaria",
  "metodo_ingesta": "API",
  "formato": "JSON",
  "nivel_confianza": "medio",
  "campos_principales": [
    "fecha",
    "cliente",
    "producto",
    "cantidad",
    "precio",
    "descuento",
    "vendedor"
  ],
  "kpis_habilitados": [
    "ventas_netas",
    "descuento_promedio",
    "ticket_promedio"
  ],
  "riesgos": [
    "costo_unitario_no_disponible",
    "cliente_duplicado"
  ]
}

11. Metadata obligatoria por ingesta

Cada carga debe tener metadata. Sin eso no hay trazabilidad.

Metadata Para qué sirve
ID de carga Identificar lote.
Fuente Saber de dónde viene.
Usuario / sistema Saber quién cargó o envió.
Fecha y hora Trazabilidad temporal.
Empresa / sucursal Clasificación.
Área Dueño del dato.
Versión de archivo Control de cambios.
Cantidad de registros Validación.
Estado de carga Recibida, procesada, observada, rechazada.
Errores detectados Auditoría.

Ejemplo:

{
  "load_id": "LOAD_2026_05_27_001",
  "source": "excel_ventas",
  "uploaded_by": "administracion",
  "uploaded_at": "2026-05-27T22:00:00",
  "company_id": "COMP_001",
  "branch_id": "SUC_001",
  "records_received": 1200,
  "records_valid": 1140,
  "records_observed": 60,
  "status": "processed_with_observations"
}

12. Estados de una ingesta

Estado Significado
Recibida FARO recibió el archivo o evento.
En validación Se están revisando campos y formato.
Aceptada Puede pasar a RAW/staging.
Observada Tiene errores, pero puede procesarse parcialmente.
Rechazada No cumple mínimos.
Procesada Ya fue limpiada y preparada.
Integrada Ya alimenta KPIs/modelo ejecutivo.
Reprocesada Se volvió a procesar por corrección.

13. Pipeline de ingesta FARO

La ingesta debe seguir un flujo controlado.

Fuente
→ Recepción
→ Registro de metadata
→ Guardado RAW
→ Validación inicial
→ Control de calidad
→ Staging
→ Normalización
→ Tablas maestras
→ Modelo ejecutivo
→ KPIs / reglas / tensiones

Ejemplo conceptual:

def pipeline_ingesta(payload, fuente):
    load_id = registrar_metadata(fuente, payload)
    guardar_raw(load_id, payload)

    errores = validar_payload(payload)

    if errores:
        marcar_observado(load_id, errores)
    else:
        marcar_aceptado(load_id)

    staging = transformar_a_staging(payload)
    normalizado = normalizar(staging)
    integrar_modelo_ejecutivo(normalizado)

    return {
        "load_id": load_id,
        "status": "procesado",
        "errores": errores
    }

14. Validación inicial de ingesta

Antes de procesar, FARO debe validar mínimos.

Ejemplo: ventas

Campos mínimos:

fecha
cliente
producto
cantidad
precio
vendedor
sucursal

Validación:

def validar_venta_raw(registro):
    errores = []

    campos_obligatorios = [
        "fecha",
        "cliente",
        "producto",
        "cantidad",
        "precio",
        "vendedor",
        "sucursal"
    ]

    for campo in campos_obligatorios:
        if not registro.get(campo):
            errores.append(f"{campo}_faltante")

    if registro.get("cantidad", 0) <= 0:
        errores.append("cantidad_invalida")

    if registro.get("precio", 0) <= 0:
        errores.append("precio_invalido")

    return errores

15. Control de duplicados

Una ingesta puede traer registros repetidos.

Ejemplo:

def generar_hash_registro(registro):
    clave = f"{registro.get('fecha')}-{registro.get('cliente')}-{registro.get('producto')}-{registro.get('cantidad')}-{registro.get('precio')}"
    return hash(clave)

Uso:

Si el hash ya existe:
marcar como posible duplicado.

Campos frecuentes para detectar duplicados:

fecha
número de comprobante
cliente
producto
importe
sucursal
origen

16. Ingesta por versión FARO

FARO Lite

Carga Excel / CSV.
Google Sheets.
Importación manual.
RAW básico.
Validación mínima.
KPIs iniciales.

Ideal para piloto.


FARO Pro

Carga programada.
Conectores simples.
APIs básicas.
Validación avanzada.
Staging.
Normalización.
Tablas maestras.

Ideal para empresas medianas.


FARO Enterprise

Conectores ERP.
Bancos.
CRM.
POS.
Stock.
Compras.
RRHH.
Pipelines programados.
Auditoría avanzada.

Ideal para multiárea / multisucursal.


FARO Neural

APIs múltiples.
Eventos en tiempo real.
Históricos amplios.
Fuentes externas.
Benchmarks.
Datos no estructurados.
Aprendizaje.
Recalibración.

Requisito: datos confiables e histórico suficiente.


17. Herramientas posibles

Necesidad Herramientas posibles
Carga manual Excel, CSV, Google Sheets, formularios.
APIs backend FastAPI, Node.js, NestJS.
Conectores Airbyte, Fivetran, n8n, Make, Zapier.
Procesamiento Python, Pandas, SQL, dbt.
Almacenamiento RAW PostgreSQL JSONB, S3, MinIO, BigQuery.
Orquestación Cron, Celery, Airflow, Prefect, Temporal.
Validación Great Expectations, dbt tests, reglas propias.
Eventos Webhooks, Kafka, Pub/Sub, RabbitMQ.
Documentos OCR, parsers PDF, extracción estructurada.
Seguridad OAuth, API keys, RBAC, logs, auditoría.

18. Seguridad y permisos de ingesta

FARO debe definir permisos desde el inicio.

Permiso Ejemplo
Ver fuentes Usuario puede ver qué sistemas están conectados.
Cargar archivo Administración puede subir Excel.
Aprobar carga Finanzas valida archivo bancario.
Reprocesar carga Sistemas puede relanzar ingesta.
Ver errores Área dueña ve inconsistencias.
Modificar mapeo Solo data owner o administrador.
Conectar API Solo rol técnico autorizado.

Regla básica:

Quien carga datos no necesariamente debe poder corregir reglas o aprobar resultados.

Separar roles evita desastres.


19. Riesgos principales de ingesta

Riesgo Consecuencia Mitigación
Datos incompletos KPIs débiles. Validación obligatoria.
Datos duplicados Ventas o gastos inflados. Hash y control de duplicados.
Fuente sin trazabilidad No se puede auditar. Metadata obligatoria.
Carga manual irregular Información atrasada. Calendario y responsables.
API inestable Datos cortados. Logs, reintentos y alertas.
Cambios en formato Excel Falla de importación. Plantillas bloqueadas.
Datos sensibles mal protegidos Riesgo legal y operativo. Permisos, cifrado, auditoría.
Muchas fuentes al inicio Complejidad excesiva. Priorizar fuentes críticas.

20. Ejemplo completo: ingesta de ventas desde Excel

Archivo recibido

ventas_mayo.xlsx

Campos:

fecha
cliente
producto
cantidad
precio
descuento
vendedor
sucursal

Proceso FARO

1. Usuario carga archivo.
2. FARO registra metadata.
3. FARO guarda archivo RAW.
4. FARO valida campos obligatorios.
5. FARO detecta productos no normalizados.
6. FARO pasa datos a staging.
7. FARO normaliza productos y clientes.
8. FARO integra ventas al modelo ejecutivo.
9. FARO calcula ventas netas y descuento promedio.
10. FARO marca margen como incompleto si falta costo.

Resultado

Ventas disponibles.
Descuentos disponibles.
Vendedor disponible.
Sucursal disponible.
Margen parcialmente disponible.
Tensión crecimiento no rentable detectable con confianza media.

21. Ejemplo completo: ingesta de bancos

Fuente

Banco / extracto CSV / API bancaria

Campos:

fecha
concepto
monto
tipo_movimiento
cuenta
referencia

Proceso FARO

1. Importar movimientos.
2. Guardar RAW.
3. Clasificar cobros y pagos.
4. Conciliar contra clientes/proveedores.
5. Detectar movimientos sin identificar.
6. Alimentar caja, cobranzas y pagos.

KPIs habilitados

Flujo de caja operativo.
Cobros diarios.
Pagos diarios.
Cuentas por cobrar conciliadas.
Mora.

Riesgo

Si no se concilia banco contra ERP, FARO puede ver caja pero no saber qué cliente pagó.

22. Ejemplo completo: ingesta de stock

Fuente

ERP / sistema de depósito / Excel de inventario

Campos:

producto
codigo
stock_actual
stock_minimo
ubicacion
ultimo_movimiento
proveedor
plazo_reposicion

Proceso FARO

1. Importar stock actual.
2. Validar productos.
3. Cruzar con maestro de productos.
4. Calcular días de cobertura.
5. Comparar con stock mínimo.
6. Detectar stock crítico.
7. Detectar stock inmovilizado.

Fórmula

Días de cobertura = stock actual / venta promedio diaria
def dias_cobertura(stock_actual, venta_promedio_diaria):
    if venta_promedio_diaria == 0:
        return None
    return stock_actual / venta_promedio_diaria

23. Ejemplo completo: ingesta de decisiones

Fuente:

Reuniones de dirección
Actas
Formulario interno
Tareas

Campos mínimos:

decisión
responsable
área
fecha
vencimiento
estado
KPI relacionado
tensión relacionada

Proceso:

1. Registrar decisión.
2. Asignar responsable.
3. Definir vencimiento.
4. Crear acción.
5. Medir cumplimiento.
6. Conectar con FARO Score.

Sin esta ingesta, FARO puede detectar problemas, pero no medir ejecución.


24. Relación con KPIs y tensiones

Fuente KPIs habilitados Tensiones habilitadas
Ventas ventas netas, ticket, descuento crecimiento no rentable, margen deteriorado
Costos margen bruto, rentabilidad mix comercial débil
Bancos caja, cobros, pagos caja débil con ventas altas
Stock rotación, quiebre, cobertura stock crítico, stock inmovilizado
Compras costo reposición, proveedor compras reactivas, proveedor crítico
RRHH costo laboral, productividad costo laboral desalineado
Workflow cumplimiento, vencidas dirección sin ejecución

25. Output final del Anexo 8

Al finalizar este anexo, FARO debe producir:

1. Inventario de fuentes de datos.
2. Mapa de fuentes por área.
3. Priorización de fuentes a conectar.
4. Método de ingesta por fuente.
5. Frecuencia de actualización.
6. Responsable técnico y responsable de negocio por fuente.
7. Campos principales por fuente.
8. Metadata obligatoria por ingesta.
9. Estados de ingesta.
10. Reglas mínimas de validación.
11. Riesgos por fuente.
12. KPIs habilitados por fuente.
13. Tensiones habilitadas por fuente.
14. Fuentes para fase inicial.
15. Fuentes para fases posteriores.
16. Recomendación técnica de conectores.
17. Roadmap de integración.

26. Conexión con otros anexos

Próximo anexo Qué recibe desde Anexo 8
Anexo 6 — Auditoría de datos Fuentes disponibles y brechas.
Anexo 9 — RAW y trazabilidad Datos originales y metadata.
Anexo 10 — Calidad de datos Validaciones y errores por fuente.
Anexo 11 — Staging y normalización Datos a limpiar y estandarizar.
Anexo 13 — Tablas maestras Clientes, productos, empleados, proveedores a unificar.
Anexo 17 — Biblioteca de KPIs KPIs habilitados por fuente.
Anexo 20 — Reglas de negocio Reglas disparadas por fuente.
Anexo 22 — Biblioteca de tensiones Tensiones detectables según fuentes conectadas.
Anexo 31 — Workflow y escalamiento Ingesta de acciones, tareas y estados.
Anexo 35 — FARO Score Variables disponibles para calcular score.

El Anexo 8 define cómo entra la información a FARO Connect. Identifica fuentes, métodos de ingesta, frecuencias, responsables, metadata, validaciones, riesgos y qué KPIs o tensiones habilita cada fuente. Sin una ingesta ordenada, FARO no puede construir dirección confiable.

Versión 1.0 · Última revisión: 2026-05-28 Anexo 8 de 40 · Fases 1.1 y 1.3