Agregar República Dominicana y ajustes finales del portal
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# Validación final — República Dominicana
|
||||
|
||||
Fecha de revisión: 12-09-2026.
|
||||
|
||||
## Material analizado
|
||||
|
||||
Se analizaron de forma conjunta:
|
||||
|
||||
- las **16 nóminas RD** disponibles de enero a agosto de 2026 (Q15 y cierre de mes);
|
||||
- los **62 archivos de pagos** disponibles para las cuatro quincenas de entrenamiento de junio/julio 2026;
|
||||
- los **4 Excel oficiales de referencia** generados durante el entrenamiento;
|
||||
- la arquitectura actual de la app multi-país;
|
||||
- los workflows de Puerto Rico y los workflows compartidos de Gemini/corrección BambooHR utilizados como base estructural.
|
||||
|
||||
## Reportes patrón
|
||||
|
||||
| Período | Coincidencias | Discrepancias | Banco sin nómina | Banco sin Bamboo | Dif. nombre | Cuenta mal digitada | Pendientes principales | Total nómina ref. | Total banco ref. | Diferencia ref. |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||||
| 15-jun-2026 | 257 | 1 | 0 | 7 | 2 | 0 | 3 | RD$4,665,382.94 | RD$4,644,692.08 | RD$20,690.86 |
|
||||
| 30-jun-2026 | 213 | 1 | 0 | 8 | 2 | 0 | 3 | RD$4,148,894.42 | RD$4,134,786.57 | RD$14,107.85 |
|
||||
| 15-jul-2026 | 213 | 0 | 0 | 8 | 2 | 0 | 2 | RD$4,008,539.03 | RD$4,008,539.04 | -RD$0.01 |
|
||||
| 30-jul-2026 | 262 | 0 | 0 | 8 | 2 | 0 | 2 | RD$4,431,266.35 | RD$4,431,266.42 | -RD$0.07 |
|
||||
|
||||
## Regresión independiente sobre archivos originales
|
||||
|
||||
La lógica RD fue re-ejecutada offline contra los archivos de nómina/pago disponibles, sin utilizar como entrada los totales de los reportes de referencia.
|
||||
|
||||
### 15-jun-2026
|
||||
|
||||
Resultado reconstruido:
|
||||
|
||||
- 210 filas válidas de nómina.
|
||||
- 48 suplementos `Bono BICE`.
|
||||
- 258 movimientos bancarios totales, de los cuales 257 fueron procesados y 1 rechazado.
|
||||
- 257 coincidencias.
|
||||
- 1 discrepancia.
|
||||
- 0 Banco sin nómina.
|
||||
- 0 Nómina sin cuenta sin resolver.
|
||||
- 0 posibles cuentas mal digitadas.
|
||||
- 2 diferencias de nombre bancario.
|
||||
- Total nómina: RD$4,665,382.94.
|
||||
- Total banco procesado: RD$4,644,692.08.
|
||||
- Diferencia: RD$20,690.86.
|
||||
|
||||
La discrepancia reconstruida corresponde a **Angel Leonardo Baez** y reproduce el caso de pago rechazado por banco.
|
||||
|
||||
### 30-jun-2026
|
||||
|
||||
Resultado reconstruido:
|
||||
|
||||
- 214 filas válidas de nómina.
|
||||
- 213 movimientos bancarios procesados.
|
||||
- 213 coincidencias.
|
||||
- 1 discrepancia.
|
||||
- 0 Banco sin nómina.
|
||||
- 0 Nómina sin cuenta sin resolver.
|
||||
- 0 posibles cuentas mal digitadas.
|
||||
- 2 diferencias de nombre bancario.
|
||||
- Total nómina: RD$4,148,894.42.
|
||||
- Total banco: RD$4,134,786.57.
|
||||
- Diferencia: RD$14,107.85.
|
||||
|
||||
La discrepancia reconstruida corresponde a **Edgar Jimenez De Los Santos**. El ACH adicional de **Jose Luis Ventura** por RD$22,661.00 se incorpora correctamente al conjunto bancario.
|
||||
|
||||
### 15-jul-2026
|
||||
|
||||
Resultado reconstruido:
|
||||
|
||||
- 213 filas válidas.
|
||||
- 213 movimientos bancarios.
|
||||
- 213 coincidencias.
|
||||
- 0 discrepancias.
|
||||
- 0 Banco sin nómina.
|
||||
- 0 Nómina sin cuenta sin resolver.
|
||||
- 0 posibles cuentas mal digitadas.
|
||||
- 2 diferencias de nombre.
|
||||
|
||||
La conciliación transacción por transacción queda completa. Con redondeo monetario determinista por fila, Nómina y Banco quedan en RD$4,008,539.04. El reporte histórico mostraba RD$4,008,539.03 / diferencia -RD$0.01. Esa diferencia histórica es un artefacto agregado de redondeo y **no debe convertirse en discrepancia**, exactamente como se decidió durante el entrenamiento.
|
||||
|
||||
### 30-jul-2026
|
||||
|
||||
Resultado reconstruido:
|
||||
|
||||
- 262 filas válidas.
|
||||
- 262 movimientos bancarios.
|
||||
- 262 coincidencias.
|
||||
- 0 discrepancias.
|
||||
- 0 Banco sin nómina.
|
||||
- 0 Nómina sin cuenta sin resolver.
|
||||
- 0 posibles cuentas mal digitadas.
|
||||
- 2 diferencias de nombre.
|
||||
|
||||
La conciliación por transacción queda completa. El flujo redondea de forma consistente y obtiene RD$4,431,266.42 tanto en Nómina como en Banco. El reporte histórico mostraba una diferencia agregada de -RD$0.07. Nuevamente, no existe una discrepancia real por empleado y el flujo no genera un falso hallazgo.
|
||||
|
||||
## Diferencias de nombre bancario
|
||||
|
||||
La regresión devuelve exactamente los **2 casos recurrentes** que sirvieron de referencia, sin agregar el falso positivo de Waldo Antonio Gonzales/Gonzalez:
|
||||
|
||||
- `GOMEZ PERERA JOSE LEOPOLDO F` frente a Yelida Gómez Lee.
|
||||
- `JAILYN CHAU` frente a Elizabeth Carrasco.
|
||||
|
||||
La lógica fuzzy se ajustó para reconocer variaciones ortográficas cercanas/reordenamiento de tokens sin convertir coincidencias reales en “Diferencia nombre banco”.
|
||||
|
||||
## Nóminas enero-agosto 2026
|
||||
|
||||
Se confirmaron 16 archivos reales, uno por cada quincena disponible. El detector local de la app identifica correctamente los 16 períodos, incluyendo **28-feb-2026 como segunda quincena/cierre de mes**.
|
||||
|
||||
El flujo no depende de que el calendario termine en día 30; el último día real de febrero también se interpreta como `quincena_30`.
|
||||
|
||||
La nómina de 30-may-2026 tiene un total bruto notablemente superior al resto. No se modificó ni se “corrigió” automáticamente porque no existen pagos de mayo en el material recibido para validar si corresponde a pagos extraordinarios. El workflow procesará el archivo por sus filas reales y requerirá los archivos bancarios de esa misma quincena para conciliarlo.
|
||||
|
||||
## Pagos analizados
|
||||
|
||||
Los 62 archivos recibidos corresponden a junio/julio 2026 e incluyen CSV regulares, lotes temporales, suplementos y siete PDFs BHD. La lógica contempla que una quincena tenga múltiples lotes y archivos con sufijo `.1.csv`.
|
||||
|
||||
Los ACH PDF detectados incluyen pagos de Jose Luis Ventura, Reimon Perez y Jenny Salazar. La clasificación de origen del PDF se usa como información descriptiva; el match contable se sostiene en cuenta/monto/nombre, por lo que una descripción bancaria inconsistente no invalida un pago real.
|
||||
|
||||
## Validaciones técnicas realizadas
|
||||
|
||||
- Los 5 workflows RD/compartidos son JSON válido.
|
||||
- No existen conexiones n8n hacia nodos inexistentes.
|
||||
- Todos los Code nodes pasan validación sintáctica JavaScript.
|
||||
- Los archivos `.ts/.tsx` modificados pasan transpilación sintáctica TypeScript.
|
||||
- El workflow principal RD no conserva referencias operativas a Puerto Rico, USD, `es-PR` ni `America/Puerto_Rico`.
|
||||
- Moneda RD: `DOP`.
|
||||
- Locale: `es-DO`.
|
||||
- Zona horaria: `America/Santo_Domingo`.
|
||||
- BambooHR: `onlyCurrent=false`.
|
||||
- Destinataria RRHH: `nlaureano@gomezleemarketing.com`.
|
||||
- Bandera: URL suministrada para República Dominicana.
|
||||
- Las 6 pestañas del reporte quedan siempre definidas.
|
||||
- La protección de `Resolución` incluye a Noralmy para RD.
|
||||
|
||||
## Límite de la validación local
|
||||
|
||||
No se ejecutó una prueba **live** contra las credenciales reales de n8n/BambooHR/Google Workspace/Supabase desde este entorno. Por esa razón, aunque el paquete está preparado para importar y la lógica fue validada estáticamente y contra los archivos históricos, la condición final de “producción 100%” debe cerrarse con **una ejecución real controlada en n8n**.
|
||||
|
||||
En particular, los conteos históricos de `Banco sin Bamboo` (7/8) dependen de la foto real de BambooHR y de los alias almacenados en Supabase al momento de ejecutar. La lógica de consulta y filtrado está implementada, pero esos conteos no pueden reproducirse offline sin consultar BambooHR.
|
||||
|
||||
## Gate final de producción
|
||||
|
||||
RD puede declararse definitivamente “ready mensual” cuando una ejecución live cumpla simultáneamente:
|
||||
|
||||
- webhook RD recibe el Excel + todos los CSV/PDF de la quincena;
|
||||
- período detectado/seleccionado coincide con `PERÍODO` de la nómina;
|
||||
- BambooHR responde correctamente con `onlyCurrent=false`;
|
||||
- se generan las 6 pestañas;
|
||||
- el Google Sheet se comparte correctamente;
|
||||
- Noralmy recibe el correo;
|
||||
- histórico `country=RD` queda guardado;
|
||||
- “Marcar resuelto” actualiza ese reporte;
|
||||
- un segundo procesamiento del mismo período reutiliza el reporte y preserva resoluciones aplicables;
|
||||
- una de las cuatro quincenas patrón reproduce sus hallazgos funcionales;
|
||||
- una quincena nueva/no entrenada no arroja falsos positivos evidentes.
|
||||
|
||||
El detalle de la regresión también queda en `VALIDACION_RD_REGRESION.json`.
|
||||
Reference in New Issue
Block a user