Как правильно оформить безналичную оплату от физического лица на расчетный счет по ФЗ-54 в 1С?

Бухгалтер 1С v8.3 (Обычные формы) 1С:Управление торговлей Бухгалтерский учет Торговля и дистрибуция
← На главную

В современной розничной и оптовой торговле часто возникает ситуация, когда покупатель — физическое лицо — принимает решение оплатить товар не картой через POS-терминал на кассе, а напрямую по реквизитам организации через мобильный банк или отделение банка. Деньги в этом случае поступают непосредственно на расчетный счет компании.

Согласно требованиям Федерального закона № 54-ФЗ, продавец обязан выдать кассовый чек при любых расчетах с физическими лицами, включая безналичные переводы на расчетный счет. Однако на практике эта обязанность вызывает у бухгалтеров и кассиров множество вопросов и технических трудностей. Разберем основные проблемы, с которыми сталкиваются компании, и рассмотрим детальные алгоритмы их решения в программах 1С.

Основные проблемы при фискализации безналичных оплат на расчетный счет

При попытке отразить такие операции в учетной системе стандартными методами возникают два ключевых препятствия:

  1. Расхождение при сверке итогов по банковскому терминалу. Если пробить чек по кассе ККМ в розничной точке как обычную оплату картой, кассовый аппарат зафиксирует тип оплаты «Безналичными» (ранее — «Электронными»). В конце смены при сверке итогов по POS-терминалу сумма безналичных оплат в Z-отчете окажется больше, чем сумма транзакций по терминалу эквайринга. Это связано с тем, что деньги по платежному поручению ушли напрямую в банк, минуя терминал. Кассиру и бухгалтеру становится сложно контролировать реальный эквайринговый поток.
  2. Задвоение списания товаров и выручки в 1С. Если бухгалтер загружает входящее платежное поручение из банка и делает стандартный документ РеализацияТоваровУслуг для списания остатков, а розничный магазин одновременно пробивает чек через документ ЧекККМ (который в конце дня попадает в ОтчетОРозничныхПродажах), возникает двойное списание товаров со склада и двойное отражение выручки по управленческому учету.

Выясним, как построить правильную логику документооборота и решить эти проблемы как в современных конфигурациях 1С, так и в более старых (например, в доработанных версиях 1С:Управление торговлей 10.3).

Суть методологического решения по ФЗ-54 (Двухэтапная фискализация)

Согласно разъяснениям Министерства финансов и налоговых органов, если момент оплаты и момент передачи товара не совпадают во времени (что практически всегда происходит при оплате на расчетный счет), организация обязана сформировать два кассовых чека:

  1. Первый чек (на получение оплаты): пробивается в момент зачисления денежных средств на расчетный счет компании (не позднее рабочего дня, следующего за днем расчета). Признак способа расчета в этом чеке должен быть установлен как «Предоплата 100%» или «Аванс». Способ оплаты — «Безналичными».
  2. Второй чек (на передачу товара): формируется непосредственно в момент выдачи или отправки товара покупателю. Признак способа расчета в данном чеке — «Полный расчет». Способ оплаты указывается как «Зачет аванса» (или «Встречное предоставление»). Важно отметить, что по второму чеку кассовый аппарат фиксирует сумму наличных и безналичных средств равной 0 рублей, так как происходит лишь зачет ранее внесенных денег. Такой чек не увеличивает итоговую денежную выручку смены ККМ и не приводит к расхождениям.

Решение проблемы в современных типовых конфигурациях 1С (УТ 11, КА 2, ERP, БП 3.0)

В современных конфигурациях 1С этот функционал реализован на уровне платформы и не требует доработок кода. Рассмотрим пошагово, как должна выглядеть цепочка документов:

  1. Оформление поступления денег. При загрузке банковской выписки создаем документ ПоступлениеБезналичныхДенежныхСредств с видом операции «Оплата от покупателя». Выбираем контрагента (физическое лицо) и договор.
  2. Пробитие первого чека (Предоплата). Непосредственно из документа ПоступлениеБезналичныхДенежныхСредств нажимаем кнопку «Пробить чек». Программа автоматически сформирует XML-пакет для ККТ с признаком способа расчета «Предоплата 100%» и типом оплаты «Безналичными». Физический товар на данном этапе со склада не списывается.
  3. Отгрузка товара. Когда покупатель приезжает за товаром, менеджер оформляет документ РеализацияТоваровУслуг. Этот документ списывает остатки со склада и закрывает взаиморасчеты по договору с контрагентом.
  4. Пробитие второго чека (Полный расчет). Из созданного документа РеализацияТоваровУслуг нажимаем кнопку «Пробить чек». Система анализирует структуру подчиненных документов, видит ранее проведенное поступление безналичных денежных средств и автоматически отправляет на фискальный накопитель чек с признаком «Полный расчет» и способом оплаты «Зачет аванса».

