Как правильно применять ФЗ-54 при настройке и доработке ККТ в 1С

Программист 1С v8.3 (Управляемые формы) Налоговый учет IT и автоматизация бизнеса
← На главную

При работе с контрольно-кассовой техникой (ККТ) в среде 1С критически важно понимать не только техническую сторону подключения драйверов, но и законодательную базу. Федеральный закон № 54-ФЗ постоянно обновляется, и разработчику необходимо учитывать актуальные форматы фискальных данных (ФФД), правила заполнения тегов и специфику различных видов расчетов. В этой статье мы подробно разберем, на что обратить внимание при настройке ККТ, как работать с форматами ФФД 1.05, 1.1 и 1.2, и как правильно фискализировать сложные операции.

Выбор формата фискальных данных: ФФД 1.05, 1.1 или 1.2

Первое, с чем мы сталкиваемся при настройке — это выбор версии ФФД. Рассмотрим основные различия, которые влияют на разработку логики пробития чеков:

  1. ФФД 1.05: Самый распространенный формат на текущий момент. Он позволяет работать с большинством типов расчетов, включая авансы и кредиты. Однако многие теги в нем являются рекомендуемыми, а не обязательными.
  2. ФФД 1.1: Более строгий формат, где расширен перечень обязательных реквизитов. В частности, он требует обязательного наличия счетчиков по типам оплаты и более детальной расшифровки операций.
  3. ФФД 1.2: Обязателен для тех, кто торгует маркированным товаром. В этом формате реализована двухсторонняя связь с системой «Честный ЗНАК». ККТ отправляет запрос о коде маркировки и получает ответ, можно ли продавать данный товар.

Проанализируем ситуацию с тегами покупателя, которые стали обязательными для определенных случаев с июля 2019 года. Речь идет о Тег 1227 (Наименование покупателя) и Тег 1228 (ИНН покупателя). Эти данные необходимы при расчетах между организациями или ИП наличными либо с предъявлением электронной карты через терминал (эквайринг).

Разберем по шагам, как это реализовано в разных ФФД:

Техническая реализация передачи тегов в 1С

Рассмотрим пример того, как данные о покупателе передаются в драйвер ККТ. При формировании структуры чека в 1С мы должны заполнить соответствующие поля. Если мы используем БПО (Библиотеку подключаемого оборудования), объект фискализации должен содержать данные о клиенте.

Посмотрим на пример структуры (в формате JSON, который часто используется драйверами нового поколения, например АТОЛ v10):


{
    "type": "sell",
    "customerInfo": {
        "name": "ООО 'Ромашка'",
        "vatin": "7701234567"
    },
    "items": [
        {
            "type": "position",
            "name": "Оплата по договору №1",
            "price": 1000.00,
            "quantity": 1,
            "amount": 1000.00,
            "paymentMethod": "fullPayment",
            "paymentObject": "service",
            "tax": {
                "type": "vat20"
            }
        }
    ]
}

Здесь name соответствует Тег 1227, а vatin — Тег 1228. При программной доработке важно убедиться, что эти данные подтягиваются из карточки контрагента, если расчет происходит между юридическими лицами.

Специфика расчетов: авансы, взаимозачеты и транспорт

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

Взаимозачеты и удержания: Согласно разъяснениям ФНС (письмо от 21.08.19), ККТ применяется только при расчетах наличными или с использованием электронных средств платежа (ЭСП). Если происходит чистый взаимозачет между организациями (без использования денег или карт), ККТ не требуется. Однако, если вы выдаете товар физлицу в счет зарплаты или удерживаете стоимость порчи имущества, ситуация меняется. Рассмотрим подробнее: в случае удержания из зарплаты за товары/услуги чек пробивать не нужно, так как это не является расчетом в понимании 54-ФЗ (если иное не предусмотрено договором как встречное предоставление).

Транспортные услуги: Проанализируем работу такси и общественного транспорта. Здесь разрешено применять ККТ «вне места расчета». Это означает, что касса может стоять в офисе (облачная касса), а водитель лишь демонстрирует QR-код. Важно помнить, что с 2020 года требования стали жесткими: пассажир должен иметь возможность получить фискальный чек, а не просто бумажный билет.

Настройка оборудования: Штрих-М и АТОЛ

Часто возникают проблемы с тем, что данные передаются в ОФД, но не печатаются на бумажном чеке. Выясним, как это исправить:

  1. Для Штрих-М: Необходимо проверить настройки в таблицах ККТ. В частности, таблицы, отвечающие за формат печати. Часто печать дополнительных тегов (агентских реквизитов или данных покупателя) выключена на уровне прошивки или настроек таблиц. Используйте утилиту «Тест драйвера», чтобы включить флаги печати соответствующих тегов.
  2. Для АТОЛ: При переходе на драйвер 10-й версии убедитесь, что в коде 1С используется актуальный метод СформироватьЧек. В 10-м драйвере работа с параметрами чека стала более объектно-ориентированной.

Разберем пример настройки печати тега в Штрих-М через таблицы:

В «Тесте драйвера» перейдите в раздел «Программирование таблиц», найдите таблицу «Настройки текста» или «Параметры печати» (номер зависит от модели и прошивки) и установите значение 1 для параметров, отвечающих за вывод ИНН и наименования покупателя.

Маркировка и ФФД 1.2: новые вызовы

Если ваша организация занимается торговлей одеждой, обувью, лекарствами или другой маркированной продукцией, вам необходимо перейти на ФФД 1.2. Рассмотрим основные моменты этого перехода:

Проанализируем процесс продажи маркированного товара в коде. При добавлении товара в чек необходимо заполнить поле КодМаркировки (тег 1163). В 1С это обычно реализуется через передачу строки в формате Base64 или Hex, полученной при сканировании DataMatrix.

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

Заключение

Работа с 54-ФЗ в 1С требует комплексного подхода. Мы должны следить за актуальностью прошивок ККТ, версией используемых драйверов и правильностью заполнения метаданных чека в программном коде. Регулярно проверяйте личный кабинет ОФД, чтобы убедиться, что все обязательные теги (особенно ИНН покупателя в B2B-сделках и коды маркировки) успешно передаются в налоговую инспекцию. Помните, что отсутствие обязательного реквизита в чеке делает его недействительным, что может повлечь за собой штрафы как для продавца, так и проблемы с вычетами для покупателя.

← На главную