Приветствуем вас! Каждый практикующий бухгалтер или специалист по автоматизации 1С рано или поздно сталкивается с нюансами применения 54-ФЗ. Одной из самых частых и запутанных проблем в период перехода на онлайн-кассы и новые форматы фискальных данных стала ситуация, когда при частичной оплате наличными через Приходный кассовый ордер (ПКО) кассовый аппарат неожиданно для всех печатает в чеке дополнительную строчку «Электронными» (или «Безналичными», «Картой») на сумму неоплаченного остатка.
Давайте подробно разберем, почему возникает эта путаница, в чем кроется физический смысл проблемы на стыке программных модулей 1С и драйверов ККТ, а также как настроить систему для корректного отражения расчетов.
Рассмотрим конкретную практическую ситуацию. Клиент приобретает товар на общую сумму 6350,60 рублей по документу Реализация товаров и услуг. При этом он вносит в кассу наличными только часть суммы — 4000 рублей. Бухгалтер оформляет документ Приходный кассовый ордер (ПКО) на 4000 рублей и нажимает кнопку пробития чека. На выходе из кассы мы получаем чек, в котором написано:
Возникает закономерный вопрос: откуда взялись «Электронные» на сумму 2350,60 рублей, если клиент не прикладывал карту, а оставшаяся сумма просто зависла за ним в качестве долга? Почему налоговая служба должна видеть в ОФД информацию о безналичном расчете, которого фактически не было?
Проанализируем техническую сторону процесса:
Реализации товаров и услуг, программа передает на кассу всю товарную спецификацию исходного документа отгрузки (на сумму 6350,60 руб.). При этом в качестве оплаты наличными 1С передает только сумму самого ПКО — 4000 рублей.В результате получается искажение фискальной отчетности: организация отчитывается перед ФНС за безналичную выручку, которой не существовало.
Начиная с формата фискальных данных (ФФД) версии 1.05, ФНС ввела новые обязательные реквизиты, призванные раз и навсегда решить проблему авансов, предоплат и кредитов. Ключевым нововведением стал реквизит «Признак способа расчета» (тег 1214) и новые типы оплаты в чеке.
Теперь платеж больше не делится искусственно на наличные и электронные. В современных форматах предусмотрены следующие признаки способов расчета:
Если вы столкнулись с автоматическим разделением оплат на «Электронные» в старой редакции конфигурации 1С, вам необходимо выполнить комплекс технических и настроечных мер.
Прежде всего убедитесь, что сама касса и ее программное обеспечение поддерживают современные стандарты. Вам необходимо:
Для того чтобы 1С научилась корректно передавать теги ФФД 1.05, конфигурация должна использовать актуальные библиотеки подключаемого оборудования (БПО). В старых релизах Комплексной автоматизации 1.1 и УПП 1.3 разработчики часто использовали старые механизмы фискализации.
Если конфигурация находится на поддержке, обновите ее до самого последнего доступного релиза. Если база кастомизирована, программисту необходимо обновить интеграционные модули. Разберем пример того, как в коде формируются таблицы оплат и как программа должна передавать признак способа расчета:
// Фрагмент кода интеграционного модуля БПО
ДанныеЧека = Новый Структура;
ДанныеЧека.Вставить("ИдентификаторСубъекта", ОбъектДрайвера);
ТаблицаТоваров = Новый ТаблицаЗначений;
ТаблицаТоваров.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
ТаблицаТоваров.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
ТаблицаТоваров.Колонки.Добавить("ПризнакСпособаРасчета", Новый ОписаниеТипов("Число"));
// Заполняем признак способа расчета "ОПЛАТА_КРЕДИТА" (значение 7 для ФФД 1.05)
НоваяСтрока = ТаблицаТоваров.Добавить();
НоваяСтрока.Наименование = "Оплата по договору поставки";
НоваяСтрока.Количество = 1;
НоваяСтрока.Цена = 4000;
НоваяСтрока.Сумма = 4000;
НоваяСтрока.ПризнакСпособаРасчета = 7; // Оплата кредита
// Передаем только фактическую сумму оплаты наличными
ТаблицаОплат = Новый ТаблицаЗначений;
ТаблицаОплат.Колонки.Добавить("ТипОплаты", Новый ОписаниеТипов("Число"));
ТаблицаОплат.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
СтрокаОплаты = ТаблицаОплат.Добавить();
СтрокаОплаты.ТипОплаты = 0; // Наличные
СтрокаОплаты.Сумма = 4000;
При такой передаче параметров кассовый аппарат четко поймет, что это оплата кредита на сумму 4000 рублей, и не будет пытаться дописывать виртуальные электронные платежи для балансировки чека.
После обновления драйверов и конфигурации выполните проверку настроек торгового оборудования:
Если технический специалист занят, а чеки нужно пробивать без ошибок перед налоговой прямо сейчас, можно использовать два проверенных практических метода:
Реализация товаров и услуг на две части. Первую реализацию сделайте ровно на ту сумму, которую покупатель готов оплатить наличными в данный момент (в нашем примере — на 4000 руб.). Тогда при создании ПКО на основании этой реализации сумма полностью сойдется, и касса выдаст чистый чек с видом оплаты «Наличными» без всяких дописок. На остаток товара (2350,60 руб.) оформите вторую реализацию позже, когда клиент будет готов ее закрыть.Мы надеемся, что данный детальный разбор помог вам разобраться в механике взаимодействия 1С и онлайн-касс. Своевременный переход на актуальные стандарты фискализации сохранит порядок в вашем учете и убережет организацию от лишних вопросов со стороны налоговых органов!