MAPOCR INDEXA CAPTOR Contacto
🗃️ Gestión Documental

INDEXA
Digitaliza. Indexa.
Exporta a tu GED.

Convierte documentos físicos en registros digitales estructurados con validación de datos, scripts C# y control de calidad. Resultado listo para importar en OnBase u otro sistema documental.

Digitalización TWAIN / WIA Scripts C# con Roslyn Listas en cascada multi-nivel QA Dashboard Pools por máquina (HWID) Validación en nube 100% On-Premise
🏗️ Arquitectura

Tres capas. Un flujo completo.

INDEXA opera como cliente-servidor: el Shell WPF en cada puesto de trabajo se conecta al API centralizado que gestiona la base de datos, las licencias y la lógica de negocio.

🖥️
Puesto de trabajo

Indexa Shell

Aplicación WPF por módulo: Digitalización, Indexación, Control de Calidad y Configuración. Cada módulo requiere licencia asignada al equipo y permisos del usuario. Acceso controlado por HWID.

⚙️
Infraestructura

Indexa API

Servicio Windows con ASP.NET Core. Centraliza autenticación JWT, gestión de lotes, ejecución de scripts C# (Roslyn), pools de licencia y validación contra la nube en cada inicio de sesión.

📤
Salida

Export Output

Genera el índice TXT + imagen en el formato exacto que espera cada sistema destino: TIFF multipágina o PDF, delimitado o etiquetado (Tagged), con DateExportFormat y DecimalExportFormat configurables.

🧩 Módulos

Cuatro módulos. Un ecosistema.

Cada módulo es independiente, con su propio acceso por licencia de máquina y permisos de usuario. El equipo de digitalización y el de indexación pueden operar en paralelo sin interferencia.

📄

Digitalización

Módulo DIGIT · Licencia por máquina
  • Escaneo con drivers TWAIN y WIA — compatible con la mayoría de escáneres del mercado
  • Documentos multipágina: agregar, reorganizar y eliminar páginas antes de confirmar
  • Configuración de color, resolución y modo por tipo documental
  • Previsualización en tiempo real con zoom y rotación
  • Temp path configurable por máquina para imágenes intermedias
  • Generación del lote con número correlativo automático
🔍

Indexación

Módulo INDEX · Licencia por máquina
  • Campos tipados: Texto, Entero, BigInt, Decimal, Fecha, Booleano
  • Listas en cascada multi-nivel filtradas automáticamente según la selección anterior
  • Grupos multi-fila para keywords de valor repetible (ej: líneas de factura)
  • Scripts C# en OnChange, OnFocus y OnLostFocus por campo
  • Bloqueo concurrente de lotes — dos indexadores no pueden editar el mismo lote
  • Skip Batch con motivo: salta el lote y lo marca para revisión posterior

Control de Calidad (QA)

Solo permisos de usuario
  • Dashboard con KPIs en tiempo real: lotes por estado, documentos exportados, tasa de observación
  • Tiempo de ciclo Creación → Exportación con distribución por rango: <1 día, 1-3 días, 3-7 días, >7 días
  • Producción por digitalizador e indexador con filtros de período
  • Calificación de lotes con categorías de observación configurables
  • Filtros: Hoy, Esta semana, Este mes, Este año, Todo el tiempo
  • Historial de observaciones por lote con usuario y fecha
⚙️

Configuración

Solo permisos de usuario
  • Gestión de usuarios, roles y 23+ permisos granulares
  • Tipos documentales con campos, reglas y scripts completamente independientes
  • Listas de valores, tablas en cascada y grupos de exportación
  • Gestión de licencias: importar .lic, ver pools, asignar por máquina, revocar
  • Estado de validación en nube por máquina con timestamp de última verificación
  • Conexión a base de datos cifrada con DPAPI — configurable en caliente
⚡ Scripts C# — Motor Roslyn

Lógica personalizada sin límites.

Cada campo puede tener scripts C# en tres eventos distintos. El motor Roslyn compila el assembly y lo guarda en base de datos: la ejecución es en milisegundos sin recompilación.

🔄

OnChange

Se ejecuta cada vez que el usuario cambia el valor del campo. Ideal para autollenado de otros campos, cálculos automáticos o validaciones cruzadas en tiempo real.

🎯

OnFocus

Dispara cuando el usuario entra al campo. Útil para precargar valores, mostrar advertencias contextuales o inicializar listas dinámicas antes de que el operario escriba.

↩️

OnLostFocus

Se ejecuta al salir del campo. Perfecto para validaciones finales, formateo de datos ingresados o disparar flujos que dependen de que el campo ya tenga un valor.

API de contexto disponible en scripts

