The postings glue could post a document when a source reaches a status, but not UN-post it - a voided/cancelled source left its journal entry standing, and reversing it required hand-written glue. Add reverses: <sibling posting> + storno: <self relation>: the reversal re-derives the sibling's header and items from the source with every amount expression negated on the SAME debit/credit side (the accounting red-storno convention - never swapped sides), locates the original through the empty storno link (fail-soft skip when the source was never posted), stamps the link on its creation, and both handlers' idempotency guards discriminate by that link.
Retrospective issue for traceability.
The postings glue could post a document when a source reaches a status, but not UN-post it - a voided/cancelled source left its journal entry standing, and reversing it required hand-written glue. Add
reverses: <sibling posting>+storno: <self relation>: the reversal re-derives the sibling's header and items from the source with every amount expression negated on the SAME debit/credit side (the accounting red-storno convention - never swapped sides), locates the original through the empty storno link (fail-soft skip when the source was never posted), stamps the link on its creation, and both handlers' idempotency guards discriminate by that link.Retrospective issue for traceability.