GEOSTARK NOMINA - PARCHE V6 BLINDAJE DE NOMINA
Fecha: 2026-05-15

OBJETIVO
Convertir la corrida en un documento histórico/auditable: congelar trabajador, salario, cargo, conceptos y parámetros al momento del cálculo; reforzar estados; impedir recálculos de períodos bloqueados; y registrar reversos/ajustes sin tocar la corrida original.

ARCHIVOS INCLUIDOS
- nomina_legal_master.php
- nomina_calcular_actualizado.php
- nomina_reportes_common.php
- nomina_corrida_resumen.php
- nomina_auditoria_corrida.php
- nomina_reversos_ajustes.php
- SQL_OPCIONAL_V6_BLINDAJE_NOMINA.sql

MEJORAS PRINCIPALES
1) Snapshot de trabajador por corrida:
   - nombre, apellido, cédula, cargo, estatus, fecha de ingreso
   - origen salarial: ficha/cargo/incompleto
   - salario original, moneda, salario mensual Bs, salario día Bs y salario hora Bs
   - bono extra USD mensual y tasa BCV usada

2) Snapshot de conceptos por corrida:
   - código, nombre, tipo, tasas, monto fijo, moneda, incidencia salarial y base de cotización
   - los recibos y reportes pueden mostrar el nombre del concepto congelado aunque luego se edite el catálogo

3) Flujo de bloqueo:
   - CALCULADA -> REVISADA -> APROBADA -> PAGADA -> CERRADA
   - al avanzar desde REVISADA queda bloqueada la corrida
   - al cerrar, el período queda CERRADO

4) Reversos y ajustes:
   - nueva pantalla nomina_reversos_ajustes.php
   - registra AJUSTE o REVERSO formal con usuario, fecha, IP, motivo, referencia, trabajador y concepto opcional
   - no modifica movimientos originales: correcto para trazabilidad laboral

5) Hoja de auditoría reforzada:
   - muestra parámetros legales congelados
   - muestra novedades sensibles
   - muestra snapshot salarial
   - muestra reversos/ajustes posteriores

INSTALACIÓN
1. Respaldar carpeta CRUD y base de datos.
2. Copiar los archivos del parche sobre la raíz del sistema.
3. Entrar al sistema con usuario admin.
4. Abrir Calcular Nómina o Resumen de Corrida para que se ejecute la migración automática.
5. Si alguna tabla no se crea por permisos, ejecutar SQL_OPCIONAL_V6_BLINDAJE_NOMINA.sql.

PRUEBA RECOMENDADA
1. Crear o usar un período abierto.
2. Cargar novedades con observación.
3. Calcular corrida.
4. Abrir Resumen de Corrida.
5. Avanzar: Revisada -> Aprobada -> Pagada -> Cerrada.
6. Intentar editar novedades o recalcular: debe bloquearse si el período/corrida está cerrada o bloqueada.
7. Abrir Reversos/Ajustes y registrar un ajuste de prueba sobre una corrida aprobada/pagada/cerrada.
8. Revisar Hoja Auditoría.

NOTA
Este parche no crea todavía nómina complementaria automática. Registra la incidencia formal sin tocar la corrida original. El siguiente paso puede ser generar una corrida complementaria de ajuste con recibo propio.
