Starting from the nominal ledger; Create an option to reverse transaction that resides in an Open or Future accounting period. If the transaction originates in a known module then also reverse the transaction in the source module.
Selection would be of the URN, Group of URNs or nominal code
Validate before reversal on:
Transaction does not affect a closed period (Warning with option to reverse all or reverse only Open/Future)
Transaction balances
Transaction source transactions in SL/PL/CB allow transaction (Warning with option to reverse all or reverse only allowed transactions)
Transaction was not already reversed previously
User experience optional extras:
Validated journal exportable to Excel for user to edit
Reversal reference editable
Reversal authorisation
Reversal audit log
3rd Party Developers allowed to block reversal