Skip to main content

Voucher Reversal and Tracing Conceptual Flow

1. Purpose

This document outlines the end-to-end process for reversing a posted voucher within the General Ledger. The flow is designed to be interactive, auditable, and safe, ensuring that accountants can correct errors while maintaining a clear financial record. It involves three distinct user-facing steps: viewing voucher details, executing the reversal, and tracing the history.

2. Actors

  • Frontend (UI): A web-based client responsible for presenting data and capturing user intent (e.g., reason for reversal).
  • GeneralLedger API: The backend service that orchestrates the domain logic, interacts with the database, and ensures all accounting rules are followed.

3. Core Principles

  • Immutability of Posted Transactions: Posted journal lines are never deleted or modified. A reversal creates a new set of opposing (credit/debit flipped) transactions.
  • Auditability: The original and reversal transactions are permanently linked via a unique trace_number stored in the TransactionReversal aggregate.
  • Atomicity: The entire set of transactions within a voucher is reversed as a single atomic operation.

4. Sequence Diagram