Compensation Boundary Event
Adjunta un gestor de compensación a una actividad: si más tarde se dispara la compensación, el gestor vinculado deshace el trabajo completado de esta actividad. Doble círculo con flechas de rebobinado.
El Evento de Compensación en el Borde (Compensation Boundary Event) es distinto de los demás bordes: no reacciona mientras la actividad se ejecuta — registra la receta de reversión para después de que la actividad se haya completado. La asociación punteada lo enlaza con una actividad de compensación dedicada (marcada con el icono de rebobinado) que realiza la reversión cuando se dispara una Emisión/Fin de Compensación.
Cuándo usar y evitar
Cuándo usar
En toda actividad cuyos efectos puedan necesitar reversión de negocio más adelante (reservas, cobros, asientos contables).
En sagas y transacciones, para declarar la operación inversa de cada paso.
Cuando la reversión difiere según la actividad — cada una recibe su propio gestor.
Cuándo NO usar
Para gestionar fallos durante la actividad — eso es un Error en el Borde.
Cuando el trabajo no tiene un inverso significativo — la compensación no puede fabricar uno.
En actividades que nunca se completan antes del posible punto de reversión — nada que deshacer.
Ejemplo de negocio
Declarar cómo deshacer una reserva de hotel

Abra este ejemplo en el editor de procesos de HEFLO y explore el diagrama por dentro.
Abrir en el editor HEFLO →Paso a paso
- Reservar hotel se completa normalmente; su Compensación en el Borde (resaltada) + el gestor asociado Cancelar reserva de hotel declaran la reversión.
- Más tarde, el pago es rechazado y se dispara la compensación.
- El motor invoca el gestor — la reserva se cancela aunque la tarea hubiera terminado mucho antes.
Diferencias
Compensación en el Borde vs otros bordes
Los demás bordes vigilan una actividad en curso. El borde de compensación permanece inactivo durante la ejecución y solo importa después de completarse, cuando se dispara la compensación. Además, utiliza una asociación (punteada) hacia su gestor, no un flujo de secuencia.
Preguntas frecuentes
¿Qué marca a la actividad gestora?
Se define como isForCompensation y se representa con el marcador de rebobinado; no puede alcanzarse mediante un flujo de secuencia normal — solo mediante compensación.
¿El gestor ve los datos de la actividad original?
Sí — los motores le proporcionan el contexto de la actividad completada para que pueda deshacerla con precisión (por ej. el id de la reserva).