Практикуем "предзаказ" если товара нет на точке (или вообще в ассортименте). Происходит это следующим образом:
в бэке формируем "ЗАКАЗ" в котором перечисленны артикулы (если товара нет в ассортименте - вообще пустой).
Потом формирую "виртуальный" товар с артикулом АХХХ, ценой какой-либо (от 1 руб до 100% стоимости товаров из ЗАКАЗА) и на кассу его.
Покупатель пробивает этот товар-получается чек номер ZZZZ (типа гарантия что он придет и заберет заказанный товар).
Когда товар приходит в магазин-звонят покупателю. Покупатель приходит, ему делают возврат на чек номер ZZZZ, и пробивают по полной стоимости товары указанные в "ЗАКАЗЕ".
Косяки возникают при оплате чека ZZZZ электронными картами на этапе ВОЗВРАТА: сей возврат может идти до 30 дней. Поэтому ввели административное ограничение: "аванс" брать только деньгами. Что несколько напрягает.
В крайних версия в описаниях таблиц конвертеров нашел некие "МЯГКИЕ ЧЕКИ" и некие "ЗАКАЗЫ". Вроде-бы все красиво, но никак не могу сообразить - подойдет-ли что-либо для описанной выше ситуации...
З.Ы. Да и с продажей в кредит аналогично делаем: первоначальный взнос грузим на кассу (если он есть), и формируем в бэке чек по виртуальной кассе на полную стоимость проданного товара. Отсюда - головная боль при "сведении" сумм - в бэке одна, на кассе другая, у бухгалтера третья (естественно, когда деньги из банка доходят - все возвращается на круги своя, но неприятно)...