Pay-after-stock-confirmation order lifecycle
The core commerce path: an order starts as a non-payable request and only becomes payable once a supplier confirms the stock, with payment and ERP push following.
- 1Customer builds a cart and places an order, which snapshots line prices and creates a non-payable request
- 2Staff assign supplier offers per line and issue stock-confirmation requests, each with a 24-hour SLA
- 3Suppliers respond per line through the portal; a Celery beat job chases stale confirmations
- 4evaluate_order_after_confirmation advances the state machine and the order becomes payable
- 5create_payment_for_order issues a Moyasar/Tap/Stripe payment link and notifies the customer
- 6The gateway webhook marks the order PAID, firing notifications and pushing the order into Odoo



