An audit trail is often treated as a report — something you produce when asked. Event sourcing treats it differently: the sequence of events is the system, and every current state is a consequence of that sequence. For payments, this is not a stylistic preference. It is what makes reconstruction possible.

Store events, derive state

Instead of overwriting a row to reflect a new balance, record the event that changed it. A payment moves through identifiable states — proposed, authorised, executed, settled, or reversed. Each transition is appended, never rewritten. The balance is then derived from the events rather than stored as an isolated number.

This makes the question "how did we get here?" answerable by replay, not by guesswork.

Attribute every event

Reconstruction is only useful if an event says who and why. In SUPA's design, every ledger entry is attributed to a principal, an agent and a policy version. The principal is the person or company legally behind the operation; the agent is the software executor; the policy version records which limits, counterparties and thresholds applied at that moment.

That last attribution is easy to omit and valuable to keep. When a rule changes, the record still shows which rule governed an operation when it happened.

Avoid drowning in data

Event sourcing can spiral into exhaustively logging everything. The discipline is to record the events that matter to correctness: the ones that change money, status or authority. Everything else can stay operational telemetry, retained separately and with a shorter life. Storage is cheap but not free, and an audit trail nobody can read is not evidence. Keep the durable stream small, well-named and complete with respect to money, status and authority.

  • append only; correct with new events, never edits
  • attribute each event to principal, agent and policy version
  • derive balances and status from the event stream
  • separate durable evidence from disposable telemetry

In short

  • Treat the event sequence as the source of truth; derive state from it.
  • Append only — corrections are new events.
  • Attribution to principal, agent and policy version makes reconstruction meaningful.
  • Keep evidence and telemetry separate to avoid overload.

See how the ledger keeps evidence: developers.