В розничной торговле часто возникает ситуация, когда покупатель готов внести предоплату за товар, которого в данный момент нет в наличии, а забрать его позже. В конфигурации «1С:Управление торговлей 10.3» (УТ 10.3) стандартная схема работы через документ Чек ККМ для таких операций не подходит. Оформление подобных продаж требует строгого соблюдения требований 54-ФЗ и применения схемы «двух чеков».
В этой статье мы подробно разберем, как правильно выстроить цепочку документов, почему возникают расхождения в Z-отчете и как доработать систему, чтобы чеки пробивались с правильными признаками способа расчета («Предоплата» и «Полный расчет»).
Перед тем как перейти к настройке программы, разберем методологическую часть. Согласно законодательству, это два разных признака способа расчета:
В рассматриваемом случае покупатель выбирает конкретные товары, которых временно нет на складе. Это классическая предоплата, поэтому в первом чеке обязательно должна присутствовать номенклатура.
Реализация товара по предоплате обязывает продавца пробить на онлайн-кассе два отдельных чека в разные моменты времени:
Выясним, как должна выглядеть стандартная цепочка документов в системе для автоматического формирования правильных чеков.
Рассмотрим по шагам процесс приема денежных средств:
Заказ покупателя. В нем детально расписываем всю номенклатуру, количество и цены. Этот документ выступает спецификацией нашей сделки.Приходный кассовый ордер (ПКО) — если клиент платит наличными.Оплата от покупателя по платежной карте — если оплата производится банковской картой через эквайринговый терминал.Важный нюанс: Чтобы в чеке ПКО напечатался список товаров из заказа, ПКО должен быть введен строго на основании заказа покупателя, и в нем должна быть заполнена связь с документом расчетов. При пробитии чека из такого ПКО система автоматически обращается к табличной части заказа-основания и передает ее на фискальный регистратор с признаком «Предоплата».
Когда товар поступает на склад и клиент приходит его забирать, выполняем следующие действия:
Заказ покупателя создаем документ Реализация товаров и услуг. При проведении документа система автоматически зачтет ранее полученный аванс по ПКО или эквайрингу.Реализация товаров и услуг, переходим на вкладку «Фискализация данных» (или нажимаем кнопку «Чек» на панели инструментов) и пробиваем второй чек.Проанализируем две основные проблемы, с которыми часто сталкиваются пользователи при такой схеме работы в УТ 10.3.
Если чек из ПКО физически распечатался на фискальном регистраторе (на нем есть QR-код, заводской номер ККТ и фискальный признак документа), эти деньги физически обязаны попасть в сменный Z-отчет ККТ в графу «Наличные».
Если этого не происходит, возможны следующие причины:
Документ Отчет о розничных продажах (ОРП) в конце смены собирает данные только из проведенных документов «Чек ККМ». То, что суммы по ПКО туда не попадают — это абсолютно нормальное и правильное поведение системы.
Выясним почему: деньги по ПКО проводятся напрямую в кассу предприятия (счет 50.01) в момент оформления документа. Если бы эти суммы попадали еще и в ОРП, в бухгалтерском и управленческом учете произошло бы двоение выручки и остатка наличных в кассе.
Кассир в конце смены сверяет общую наличность в кассовом ящике со сводным показателем: Сумма по ОРП (розница) + Сумма по всем ПКО за день. Полученный итог должен в точности совпадать с Z-отчетом ККТ.
Если в вашей версии УТ 10.3 при печати чека из ПКО товары не переносятся автоматически, либо неверно определяется признак способа расчета, потребуется небольшая доработка кода.
Посмотрим на пример перегрузки процедуры печати чека. Нам необходимо перенаправить логику формирования XML-пакета для ККТ так, чтобы при наличии документа-основания (Заказа) табличная часть бралась из него:
Процедура ПечатьЧекаПКО(ДокументСсылка) Экспорт
// Проверяем, есть ли документ-основание
Если ЗначениеЗаполнено(ДокументСсылка.ДокументОснование)
И ТипЗнч(ДокументСсылка.ДокументОснование) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
ЗаказОбъект = ДокументСсылка.ДокументОснование;
// Создаем таблицу товаров для передачи на ККТ
ТаблицаТоваров = Новый ТаблицаЗначений;
ТаблицаТоваров.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТаблицаТоваров.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("ПризнакСпособаРасчета", Новый ОписаниеТипов("Число")); // Тег 1214
Для Каждого СтрокаТЧ Из ЗаказОбъект.Товары Цикл
НоваяСтрока = ТаблицаТоваров.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);
// Устанавливаем признак "Предоплата" (в терминах ФФД)
НоваяСтрока.ПризнакСпособаРасчета = 1; // 1 - Предоплата, 2 - Предоплата 100%, 3 - Аванс
КонецЦикла;
// Передаем сформированную таблицу в обработку обслуживания ККТ
ПодключитьИВызватьПечатьНаККТ(ТаблицаТоваров, ДокументСсылка.СуммаДокумента);
Иначе
// Если основания нет - пробиваем как "Аванс" общей суммой без товарного состава
ПробитьАвансБезНоменклатуры(ДокументСсылка.СуммаДокумента);
КонецЕсли;
КонецПроцедуры
Используя данный подход, вы сможете гарантировать корректность фискализации предоплат. Программа будет автоматически разделять платежи и отгрузки, формируя правильные признаки расчетов, что полностью обезопасит бизнес от штрафных санкций со стороны налоговых органов.