Files
cruce-cuentas-glm-centralizado/VALIDACION_HONDURAS.md
T

5.4 KiB
Raw Blame History

Validación — Cruce de Cuentas GLM · Honduras

Datos reales utilizados

Se validó la lógica contra cuatro períodos reales:

  • Junio 2026 · Quincena 15
  • Junio 2026 · Quincena 30 / fin de mes
  • Julio 2026 · Quincena 15
  • Julio 2026 · Quincena 30 / fin de mes

Se utilizaron los Excel reales de nómina, los CSV BAC de planes AR94/AR95US y el reporte completo de BambooHR proporcionado para las pruebas.

Normalización de nómina

Período Filas válidas Total HNL Total USD
Junio Q15 266 2,111,731.15 0.00
Junio Q30 332 1,810,119.17 23,474.54
Julio Q15 264 1,450,958.81 0.00
Julio Q30 336 1,760,132.78 24,013.15

Parser bancario

Período Transacciones Total HNL Total USD
Junio Q15 266 2,128,362.38 0.00
Junio Q30 508 4,603,602.47 43,859.02
Julio Q15 264 1,450,959.26 0.00
Julio Q30 337 1,760,133.30 24,780.81

Los archivos bancarios de junio Q30 incluyen envíos del 23/06 y 30/06; ambos pertenecen a la segunda mitad del mes y por diseño se auditan dentro de Q30. Por eso existen pagos “Banco sin nómina” correspondientes a envíos adicionales del período.

Resultado del reconciliador final

Período Coincidencias Discrepancias Banco sin nómina Banco sin Bamboo Diferencias nombre banco Cuenta mal digitada
Junio Q15 143 122 0 5 1 1
Junio Q30 331 0 176 5 5 1
Julio Q15 263 0 0 4 1 1
Julio Q30 335 0 1 5 3 1

Redondeos

La validación final aplica una tolerancia de hasta 0.05. Esto elimina falsos positivos de 0.01 observados repetidamente y el caso real de 0.03 USD, sin ocultar diferencias materiales. En Junio Q15, después de eliminar únicamente esos redondeos, las 122 discrepancias restantes empiezan en 58.18 HNL, por lo que siguen siendo hallazgos materiales.

Cuenta mal digitada confirmada

El caso consistente en los períodos es Brenda Baquedano:

  • Nómina: 745899511
  • Banco: 745899611

Durante una revisión preliminar se había señalado también a Harold Panchame en junio Q30. La revisión directa del Excel original mostró que la celda de nómina contiene 756669711.0, que normaliza a 756669711, exactamente igual al banco; por tanto el reconciliador final no lo clasifica como cuenta mal digitada.

Diferencias de nombre banco

La regla final distingue truncamientos normales del archivo bancario de diferencias reales:

  • Oscar Rene Flores Alvarad vs OSCAR RENE FLORES ALVARADO se considera truncamiento y no genera falso positivo.
  • Erick Santaigo Herrera He vs ERICK SANTIAGO HERRERA HERRERA sigue reportándose porque contiene una diferencia interna de escritura.
  • Los registros de Suhan Gonzales vs SUHAN ELIZABETH GONZALEZ DUBON siguen reportándose cuando aparecen.

BambooHR

El normalizador identifica 456 registros de Honduras en el reporte completo utilizado para prueba. Se corrigió el caso ambiguo de Suyapa Palma: cuando el nombre corto coincide con un registro histórico y el nombre completo del cuentahabiente identifica de forma única a Suyapa Melisa Palma Aguilar, el workflow prioriza el nombre legal completo y evita un falso “Banco sin Bamboo”.

Gemini / todas las quincenas y años

El fallback determinista y el flujo Gemini fueron probados con:

  • Nomina 6.1 2026 GLM HN.xlsx → junio 1–15.
  • Nomina 6.2 2026 GLM HN.xlsx → junio 16–30.
  • Nomina 7.1 2026 GLM HN.xlsx → julio 1–15.
  • Nomina 7.2 2026 GLM HN.xlsx → julio 16–31.
  • Febrero 2027 → segunda quincena 16–28.
  • Febrero 2028 → segunda quincena 16–29 (bisiesto).
  • Diciembre 2031 → segunda quincena 16–31.

El último día se calcula en tiempo de ejecución; no está fijado a 30 y no depende de 2026.

App / dist

Validaciones realizadas sobre el paquete final:

  • CountryCode incluye HN.
  • Configuración HN usa HNL, es-HN y la URL exacta de la bandera proporcionada.
  • Webhook principal HN incorporado.
  • Endpoint de Históricos HN incorporado.
  • Endpoint de Marcar Resuelto HN incorporado.
  • Modal de corrección muestra Melody Chang Blandin.
  • El JavaScript compilado dist/assets/index-pa.js pasó node --check.
  • index.html, JavaScript, CSS y favicon fueron servidos localmente bajo /cruce-cuentas/ y respondieron HTTP 200.
  • Los 16 archivos TypeScript/TSX de src pasaron una validación de sintaxis con TypeScript transpileModule sin errores.

Nota sobre el build

El entorno aislado usado para preparar esta entrega no pudo completar una instalación nueva de dependencias desde npm. Por ello no se afirma que se haya ejecutado un npm run build fresco en esta sesión. El dist final parte del dist de El Salvador que el usuario ya había probado y desplegado, fue actualizado directamente con las mismas incorporaciones HN del código fuente y luego fue validado por sintaxis y servido estáticamente bajo la ruta real /cruce-cuentas/.

n8n

Los cinco JSON finales:

  • parsean como JSON;
  • están en active: false;
  • tienen nombres e IDs de nodo únicos dentro de cada workflow;
  • no contienen conexiones hacia nodos inexistentes;
  • conservan los paths esperados;
  • los nodos Code pasan validación de sintaxis JavaScript;
  • las correcciones HN se dirigen a mchang@gomezleemarketing.com;
  • el reporte general HN contiene los seis destinatarios definidos.