Ir al contenido

Pipeline de OCR

Cuando subís un documento a Asientra, el sistema no lo guarda y ya. Lo procesa automáticamente a través de un pipeline de pasos que lo convierte en datos estructurados listos para vincularse a una transacción contable. Esta página explica cada paso del proceso.

Video próximamente · 3min

Cada documento pasa por los siguientes pasos, registrados en la entidad ProcesamientoDocumento:

El archivo se guarda inmediatamente en S3 versionado y encriptado. Desde este punto el documento está a salvo aunque el pipeline falle en cualquier paso posterior — nunca se pierde un documento por error de procesamiento.

El primer agente que actúa es el clasificador. Determina si el archivo es:

  • XML de factura electrónica — va directo al parser XML, sin OCR.
  • PDF de representación gráfica — extrae el XML embebido si lo tiene; si no, activa OCR.
  • Imagen (JPG, PNG, HEIC) — activa OCR.
  • Estado bancario — detectado por patrones de estructura (tablas de movimientos, saldos).
  • Otro — clasificado como desconocido si no encaja en las categorías anteriores.

El agente OCR + Extractor analiza la imagen y extrae el texto. Luego el agente interpreta el texto para identificar:

| Campo | Ejemplos | |---|---| | Cédula del emisor | 3-101-XXXXXX | | Nombre del emisor | Razón social | | Fecha de emisión | dd/mm/yyyy | | Número de factura / clave numérica | Consecutivo o 50 dígitos | | Líneas de detalle | Descripción, cantidad, precio unitario | | IVA por línea y total | Montos y tasas | | Total del comprobante | Suma final |

Cada campo extraído recibe un nivel de confianza (0-1). Campos con confianza ≥ 0.85 se consideran confiables. Los que están por debajo se marcan en amarillo para revisión humana.

Antes de finalizar, el pipeline calcula el hash SHA-256 del archivo original. Si ya existe un documento con ese hash para el mismo cliente, el pipeline detiene el procesamiento y devuelve el ID del documento existente. Esto evita procesar la misma factura dos veces.

Con los datos extraídos y validados, el documento se rutea al módulo correspondiente:

  • Si es una factura electrónica (clave numérica de 50 dígitos identificada) → se crea o actualiza una FacturaRecibida.
  • Si es otro tipo → queda en DocumentoSoporte con estado procesado, listo para vinculación manual.

| Estado | Significado | |---|---| | recibido | Archivo guardado en S3, pipeline en cola | | clasificado | Tipo detectado, esperando OCR o parser | | procesado | Pipeline completado, datos disponibles | | requiere_intervencion | El pipeline no pudo completar un paso; revisión manual necesaria |

  • XML de factura: menos de 1 segundo (solo parsing, sin OCR).
  • PDF con XML embebido: 1-3 segundos.
  • Imagen simple (1 página): 5-15 segundos.
  • PDF multipágina: 15-60 segundos dependiendo del número de páginas.

Durante el procesamiento podés seguir trabajando en otras partes de Asientra. Cuando termina, recibís una notificación en la barra superior.

Si un paso del pipeline falla (OCR error, timeout, error de clasificación), el documento queda en estado requiere_intervencion con el detalle del error. No se pierde el archivo — podés ver el documento, editarlo manualmente, o usar la opción Reprocesar para intentar el pipeline de nuevo.