Skip to main content
Las cotizaciones pasan por un flujo de dos niveles de aprobación antes de quedar oficialmente aprobadas. Cada nivel tiene su propio aprobador, registra fecha y comentarios, y genera notificaciones por correo electrónico.

Niveles de aprobación

NivelCampoAprobadorRelación
Aprobación técnicaaprobacion1aprobadorTecnicoaprobacion1_user_id → users.id
Aprobación financieraaprobacion2aprobadorFinancieroaprobacion2_user_id → users.id
Cada nivel registra:
CampoDescripción
aprobacion1_user_id / aprobacion2_user_idID del usuario que realizó la acción
aprobacion1_fecha / aprobacion2_fechaFecha y hora de la acción (cast a datetime)
aprobacion1_comentarios / aprobacion2_comentariosComentarios del aprobador

Flujo completo

1

El creador envía la cotización a aprobación

Una vez que la cotización está completa (datos generales, recursos y AIU configurados), el creador la envía al flujo de aprobación desde el constructor.Al enviarla, el sistema:
  • Cambia el estado a en_proceso
  • Envía AprobacionTecnicaMail (acción ENVIADA) a todos los usuarios con rol Gerente que pertenezcan a la misma gerencia que la cotización
2

Aprobación técnica

El aprobador técnico (aprobacion1_user_id) recibe la cotización en su panel y puede:Aprobar: registra la fecha (aprobacion1_fecha), sus comentarios (aprobacion1_comentarios) y el estado pasa al siguiente nivel. Se notifica al aprobador financiero mediante AprobacionFinancieraMail con acción APROBADA TÉCNICAMENTE.Rechazar: registra la fecha, sus comentarios explicando el motivo del rechazo y el estado cambia a rechazada. Se envía AprobacionTecnicaMail (acción RECHAZADA TÉCNICAMENTE) al creador de la cotización.
3

Aprobación financiera

Una vez aprobada técnicamente, la cotización pasa al aprobador financiero (aprobacion2_user_id), quien puede:Aprobar: registra la fecha (aprobacion2_fecha) y sus comentarios (aprobacion2_comentarios). El estado cambia a aprobada. Se envía AprobacionFinancieraMail (acción APROBADA FINANCIERAMENTE) a todos los usuarios con rol Administrador y NotificacionCreadorMail (acción APROBADA FINANCIERAMENTE) al creador.Rechazar: registra la fecha y los comentarios. El estado cambia a rechazada. Se envía AprobacionFinancieraMail (acción RECHAZADA FINANCIERAMENTE) a todos los usuarios con rol Administrador y NotificacionCreadorMail (acción RECHAZADA FINANCIERAMENTE) al creador.
4

Reenvío (si fue rechazada)

Si la cotización fue rechazada, el creador puede corregirla y reenviarla. Al reenviarla, se envía ReenvioAprobacionMail a todos los usuarios con rol Administrador para notificarles que la cotización fue reenviada para aprobación financiera.

Notificaciones por correo

El sistema envía correos automáticos en cada evento del flujo:
EventoClase MailDestinatario
Cotización enviada a aprobaciónAprobacionTecnicaMail (ENVIADA)Usuarios con rol Gerente de la misma gerencia
Rechazada técnicamenteAprobacionTecnicaMail (RECHAZADA TÉCNICAMENTE)Creador de la cotización
Aprobada técnicamenteAprobacionFinancieraMail (APROBADA TÉCNICAMENTE)Usuarios con rol Administrador
Aprobada financieramenteAprobacionFinancieraMail (APROBADA FINANCIERAMENTE)Usuarios con rol Administrador
Aprobada financieramenteNotificacionCreadorMail (APROBADA FINANCIERAMENTE)Creador de la cotización
Rechazada financieramenteAprobacionFinancieraMail (RECHAZADA FINANCIERAMENTE)Usuarios con rol Administrador
Rechazada financieramenteNotificacionCreadorMail (RECHAZADA FINANCIERAMENTE)Creador de la cotización
Reenviada para aprobaciónReenvioAprobacionMailUsuarios con rol Administrador

Estados del campo estado

ValorSignificado
pendienteBorrador — el creador aún está trabajando en ella
en_procesoEnviada — esperando alguna aprobación
aprobadaAprobada técnica y financieramente
rechazadaRechazada en nivel técnico o financiero
Cuando una cotización es rechazada, los comentarios del aprobador quedan guardados en aprobacion1_comentarios o aprobacion2_comentarios según el nivel que rechazó. El creador debe revisar esos comentarios antes de corregir y reenviar la cotización.

Auditoría y trazabilidad

El modelo Cotizacione implementa auditoría completa mediante OwenIt\Auditing y Spatie\Activitylog. Todos los cambios en los campos de aprobación quedan registrados automáticamente, incluyendo quién realizó cada cambio y cuándo, sin necesidad de configuración adicional.

Build docs developers (and LLMs) love