// Acceso a keywords por nombre, TagCode o ID Context.Keywords["NIT"].Value = "123456"; Context.Keywords["TOTAL"].IsRequired = true; Context.Keywords["OBS"].IsVisible = false; // Información del documento y lote actual var tipo = Context.Document.TypeName; var lote = Context.Batch.Number; // Valor anterior y keyword que disparó el evento var prev = Context.PreviousValue; var trig = Context.TriggerKeyword?.Value; // Lógica personalizada completa con .NET if (decimal.TryParse(trig, out var v) && v > 1000) Context.Keywords["APROB"].IsRequired = true;
Assembly compilado guardado en BD — sin recompilación en cada ejecución
Log detallado de cada llamada con errores, stack trace y tiempo de ejecución
Acceso completo a .NET 8 — HttpClient, regex, cálculos, lógica de negocio
📊 Dashboard de Calidad

Visibilidad total del proceso.

El módulo QA consolida métricas de productividad, tiempos de ciclo y observaciones del equipo en un único dashboard con filtros de período configurables.

KPIs
Lotes por estado en tiempo real
Tiempo de ciclo creación → exportación
👥
Producción por digitalizador e indexador
🏷
Categorías de observación configurables

Distribución de tiempo de ciclo

Visualiza en qué rango de tiempo caen tus lotes para identificar cuellos de botella en el proceso.

🟢

< 1 día

Procesamiento óptimo — lotes completados el mismo día

🟡

1 – 3 días

Ciclo normal para volúmenes medianos

🟠

3 – 7 días

Requiere atención — posible acumulación de lotes

🔴

> 7 días

Alerta — lotes con retraso crítico

📁 Exportación

El formato exacto que espera tu GED.

Cada grupo de exportación se configura de forma independiente. Un mismo lote puede exportarse en múltiples formatos para distintos sistemas destino.

📋

Delimitado

Índice TXT con separador configurable. Ideal para importación masiva en OnBase, Alfresco u otros sistemas documentales que consumen archivos planos.

🏷️

Tagged (etiquetado)

Formato etiquetado con Tags por campo (TagCode configurable por tipo documental). Compatible con importadores de OnBase que usan Keyword Tags.

🖼️

TIFF multipágina

Todas las páginas del documento en un único archivo TIFF. Compresión y profundidad de color configurables por grupo de exportación.

📄

PDF

Exportación a PDF multipágina. Alternativa a TIFF para sistemas que requieren este formato o para archivos de respaldo editables.

📅

DateExportFormat

Formato de fecha configurable por grupo: dd/MM/yyyy, yyyyMMdd o cualquier formato .NET estándar.

💰

DecimalExportFormat

Formato numérico configurable: N2, #,##0.00 o el separador que exija el sistema destino.

🔒 Licencias y Seguridad

Control total. Sin depender de la nube para operar.

INDEXA combina licenciamiento por hardware con validación periódica en nube. Opera con conectividad limitada gracias al período de gracia, pero garantiza que una revocación sea efectiva en el siguiente ciclo.

🔑

Pools Digit e Index independientes

El archivo de licencia define cuántas máquinas pueden digitalizar y cuántas pueden indexar. Los pools se aplican automáticamente desde el .lic — sin edición manual posible.

💻

Asignación por HWID

Cada licencia de módulo se asigna al fingerprint único de la máquina. Si el hardware cambia, la licencia queda inactiva automáticamente en esa máquina.

☁️

Validación en nube — caché 24 h

El servidor API verifica la licencia contra Cloudflare en cada inicio de sesión. El resultado se cachea 24 horas para no depender de Internet en cada operación.

48 h de gracia offline

Si la nube no es alcanzable, el sistema sigue operando hasta 48 horas usando la última validación exitosa como referencia. Detección de rollback de reloj incluida.

🚫

Revocación remota instantánea

Al revocar una licencia en el portal de administración, el siguiente ciclo de validación (máx. 24 h) elimina los pools y las asignaciones de máquina automáticamente.

🛡️

Anti-rollback de reloj

El servidor autoritativo de tiempo es el header HTTP Date del Worker de Cloudflare. Congelar o retroceder el reloj local no extiende el período de gracia.

👥

Roles y 23+ permisos granulares

Cada módulo y acción tiene su propio permiso. El administrador puede restringir qué puede ver, crear, editar o exportar cada usuario sin tocar el código.

🔐

JWT + cifrado DPAPI

Autenticación por token JWT con expiración de 24 h. La cadena de conexión a SQL Server se cifra con DPAPI (scope: LocalMachine) y se almacena junto al ejecutable.

¿Listo para ver INDEXA en acción?

Escríbeme por WhatsApp y coordinamos una demo personalizada adaptada a tu proceso documental. Sin costo, sin compromiso.