Flujo de Aprobación
El proceso de aprobación controla qué ejercicios presupuestales pueden usarse como base para el comparativo real vs. presupuestado. Solo un ejercicio en estado APROBADO genera comparativos activos.
Permisos requeridos
Sección titulada «Permisos requeridos»| Acción | Permiso |
|---|---|
| Enviar a aprobación | presupuestos.editar |
| Aprobar o rechazar | presupuestos.aprobar |
| Reabrir un ejercicio aprobado | presupuestos.aprobar |
| Cerrar un ejercicio | presupuestos.aprobar |
Diagrama de estados
Sección titulada «Diagrama de estados»BORRADOR ──enviar──► EN_APROBACION │ aprobar ◄──┤──► rechazar │ │ ▼ ▼ APROBADO BORRADOR │ reabrir ◄──┤──► cerrar │ │ ▼ ▼ EN_REVISION CERRADO (terminal) │aprobar ◄─┤─► rechazar │ │ ▼ ▼APROBADO BORRADORPaso 1: Enviar a aprobación
Sección titulada «Paso 1: Enviar a aprobación»Estado requerido: BORRADOR
Permiso: presupuestos.editar
- Abra el detalle del ejercicio (
/contabilidad/presupuestos/[id]). - Haga clic en Enviar a aprobación.
- Opcionalmente agregue notas para el aprobador.
- Confirme. El ejercicio pasa a
EN_APROBACION.
Al enviar, el sistema:
- Registra la fecha y usuario en
envioAprobacionAt. - Crea un registro en el historial con
accion: 'ENVIAR'y una instantánea del total presupuestado. - Emite el evento
presupuesto.ejercicio.enviado_aprobacionpara notificaciones internas.
Paso 2: Aprobar el ejercicio
Sección titulada «Paso 2: Aprobar el ejercicio»Estado requerido: EN_APROBACION
Permiso: presupuestos.aprobar
- El aprobador abre el detalle del ejercicio.
- Revisa las líneas en la pantalla de líneas o el historial de auditoría.
- Hace clic en Aprobar.
- Opcionalmente agrega notas.
- Confirma. El ejercicio pasa a
APROBADO.
Al aprobar, el sistema:
- Registra
aprobadoAtyaprobadoBy. - Incrementa la versión del ejercicio.
- Crea un registro con
accion: 'APROBAR'. - Emite el evento
presupuesto.ejercicio.aprobado.
Paso 3a: Rechazar el ejercicio
Sección titulada «Paso 3a: Rechazar el ejercicio»Estado requerido: EN_APROBACION
Permiso: presupuestos.aprobar
- El aprobador hace clic en Rechazar.
- Debe ingresar un motivo de rechazo (campo obligatorio; el sistema devuelve
MOTIVO_REQUERIDOsi está vacío). - Confirma. El ejercicio regresa a
BORRADOR.
El motivo queda guardado en motivoRechazo y en el historial de auditoría. El elaborador puede corregir las líneas y reenviar.
Paso 4a: Reabrir para revisión
Sección titulada «Paso 4a: Reabrir para revisión»Estado requerido: APROBADO
Permiso: presupuestos.aprobar
Si es necesario corregir un ejercicio ya aprobado sin rechazarlo formalmente:
- Haga clic en Reabrir para revisión.
- Ingrese un motivo (obligatorio).
- El ejercicio pasa a
EN_REVISION.
En EN_REVISION las líneas vuelven a ser editables. Una vez corregido, el ejercicio puede aprobarse nuevamente (→ APROBADO) o revertirse a borrador (→ BORRADOR).
Paso 4b: Cerrar el ejercicio
Sección titulada «Paso 4b: Cerrar el ejercicio»Estado requerido: APROBADO
Permiso: presupuestos.aprobar
Al cerrar el ejercicio fiscal de un año terminado:
- Haga clic en Cerrar ejercicio.
- Confirme. El ejercicio pasa a
CERRADO.
Historial de aprobaciones
Sección titulada «Historial de aprobaciones»Cada transición queda registrada con:
- Fecha y hora exacta
- Usuario que ejecutó la acción
- Estado anterior y nuevo
- Instantánea del presupuesto total en ese momento
- Notas o motivo (cuando aplica)
Puede consultar el historial completo en /contabilidad/presupuestos/[id]/auditoria.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿Puede la misma persona elaborar y aprobar el ejercicio?
El sistema no impide que el mismo usuario realice ambas acciones, siempre que tenga ambos permisos (presupuestos.editar y presupuestos.aprobar). Para control interno se recomienda separar los roles.
¿Qué pasa si el ejercicio fue rechazado y ya no recuerdo el motivo?
El motivo de rechazo se almacena en el campo motivoRechazo del ejercicio y aparece en el historial de auditoría con la fecha y el usuario que rechazó.
¿Cuántas veces puede pasar un ejercicio por el ciclo enviar/rechazar? Sin límite. Cada ciclo incrementa la versión. Puede usar el historial para ver el número de iteraciones.