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