verificador-op

Requisitos — Verificador de Órdenes de Pago

Documento vivo: aquí se registra lo que la herramienta debe hacer. Cada cambio de criterio se anota también en CHANGELOG.md.

Problema

Se descarga una carpeta de PDFs escaneados con Órdenes de Pago (OP). Un PDF puede traer 1 OP en pocas páginas o cientos de OP en 500–3000+ páginas. Hay que comprobar, contra un Excel, que cada OP solicitada esté en la carpeta y sea válida.

Flujo completo del proceso

  1. Documento base (Excel exportado del sistema, uno por entidad y ejercicio): trae órdenes de pago, montos y muchas columnas más. Es la fuente de todo: del Layout y de la verificación.
  2. Layout: a partir del documento base se genera un Excel con formato fijo que se sube a una plataforma externa.
  3. Plataforma: con el Layout, extrae y entrega los PDFs de las órdenes solicitadas.
  4. Verificación: se revisan esos PDFs contra el documento base (lo descrito en el resto de este documento).

Documento base (estructura observada en un ejemplo real)

Layout para la plataforma

Plantilla: hoja Hoja1, 8 columnas con estos encabezados exactos. La plataforma es imperfecta: no llenar según el nombre de la columna, sino así:

Columna Valor
DocumentoReferencia Orden de pago
OrdenPago Orden de pago
FechaContable vacío
Periodo Año del ejercicio
CentroGestor vacío
PeriodoPresupuesto Año del ejercicio
Importe vacío
PartidaGasto vacío

Principios

Entrada

Qué revisar (casillas elegibles por corrida)

Casilla Regla
Orden de pago El número mencionado y el mostrado en el documento coinciden, y corresponden al Excel
Ejercicio Solo importa el año; debe ser el del Excel
Monto El monto solicitado debe aparecer en algún lugar de la lista de montos de la OP (una línea o el total), al centavo. Si hay uno casi igual, se menciona (p. ej. “difiere por $0.01”)
Firmas Deben ser 3 firmas en total, a mano, en la parte inferior. Los cargos de quienes firman varían, así que no se valida quién firma, solo que sean 3. Una orden puede traer 0, 1, 2 o 3 firmas: se reporta el conteo (“Sin firmas (0 de 3)”, “Solo 1 de 3 firmas”, “Solo 2 de 3 firmas”). Frecuencia real: lo común es que falte 1 firma; sin firmas es raro y suele estar justificado, pero se marca como Incorrecto con su motivo (el usuario lo corrige con “Corregir estado” si está justificado); 1 de 3 prácticamente no ocurre. Solo se detecta presencia, no autenticidad
Sellos Azules o negros, en cualquier posición, a veces encima de firmas. Sello encima de firma = Revisar

Localizar la OP en los PDFs se hace siempre (es la base de todo). Lo no marcado sale como “No revisado”.

Estados

Estado Significado
Correcto Se leyó con certeza y cumple
Incorrecto Se leyó con certeza y no cumple (con motivo)
Revisar Se leyó pero hay ambigüedad, o hay copias de la OP en conflicto
Ilegible Mala calidad: no se puede leer con certeza. Se reporta por dato, no por orden completa

Señales de ilegibilidad: confianza del OCR, que la lista de montos no sume el total, calidad de imagen (borrosa, clara, chueca).

Procesamiento de imagen

Por página: enderezar → alinear contra plantilla → limpiar → leer → validar.

  1. Detección de rotación 90°/180°.
  2. Alineación contra plantilla (mismo formato): corrige inclinación, desplazamiento, escala y perspectiva; fija las zonas de firmas.
  3. Respaldo: enderezado (deskew) por perfil de proyección.
  4. Binarización adaptativa y limpieza.
  5. OCR solo de las zonas de interés (número, año, montos) para acelerar.

Duplicados

  1. Archivo idéntico (misma huella de bytes): se omite sin leerlo.
  2. Página idéntica (misma huella visual): no se vuelve a leer.
  3. OP ya verificada como Correcta en otro archivo: no se revisa de nuevo.
  4. Dos o más archivos distintos con la misma OP y el mismo ejercicio: los archivos van a una carpeta aparte para revisión manual, y el Excel lleva una nota explicando la situación.

Renombres

Si un archivo trae más de una OP, se renombra con todas sus OP en orden de aparición, separadas por _:

Salida

Nombre de la entidad y nombres de archivo

Excel de resultados

Carpeta de archivos

PDFs sin duplicados y ya renombrados, más la subcarpeta de revisión manual. Formato elegible, ZIP por defecto; otras opciones de formatos universales (por definir tras medir). RAR descartado: formato propietario que no se puede generar libremente.

Recomendaciones para la versión real

Acordadas durante el diseño del boceto. No son opcionales: son parte de lo que la herramienta debe cumplir.

Volumen

Tabla

Velocidad del análisis

Corridas largas sin fragilidad

Uso

Pendiente