При работе с контрольно-кассовой техникой (ККТ) в среде 1С критически важно понимать не только техническую сторону подключения драйверов, но и законодательную базу. Федеральный закон № 54-ФЗ постоянно обновляется, и разработчику необходимо учитывать актуальные форматы фискальных данных (ФФД), правила заполнения тегов и специфику различных видов расчетов. В этой статье мы подробно разберем, на что обратить внимание при настройке ККТ, как работать с форматами ФФД 1.05, 1.1 и 1.2, и как правильно фискализировать сложные операции.
Первое, с чем мы сталкиваемся при настройке — это выбор версии ФФД. Рассмотрим основные различия, которые влияют на разработку логики пробития чеков:
Проанализируем ситуацию с тегами покупателя, которые стали обязательными для определенных случаев с июля 2019 года. Речь идет о Тег 1227 (Наименование покупателя) и Тег 1228 (ИНН покупателя). Эти данные необходимы при расчетах между организациями или ИП наличными либо с предъявлением электронной карты через терминал (эквайринг).
Разберем по шагам, как это реализовано в разных ФФД:
Тег 1227 можно не включать, а Тег 1228 рекомендуется включать, но его отсутствие не является критической ошибкой (хотя для корректного принятия расходов покупателем он необходим).Тег 1228 (ИНН) становится строго обязательным для B2B-расчетов.Рассмотрим пример того, как данные о покупателе передаются в драйвер ККТ. При формировании структуры чека в 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 года требования стали жесткими: пассажир должен иметь возможность получить фискальный чек, а не просто бумажный билет.
Часто возникают проблемы с тем, что данные передаются в ОФД, но не печатаются на бумажном чеке. Выясним, как это исправить:
СформироватьЧек. В 10-м драйвере работа с параметрами чека стала более объектно-ориентированной.Разберем пример настройки печати тега в Штрих-М через таблицы:
В «Тесте драйвера» перейдите в раздел «Программирование таблиц», найдите таблицу «Настройки текста» или «Параметры печати» (номер зависит от модели и прошивки) и установите значение 1 для параметров, отвечающих за вывод ИНН и наименования покупателя.
Если ваша организация занимается торговлей одеждой, обувью, лекарствами или другой маркированной продукцией, вам необходимо перейти на ФФД 1.2. Рассмотрим основные моменты этого перехода:
[M+].Проанализируем процесс продажи маркированного товара в коде. При добавлении товара в чек необходимо заполнить поле КодМаркировки (тег 1163). В 1С это обычно реализуется через передачу строки в формате Base64 или Hex, полученной при сканировании DataMatrix.
Важно помнить, что при возврате маркированного товара процедура аналогична: код маркировки должен быть снова проверен и возвращен в оборот через фискальный признак в чеке возврата.
Работа с 54-ФЗ в 1С требует комплексного подхода. Мы должны следить за актуальностью прошивок ККТ, версией используемых драйверов и правильностью заполнения метаданных чека в программном коде. Регулярно проверяйте личный кабинет ОФД, чтобы убедиться, что все обязательные теги (особенно ИНН покупателя в B2B-сделках и коды маркировки) успешно передаются в налоговую инспекцию. Помните, что отсутствие обязательного реквизита в чеке делает его недействительным, что может повлечь за собой штрафы как для продавца, так и проблемы с вычетами для покупателя.