# Compensating Transactions

> Undoing a completed step's effects with an offsetting action when a later step in a distributed workflow fails.

Record: `lexicon:compensating-transactions`
Kind: technique
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-compensating-transactions

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Command/Query Separation](https://banes-lab.com/records/lexicon/command-query-separation.md) and before [Consumer](https://banes-lab.com/records/lexicon/consumer.md).

## Category

- [Event Messaging Async](https://banes-lab.com/records/lexicon-category/event-messaging-async.md)

## Required by

- [Saga Pattern](https://banes-lab.com/records/architecture/saga-pattern.md)

## Linked from

- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/ontology/principles/architecture-category-event-messaging-asynchronous-architecture.md)
