Работа с онлайн-кассами в рамках 54-ФЗ требует от бухгалтера и программиста четкого понимания того, как распределяются товарные позиции в чеке при неполной оплате или при изменении состава заказа. Часто возникают вопросы: как избежать задвоения выручки, если пробивается и отгрузка, и оплата? Что делать, если клиент решил заменить товар после частичной оплаты? В этой статье мы подробно разберем механизмы решения этих ситуаций в 1С.
Для начала проанализируем, почему возникает страх «задвоения» выручки. В современных форматах фискальных данных (ФФД 1.05 и выше) закон разделяет момент передачи товара и момент получения денег. Это ключевой момент для понимания логики 1С. Рассмотрим два основных признака способа расчета:
Важно: Когда вы пробиваете чек из документа Реализация товаров и услуг с признаком «Передача в кредит», сумма по чеку не считается наличной или безналичной выручкой в классическом понимании. Она проходит по кассе как «встречное предоставление». Когда же клиент приносит деньги и вы оформляете Приходный кассовый ордер (ПКО), пробивается чек с признаком «Оплата кредита» — именно в этот момент сумма попадает в фискальный отчет как реальные деньги.
Выясним причину сложности распределения позиций. Когда клиент платит, например, 30% от стоимости реализации, 1С должна решить, за какой именно товар поступили деньги. В программах 1С (УТ 11, КА 2, ERP, Бухгалтерия 3.0) реализовано два основных алгоритма:
1. Пропорциональное распределение. Сумма оплаты распределяется между всеми строками документа реализации. Например, если в заказе два товара по 1000 рублей, а клиент платит 500 рублей, то в чеке ПКО отразятся обе позиции, но сумма оплаты за каждую составит 250 рублей. Цена товара остается прежней, но в поле «сумма» указывается фактическая часть.
2. Попозиционное закрытие (FIFO). Оплата последовательно закрывает строки реализации. В нашем примере 500 рублей полностью закроют половину стоимости первого товара, а второй товар в чеке оплаты может вообще не фигурировать до следующего платежа.
Рассмотрим пример логики распределения суммы в коде (условный алгоритм):
// Упрощенный пример распределения оплаты по позициям
ОстатокОплаты = СуммаДокументаПКО;
Для Каждого СтрокаТовара Из ТаблицаТоваровРеализации Цикл
Если ОстатокОплаты <= 0 Тогда
Прервать;
КонецЕсли;
СуммаКЗачету = Мин(ОстатокОплаты, СтрокаТовара.СуммаКПогашению);
СтрокаТовара.СуммаВЧеке = СуммаКЗачету;
ОстатокОплаты = ОстатокОплаты - СуммаКЗачету;
КонецЦикла;
Ситуация усложняется, когда после частичной оплаты происходит Корректировка реализации. Клиент отказывается от одного товара и выбирает другой. Проанализируем правильный порядок действий, чтобы не нарушить требования 54-ФЗ:
Если вы работаете в актуальных версиях 1С, система автоматически отслеживает состояние взаиморасчетов. При создании ПКО на основании скорректированной реализации 1С предложит заполнить расшифровку платежа с учетом изменившейся задолженности по конкретным позициям номенклатуры.
Часто встречается ситуация, когда часть суммы оплачивается картой (эквайринг), а часть — наличными в рамках одного захода клиента. В 1С это реализуется через сложную оплату в чеке. Посмотрим на алгоритм действий:
Разберем по шагам:
Чеке ККМ или ПКО) указываются оба типа оплаты.Чтобы избежать ошибок «рукожопых» (как выразились участники форума) продавцов, рекомендуем придерживаться следующих правил настройки 1С:
1. Всегда используйте механизм «На основании». Никогда не создавайте ПКО или Эквайринговую операцию вручную отдельно от документов отгрузки, если товар уже передан.
2. Проверьте настройки учетной политики в части ФФД. Для корректного разделения товарной и денежной части необходимо использовать версию протокола 1.05 или выше.
3. Если в компании принята практика отгрузки в долг, обучите персонал печатать чек непосредственно из Реализации товаров и услуг. Это создаст чек с признаком «Передача в кредит» (сумма к оплате 0 руб. живыми деньгами), что полностью соответствует рекомендациям налоговой.
Рассмотрим, какие объекты 1С отвечают за этот процесс. В типовых конфигурациях это справочник ДоговорыКонтрагентов (параметры детализации расчетов), регистры накопления РасчетыСКлиентами и специализированные обработки для взаимодействия с подключаемым оборудованием (кассами). При пробитии чека система обращается к функции СформироватьДанныеЧека, где происходит финальная сборка JSON-структуры для передачи в драйвер ККТ.
Таким образом, правильная работа с частичными оплатами и корректировками в 1С строится на строгом соблюдении последовательности документов и использовании стандартных механизмов распределения оплат, предусмотренных разработчиками конфигурации.