При такой схеме товар списывается строго один раз (документом реализации), а выручка отражается корректно и без удваивания.

Решение проблемы в устаревших и перепиленных конфигурациях (на примере 1С:Управление торговлей 10.3)

Если ваша база данных существенно доработана и обновиться на современную версию нет возможности, логику пробития чеков придется дописать программисту. Проанализируем, как решить технические проблемы разделения потоков денежных средств и автоматизации пробития.

Настройка видов оплат для исключения расхождений в Z-отчете

Чтобы кассир в конце дня не путался при сверке итогов по POS-терминалу, нам необходимо разделить виды безналичных оплат в самой системе 1С. Для этого выполним следующие действия:

  1. Перейдем в справочник видов оплат кассы ККМ и добавим новый элемент, например, «Оплата на расчетный счет (ФЗ-54)» с типом оплаты «Безналичные».
  2. Для стандартного эквайринга оставим вид оплаты «Оплата платежной картой».
  3. На уровне кода обработки обслуживания ККМ настроим сопоставление. При пробитии чека на физический фискальный регистратор в обоих случаях будет уходить одна и та же команда оплаты «Безналичными» (так как ФФД не разделяет карты и переводы на р/с внутри ККТ).
  4. В самой 1С эти платежи будут разноситься на разные аналитические счета учета: карты — на счет 57 «Переводы в пути» (через документ ОплатаОтПокупателяПлатежнойКартой), а безналичные переводы на расчетный счет — сразу на 51 счет через выписку. При закрытии смены кассир будет четко видеть, какая часть безналичной выручки пришла через терминал, а какая — напрямую в банк.

Техническая реализация пробития чека из платежного поручения

Для программиста задача сводится к созданию механизма фискализации из документа ПлатежноеПоручениеВходящее. Рассмотрим пример упрощенного кода, который можно интегрировать в форму документа или встроить в виде внешней подключаемой обработки для пробития чека на аванс:


Процедура ПробитьЧекНаПредоплату(ДокументСсылка) Экспорт
    
    // Получаем объект фискального регистратора
    ПоддерживаемоеОборудование = ПолучитьОбработкуОбслуживанияККМ();
    
    // Создаем структуру параметров чека
    ПараметрыЧека = Новый Структура;
    ПараметрыЧека.Вставить("ПризнакРасчета", Перечисления.ПризнакиРасчета.Приход);
    ПараметрыЧека.Вставить("ПризнакСпособаРасчета", Перечисления.ПризнакиСпособаРасчета.Предоплата100);
    
    ТаблицаТоваров = Новый ТаблицаЗначений;
    ТаблицаТоваров.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
    ТаблицаТоваров.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    ТаблицаТоваров.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
    ТаблицаТоваров.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
    ТаблицаТоваров.Колонки.Добавить("СтавкаНДС", Новый ОписаниеТипов("ПеречислениеСсылка.СтавкиНДС"));
    
    // Заполняем табличную часть на основе расшифровки платежа
    Для Каждого СтрокаПлатежа Из ДокументСсылка.РасшифровкаПлатежа Цикл
        НоваяСтрока = ТаблицаТоваров.Добавить();
        НоваяСтрока.Номенклатура = СтрокаПлатежа.СтатьяДвиженияДенежныхСредств; // Или обобщенная позиция "Предоплата по договору"
        НоваяСтрока.Количество = 1;
        НоваяСтрока.Цена = СтрокаПлатежа.СуммаПлатежа;
        НоваяСтрока.Сумма = СтрокаПлатежа.СуммаПлатежа;
        НоваяСтрока.СтавкаНДС = СтрокаПлатежа.СтавкаНДС;
    КонецЦикла;
    
    ПараметрыЧека.Vставить("Товары", ТаблицаТоваров);
    ПараметрыЧека.Вставить("ТипОплаты", Перечисления.ТипыОплатыЧека.Безналичные);
    
    // Вызов функции фискализации драйвера ККТ
    РезультатПечати = ПоддерживаемоеОборудование.ПечатьЧека(ПараметрыЧека);
    
    Если Не РезультатПечати Тогда
        ВызватьИсключение "Ошибка печати чека на ККМ!";
    КонецЕсли;

КонецПроцедуры

Памятка для бухгалтера и кассира (Чек-лист успешной работы)

Чтобы избежать штрафов со стороны налоговых органов за неприменение ККТ и не запутаться в учете, рекомендуем придерживаться следующего чек-листа:

Использование данной методологии позволит вам полностью соблюдать требования ФЗ-54, сохраняя порядок в бухгалтерском и складском учете программного комплекса 1С.

← На главную