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