@startuml

group Флоу НДС в punchout (До реализации интеграции с сервисом NDS в Q1 26)

OMS-> Адаптер: В топик partner.order.confirm передает цену из Order
Адаптер -> Адаптер: Проверяет flow_id
Адаптер -> Адаптер: Компилирует сообщение для punchout
Адаптер -> WTIS: Вызывает метод: /api/order/verification/<order_guid>
WTIS --> Адаптер: answer
alt Если вернулся check_sale_docs == true
Адаптер -> NDS: Запрашивает НДС и производные
NDS --> Адаптер: answer
Адаптер --> Адаптер: Подставляет НДС и производные из ответа сервиса NDS
else Если вернулся check_sale_docs == false
Адаптер --> Адаптер: Рассчитывает НДС и производные по формуле (UnitPrice*20)/120\n(как и было)
end
Адаптер -> Punchout: Отправка заказа

end
@enduml



@startuml

title Флоу НДС в punchout (После реализации интеграции с сервисом NDS в Q1 26)

actor "Триггер" as User
participant "OMS" as OMS
participant "WTIS" as WTIS
participant "NDS" as NDS

User -> OMS: Создание спеки / счета на оплату / триггер ПМП
OMS --> OMS: Заполнение необходимых данных (Блок КА, блок доставок,\nшапка документа и т.д. в зависимости от типа документа)
OMS -> WTIS: Вызывает метод: /api/order/verification/<order_guid>
WTIS --> OMS: answer
alt Если вернулся check_sale_docs == true
OMS -> NDS: Запрашивает НДС и производные
NDS --> OMS: answer
OMS --> OMS: Подставляет НДС и производные из ответа сервиса NDS
else Если вернулся check_sale_docs == false
OMS --> OMS: Рассчитывает НДС и производные по формуле (UnitPrice*20)/120\n(как и было)
end
OMS --> User: answer
@enduml