тебе надо не просто ретраить, а сделать так, что бы всё, что идёт после лока, потом выполнилось в нужном порядке) в синхронной системе тут в разы проще, в асунке - уже нихера)
это можно гарантировать на уровне приложения. Ты не можешь отменить счёт, пока счёт не выставлен. Прилетит команда отменить счёт - не найдёт счёта, уйдёт в ретрай до тех пор, пока не прилетит команда выставить счёт. После этого выполнится и отменить счёт, т.к. счёт уже будет выставлен