При разработке собственных конфигураций на платформе 1С или при адаптации типовых решений под требования законодательства о применении контрольно-кассовой техники (54-ФЗ) разработчики и системные администраторы часто сталкиваются с заполнением фискальных тегов. Особую путаницу вызывают схожие по смыслу реквизиты, ошибки в которых могут привести к недействительности фискальных документов и штрафам от налоговых органов. В этой статье мы подробно разберем различия между тегами 1009 и 1187, особенности заполнения тега 1117, а также проанализируем развитие форматов фискальных данных (ФФД).
Очень часто программисты задаются вопросом: чем отличаются эти два тега, если в обоих случаях речь идет о локации, где совершается покупка? Давайте детально проанализируем требования Федеральной налоговой службы (ФНС) к этим реквизитам.
Тег 1009 (Адрес расчетов) — это официальный юридический и физический адрес, по которому стационарно установлена онлайн-касса. Он заполняется при регистрации ККТ в личном кабинете налогоплательщика и жестко записывается в фискальный накопитель. Требования к нему следующие:
1009 указывается адрес установки сервера ККТ (или юридический адрес организации, если используется облачная касса).Тег 1187 (Место расчетов) — это уточняющее описание конкретного места совершения операции, которое помогает покупателю и налоговому инспектору идентифицировать точку продаж визуально. Этот тег заполняется в свободной форме. Здесь можно и нужно указывать:
Магазин "Ромашка", 2 этаж, павильон №5 или Офис продаж "Центральный").1187 обязательно должен быть передан точный URL-адрес интернет-ресурса (например, my-shop.ru).Таким образом, адрес расчетов (тег 1009) отвечает на вопрос «Где касса зарегистрирована по кадастру?», а место расчетов (тег 1187) — «Где именно физически или виртуально происходит сделка?».
Тег 1117 предназначен для указания адреса электронной почты, с которой покупателю отправляется электронный чек. Вокруг этого тега часто возникают споры: указывать ли там реальный почтовый ящик организации-продавца или адрес Оператора фискальных данных (ОФД)?
Рассмотрим практическую сторону реализации этой задачи:
noreply@ofd.ru). Это связано с почтовой безопасностью.1117 личный корпоративный адрес (например, sale@mycompany.ru), почтовые серверы получателей (Яндекс, Mail.ru, Gmail) могут заблокировать такое письмо. Причина — несоответствие записей SPF (Sender Policy Framework) и подписей DKIM, так как письмо фактически отправлено сервером ОФД, а домен принадлежит вашей компании.Поэтому в подавляющем большинстве случаев в теге 1117 указывается адрес почты отправителя, предоставленный вашим ОФД.
На этапе внедрения онлайн-касс разработчики сомневались, стоит ли сразу переходить на формат ФФД 1.1 или оставаться на ФФД 1.05. Время показало, что ФФД 1.1 стал промежуточным этапом. С введением обязательной маркировки товаров («Честный Знак») ФНС разработала и внедрила новый стандарт — ФФД 1.2.
Проанализируем основные различия и статус форматов:
[М] печатаются новые статусы проверки кода:
[М+] — товар успешно проверен, подлинность подтверждена.[М] — проверка не проведена (например, при работе ККТ в автономном режиме без интернета).[М-] — проверка выявила ошибку, код не прошел валидацию.Посмотрим на пример того, как программно передавать необходимые теги при фискализации чека через интеграционную библиотеку драйвера ККТ в 1С. В современных конфигурациях для этого используется специальная XML-структура или структура параметров.
Рассмотрим пример формирования XML-пакета для отправки на кассу с явным указанием необходимых тегов:
// Создаем структуру параметров для чека ККТ
ПараметрыЧека = Новый Структура;
ПараметрыЧека.Вставить("АдресРасчетов", "125009, г. Москва, ул. Тверская, д. 7"); // Тег 1009
ПараметрыЧека.Вставить("МестоРасчетов", "Интернет-магазин 'Моя Торговля'"); // Тег 1187
ПараметрыЧека.Вставить("АдресОтправителя", "noreply@ofd-platform.ru"); // Тег 1117
// Дополнительный признак для интернет-торговли (Тег 1125)
ПараметрыЧека.Вставить("ПризнакРасчетаВИнтернете", Истина);
// Формируем XML для передачи драйверу ККТ
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Document");
ЗаписьXML.ЗаписатьНачалоЭлемента("CheckPackage");
ЗаписьXML.ЗаписатьАтрибут("CashierName", "Иванов И.И.");
ЗаписьXML.ЗаписатьАтрибут("CustomerEmail", "customer@email.ru"); // Email покупателя
// Передаем адресные теги
ЗаписьXML.ЗаписатьАтрибут("AddressSettle", ПараметрыЧека.АдресРасчетов);
ЗаписьXML.ЗаписатьАтрибут("PlaceSettle", ПараметрыЧека.МестоРасчетов);
ЗаписьXML.ЗаписатьАтрибут("SenderEmail", ПараметрыЧека.АдресОтправителя);
// Здесь идет наполнение чека товарными позициями...
ЗаписьXML.ЗаписатьКонецЭлемента(); // CheckPackage
ЗаписьXML.ЗаписатьКонецЭлемента(); // Document
XMLПакет = ЗаписьXML.Закрыть();
При использовании стандартной Библиотеки подключаемого оборудования (БПО) 1С, заполнение этих параметров обычно происходит на уровне настройки торгового оборудования в интерфейсе программы, а также автоматически подтягивается из карточки организации или настроек учетной записи ОФД. Тем не менее при разработке интеграции «с нуля» важно отслеживать корректность сопоставления этих полей в передаваемом XML-пакете драйвера.
Соблюдение этих простых правил заполнения фискальных реквизитов позволит избежать предупреждений от налоговых органов и обеспечит стабильную работу кассового оборудования в вашей компании.