Concurrent cart modification and checkout conflict errors
Key Takeaway
Custom code that updates the cart must run only after the Checkout API call returns 200 OK, because overlapping updates cause a CHECKOUT_CONFLICT error.
When two processes try to change the same B2B Commerce cart at once, B2B Commerce blocks one of them with a CHECKOUT_CONFLICT error, which keeps one update from silently overwriting another. The buyer sees "Looks like your cart is currently in use. Please try again later." A typical trigger is custom Apex or a Flow updating the cart while the Checkout APIs are still working on it. The fix is to sequence that custom logic so it runs only after the Checkout APIs finish.
Why the conflict happens
Checkout runs background operations called calculators, and these calculators modify the Cart data model. When more than one process modifies the Cart data model at the same time, the result can be data inconsistencies or failed transactions.
The usual cause of the conflict is custom logic, such as an Apex trigger or Flow, updating the cart while the Checkout APIs are also updating it.
A team writes an Apex trigger that recalculates a volume rebate every time the cart total changes. The trigger fires at the same moment Place Order is finalizing the cart. The buyer gets the "cart is currently in use" error instead of an order.