MovementReversedEvent
EventType: MOVEMENT_REVERSEDDomain: inventory Broker subject: progress.notification.inventory
Creates an inverse movement to undo a previously completed movement, restoring the inventory positions to their pre-movement state. Optionally reverses only a partial quantity.
Trigger
Triggered by: POST /event (universal event dispatcher)
Dispatched via POST /event in backend/api/endpoints/traceability.py with event_type: MOVEMENT_REVERSED.
Preconditions
- Original movement exists with key
info.original_movement_key - Original movement
statusisCOMPLETED
State Changes (Transaction)
Collections: Inherited from BaseInventoryEvent.get_tx_collections()
movementinverse record inserted withtype: REVERSALis_in_positionquantities updated to undo the original movement's delta- Original movement
reversed_byfield updated
Side Effects (post_processing)
Inherits post_processing() from BaseInventoryEvent:
- Publishes to
progress.notification.inventory
InfoModel Fields
| Field | Type | Description |
|---|---|---|
original_movement_key | str | Key of the movement to reverse |
inverse_movement_key | str | None | Key to assign to the reversal movement |
quantity_to_revert | float | None | Partial quantity to revert (null = full reversal) |
reason | str | None | Reason for the reversal |
Related Events
None.