Организация процесса продаж, при котором покупатель приобретает товар, отсутствующий в конкретном магазине, является классической задачей для омниканальной розницы. Часто возникает соблазн просто «пробить» товар, которого нет на остатках, а затем «выровнять» складские остатки перемещениями задним числом. Однако такой подход чреват серьезными ошибками в учете, себестоимости и налоговой отчетности. Давайте разберем, как реализовать этот процесс методологически верно.
Когда вы продаете товар, которого нет в магазине, и пытаетесь списать его в минус, возникают следующие проблемы:
Наиболее надежный путь — это разделение процесса продажи на два этапа: принятие денег от клиента и фактическая отгрузка товара. Рассмотрим шаги реализации этой схемы:
ЗаказПокупателя. В нем фиксируется номенклатура, которую хочет купить клиент, и выбирается склад, на котором этот товар фактически находится (или распределительный центр).ПриходныйКассовыйОрдер или ОперацияПоПлатежнойКарте на основании заказа. На кассе формируется чек с признаком способа расчета «Предоплата 100%». В этот момент товар с остатков магазина не списывается.ПеремещениеТоваров, который инициирует доставку товара со склада, где он есть, в магазин выдачи или напрямую по адресу покупателя.РеализацияТоваровУслуг (или ОтчетОРозничныхПродажах). В этот момент кассовое ПО формирует чек с признаком «Зачет предоплаты». Именно сейчас происходит списание товара с остатков и признание выручки в учете.Если вы хотите упростить работу продавцов, можно организовать «виртуальный» или «транзитный» склад. Рассмотрим, как это работает:
Вместо прямого списания с основного склада магазина, используйте промежуточный склад для оформления таких заказов. Это позволяет сгруппировать все товары «под заказ» в одном месте системы.
Пример логики работы с транзитным складом:
// Пример псевдокода для резервирования при создании заказа
Заказ = Документы.ЗаказПокупателя.СоздатьДокумент();
Заказ.Склад = Справочники.Склады.ТранзитныйСклад;
Заказ.Товары.Добавить(Товар, Количество);
Заказ.Записать();
// Резервирование товара на целевом складе
Движения.РезервыТоваров.Записать();
Для корректной работы системы важно доработать автоматизацию взаимодействия складов. Помните следующие правила:
РегистрНакопления.ТоварыНаСкладах. Все движения должны происходить строго через документы Перемещение и Реализация после того, как товар фактически попал на баланс склада.Реализуя описанную схему, вы защитите бизнес от претензий контролирующих органов и обеспечите чистоту складского учета. Использование механизмов ЗаказПокупателя и ЗачетПредоплаты — это отраслевой стандарт для сетей, торгующих под заказ.