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_numberstored in theTransactionReversalaggregate. - Atomicity: The entire set of transactions within a voucher is reversed as a single atomic operation.