Можно в принципе объединить оба подхода.

Взять Intercompany и создание закупки из заказа (тоже правла не образец идеальной функциональности). И набором легких движений программера

попытаться заставить эту цепочку сработать.
Все это отлично пока вы не пользуетесь расширенным складом. Потому как и Intercompany и цены/скидки в конце-то концов настроить можно. Но расширенный склад автоматическую обработку прервет на корню.
А если не намерены делать автоматическую генерацию, то при наличии "доводки напильником", то чего я предложил в начале должно хватить.