Order lifecycle
The Lifecycle
Transitions Explained
A sale begins placed. Billing can accept terms and zero-payment purchases; successful attempts accept purchases once their required amount is covered. Unresolved payments pause the sale as uncertain, while void ends an unaccepted purchase and full cancellation ends an accepted one.
What Cannot Happen
The lifecycle excludes voiding an accepted or uncertain sale. Terminal states do not reopen. Closed remains a declared destination without an implementation that enters it.
Concurrency and Timing
The order lock serializes status writes, but remote Accounting requests run outside it. The payment deadline begins at placement. Post-acceptance failures leave acceptance standing; register and mirror passes recover some follow-ups, while the amendment hand-off lacks recovery.