Работа с фискальными чеками РФ

Общая информация

В соответствии с законодательством Российской Федерации всем организациям и большинству индивидуальных предпринимателей при осуществлении расчётов с использованием электронных средств платежа необходимо применять контрольно-кассовую технику и информировать Федеральную налоговую службу о совершённых платежах. При этом передача данных в налоговую службу регулируется Федеральным законом РФ от 22.05.2003 № 54-ФЗ «О применении контрольно-кассовой техники при осуществлении расчётов в Российской Федерации».

Платёжная платформа ecommpay позволяет организовывать работу с фискальными чеками через сервисы фискализации «АТОЛ Онлайн» и Orange Data. Для подключения какого-либо из этих сервисов со стороны мерчанта необходимо заключить соответствующий договор с компанией — поставщиком услуги; при этом с вопросами о подключении можно обращаться к курирующему менеджеру.

В платёжной платформе ecommpay формирование фискальных чеков с использованием сервисов фискализации возможно при проведении разовых и повторяемых оплат, оплат по платёжным ссылкам, выплат и возвратов платёжных средств. Данные для формирования фискального чека передаются через Gate в виде JSON-объекта в запросах на выполнение операций sale, auth, capture, invoice, refund, reversal, recurring и payout. После успешного выполнения соответствующей операции или, в случае с оплатами по платёжным ссылкам, выполнения оплаты пользователю отправляется фискальный чек, а веб-сервису мерчанта отправляются два оповещения — оповещение с информацией о выполненной операции и оповещение с данными фискального чека.

Особенности работы

Общие

  • Настройка срока ожидания чека на стороне ecommpay выполняется в зависимости от условий предоставления сервиса. Эти данные необходимо предоставить при подключении сервиса на стороне ecommpay.
  • Следует иметь ввиду ограничения кодировки передаваемых строк. Фискальные данные передаются в фискальный накопитель в кодировке CP866, которая поддерживает меньший набор символов, чем кодировка UTF-8. Например, в CP866 отсутствуют символы кавычек («»), поэтому они не передаются в фискальный накопитель. Соответственно, наименование товара Сок «Груша» в фискальном чеке передаётся как Сок Груша.
  • При использовании онлайн-касс не осуществляется проверка полученных данных на соответствие форматам фискальных документов (ФФД), утверждённых ФНС России. Например, согласно ФФД телефон покупателя имеет формат +{Ц}, где Ц — это атрибут, обозначающий, что данные реквизита должны быть представлены в виде цифры, а электронный адрес имеет формат {С}@{C}, где С — это атрибут, обозначающий, что данные реквизита должны быть представлены в виде символа. Однако онлайн-кассы принимают любую строку длиной от 1 до 64 символов. Также в онлайн-кассах не выполняется проверка на корректное использование тегов (в том числе реквизита «данные агента»), поэтому мерчантам необходимо ознакомиться с документацией о ФФД, предоставляемой ФНС (документ Форматы фискальных документов, обязательных к использованию), и внимательно следить за использованием тегов в зависимости от конкретного сценария работы.
  • В настоящее время сервис «АТОЛ Онлайн» работает с использованием ФФД 1.05. Сервис Orange Data поддерживает ФФД 1.05 и 1.2.
  • В платёжной платформе ecommpay не выполняется формирование чека коррекции. Такие чеки мерчанту необходимо формировать через сервис фискализации.
  • В платёжной платформе ecommpay не выполняется формирование штрих-кода или QR-кода.
  • При выполнении операции refund на неполную сумму возврата в запросе необходимо указать фискальные данные. В противном случае операция создания чека отклоняется.

Особенности работы с сервисом Orange Data

  • Максимальная сумма для одной позиции и максимальная сумма всех позиций составляет 99 999 999,99 рублей. Максимальное количество предмета расчёта — 281 474 976,710655.
  • При проведении оплаты с предварительной блокировкой средств отправка чека выполняется после подтверждения оплаты в результате выполнения операции capture. При этом мерчант может передать данные для формирования фискального чека только в запросе на выполнение операции auth.

Особенности работы с сервисом «АТОЛ Онлайн»

  • Максимальная сумма для одной позиции и максимальная сумма всех позиций составляет 42 949 672,95 рублей.
  • При проведении оплаты с предварительной блокировкой средств отправка чека выполняется после подтверждения оплаты в результате выполнения операции capture. При этом данные для формирования фискального чека можно передавать как в запросе на выполнение операции auth, так и операции capture. Если данные не переданы ни в одном из запросов, то операция создания чека отклоняется. В случае изменения суммы оплаты уточнённые данные для формирования фискального чека следует обязательно передать в запросе на выполнение операции capture, чтобы операция создания чека не была отклонена.
  • При работе с сервисом необходимо обеспечить передачу необязательного параметра payment_address, содержащего сведения о реквизите «место расчётов». Значение параметра можно указать либо при подключении возможности работы с фискальными чеками в платёжной платформе, либо передавать в запросах.
  • Если по каким-либо причинам чек не был сформирован после успешного проведения платежа, можно отправить запрос на выполнение операции по созданию фискального чека повторно. Для этого отправляется запрос к конечной точке /v2/cash-voucher/recreate с обязательным указанием JSON-объектов general и object_info (подробнее о параметрах, передаваемых в этом запросе — в разделе Формат запроса для повторного создания чека). Если в запросе на проведение платежа мерчант не передал данные для формирования фискального чека, их необходимо отправить в запросе на выполнение операции повторного создания фискального чека. В противном случае операция создания чека отклоняется.

    Следует помнить, что в соответствии с законом 54-ФЗ чек необходимо отправить в течение одного расчётного дня (24 часа) с момента поступления денежных средств на счёт мерчанта. Если с этого момента прошло более 24 часов, запрос на повторное формирование фискального чека отправлять не следует. Вместо этого мерчанту необходимо сформировать чек коррекции через сервис фискализации.

  • Сервис поддерживает возможность аннулирования фискального чека. Чтобы аннулировать фискальный чек, необходимо обратиться к специалистам технической поддержки support@ecommpay.com.

Формат данных для формирования чека

Данные для формирования фискального чека передаются в объекте cash_voucher_data. Структура объекта приведена в модели CashVoucherData в спецификации Gate API.

В объекте cash_voucher_data следующие параметры являются обязательными при работе с сервисами «АТОЛ Онлайн» и Orange Data:

  • email — адрес электронной почты пользователя;
  • inn — ИНН мерчанта;
  • taxation_system — применяемая система налогообложения.

Параметр group, в котором передаётся наименование группы торговых устройств, используемых для выдачи фискального чека, является обязательным при работе с сервисом «АТОЛ Онлайн» и необязательным при работе с сервисом Orange Data.

Также в объекте передаются два массива:

  • positions с перечислением товарных позиций чека. Параметры price для указания стоимости, position_description для описания товара или услуги и tax для определения ставки налога на добавленную стоимость являются обязательными. При работе с сервисом «АТОЛ Онлайн» параметр quantity для указания количества единиц товарной позиции является обязательным; при работе с сервисом Orange Data — необязательным.
  • payments с указанием типа и суммы оплаты (в параметрах payment_type и amount).

В представленном далее примере запроса на проведение оплаты в объекте cash_voucher_data содержится список из двух товарных позиций в массиве positions.

Рис.: Пример запроса на оплату с указанием фискальных данных

{
  "general":{
    "project_id":92724,
    "payment_id":"CSMSHP-7654321-778",
    "signature":"5fgffgFxFLYGsBgremiffddgYuezUf+6VWlrssH+LysUfdQM+w=="
  },
  "customer":{
    "ip_address":"84.47.129.12"
  },
  "payment":{
    "amount":105000,
    "currency":"RUB"
  },
  "card":{
    "pan":"4314220000000056",
    "year":2024,
    "month":10,
    "card_holder":"CONSTANTINE CIOLKOWSKI",
    "cvv":"517"
  },
  "cash_voucher_data":{
    "send_cash_voucher":true,
    "inn":"5050091719",
    "group":"main_1204",
    "taxation_system":0,
    "email":"cciolkowski@gmail.com",
    "positions":[
      {
        "quantity":1,
        "tax":1,
        "position_description":"Книга На Луне",
        "payment_method_type":4,
        "payment_subject_type":1,
        "price":25000
      },
      {
        "quantity":2,
        "tax":1,
        "position_description":"Модель аэростата",
        "payment_method_type":4,
        "payment_subject_type":1,
        "price":40000
      }
    ],
    "payments":[
      {
        "payment_type":2,
        "amount":105000
      }
    ]
  }
}

После успешного проведения оплаты информация о сформированном фискальном чеке передаётся мерчанту в отдельном оповещении. Также оповещение содержит ссылку на страницу платформы ОФД (оператора фискальных данных) со сформированным фискальным чеком. Далее представлен пример таких данных, переданных в оповещении.

Рис.: Пример данных о сформированном фискальном чеке

"cash_voucher_info":{
    "type": "cash_voucher_info",
    "device_rn": "00000000017190509",
    "fp": 164316,
    "document_number": 643,
    "document_index": 124,
    "fs_number": "9468906279",
    "fns_website": "www.nalog.ru",
    "processed_at": "2020-09-17T12:04:00+00:00",
    "shift_number": 138,
    "ofd_inn": "5551260691",
    "ofd_website": "https://lk.platformaofd.ru/web/noauth/cheque?fn=9468906279&fp=164316&i=643"
}

Формат запроса для повторного создания чека

При формировании запросов для повторного создания фискальных чеков необходимо учитывать следующее:

  1. POST-запрос должен отправляться к конечной точке /v2/cash-voucher/recreate.
  2. В запросе должны использоваться следующие объекты и параметры:
      • general — объект, содержащий основные идентификационные сведения запроса:
        • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
        • payment_id — идентификатор платежа, уникальный в рамках проекта мерчанта;
        • signature — подпись запроса, составленная после указания целевых параметров;
      • object_info — объект c идентификатором операции operation_id, созданной в рамках выполнения запроса на проведение платежа.
  3. Если в запросе на проведение платежа, для которого необходимо сформировать фискальный чек, не были переданы фискальные данные или требуется отправить уточнённые фискальные данные, они должны быть переданы в объекте cash_voucher_data.

Таким образом, корректный запрос для повторного формирования фискального чека должен содержать идентификаторы проекта и платежа, подпись, а также идентификатор операции, созданной в рамках выполнения запроса на проведение платежа.

Далее представлен пример тела запроса для повторного формирования фискального чека после успешного проведения одностадийной оплаты с указанием идентификатора операции sale, созданной в рамках выполнения запроса на оплату.

Рис.: Пример запроса для повторного создания чека

{
  "general":{
    "project_id": 92724,
    "payment_id": "CSMSHP-7654321-778",
    "signature": "5fgsjhgfgFxO9UaFLYGsBgremiffddgYuezUf+6VWlrsdfsH+LysUfdQM+w=="
  },
  "object_info":{
    "operation_id": 81727121126762 \\идентификатор операции sale
  }
}

Допустимые значения отдельных параметров

Для ряда параметров, передаваемых в объекте cash_voucher_data, необходимо знать расшифровку их численных значений. Это параметры, в которых содержится информация о реквизитах фискальных документов согласно требованиям ФНС.

Табл. 1. Система налогообложения (параметр taxation_system)
Значение Расшифровка
0 Общая, ОСН
1 Упрощённая доход, УСН доход
2 Упрощённая доход минус расход, УСН доход - расход
3 Единый налог на вменённый доход, ЕНВД
4 Единый сельскохозяйственный налог, ЕСН
5 Патентная система налогообложения, Патент
Табл. 2. Ставка НДС (параметр tax)
Значение Расшифровка
1 Ставка НДС 20 %
2 Ставка НДС 10 %
3 Ставка НДС расч. 20/120
4 Ставка НДС расч. 10/110
5 Ставка НДС 0 %
6 НДС не облагается
Табл. 3. Признак способа расчёта (параметр payment_method_type)
Значение Расшифровка
1 Предоплата 100 %
2 Частичная предоплата
3 Аванс
4 Полный расчёт
5 Частичный расчёт и кредит
6 Передача в кредит
7 Оплата кредита
Табл. 4. Признак предмета расчёта (параметр payment_subject_type)
Значение Расшифровка
1 Товар
2 Подакцизный товар
3 Работа
4 Услуга
5 Ставка азартной игры
6 Выигрыш азартной игры
7 Лотерейный билет
8 Выигрыш лотереи
9 Предоставление РИД
10 Платеж
11 Агентское вознаграждение
12 Составной предмет расчета
13 Иной предмет расчета
14 Имущественное право
15 Внереализационный доход
16 Страховые взносы
17 Торговый сбор
18 Курортный сбор
Прим.: При передаче значений 15 или 16 в параметре payment_subject_type мерчанту необходимо передать численное значение в параметре position_description. Если передаётся значение 15 (внереализационный доход), то параметр position_description должен принимать численное значение от 1 до 25. Если передаётся значение 16 (страховые взносы), то параметр position_description должен принимать численное значение от 26 до 31. Подробная информация о расшифровке этих значений представлена в таблице «Наименование предмета расчёта».

Рис.: Наименование предмета расчёта (параметр position_description)

Табл. 5.
Значение Расшифровка
1 доход от долевого участия в других организациях
2 доход в виде курсовой разницы, образующейся вследствие отклонения курса продажи (покупки) иностранной валюты от официального курса
3 доход в виде подлежащих уплате должником штрафов, пеней и (или) иных санкций за нарушение договорных обязательств
4 доход от сдачи имущества (включая земельные участки) в аренду (субаренду)
5 доход от предоставления в пользование прав на результаты интеллектуальной деятельности
6 доход в виде процентов, полученных по договорам займа и другим долговым обязательствам
7 доход в виде сумм восстановленных резервов
8 доход в виде безвозмездно полученного имущества (работ, услуг) или имущественных прав
9 доход в виде дохода, распределяемого в пользу налогоплательщика при его участии в простом товариществе
10 доход в виде дохода прошлых лет, выявленного в отчётном (налоговом) периоде
11 доход в виде положительной курсовой разницы
12 доход в виде основных средств и нематериальных активов, безвозмездно полученных атомными станциями
13 доход в виде стоимости полученных материалов при ликвидации выводимых из эксплуатации основных средств
14 доход в виде использованных не по целевому назначению работ, услуг, имущества
15 доход в виде использованных не по целевому назначению средств, предназначенных для формирования резервов по обеспечению безопасности производств
16 доход в виде сумм, на которые уменьшен уставной (складочный) капитал (фонд) организации
17 доход в виде сумм возврата от некоммерческой организации ранее уплаченных взносов (вкладов)
18 доход в виде сумм кредиторской задолженности, списанной в связи с истечением срока исковой давности или по другим основаниям
19 доход в виде доходов, полученных от операций с производными финансовыми инструментами
20 доход в виде стоимости излишков материально-производственных запасов и прочего имущества, которые выявлены в результате инвентаризации
21 доход в виде стоимости продукции СМИ и книжной продукции, подлежащей замене при возврате либо при списании
22 доход в виде сумм корректировки прибыли налогоплательщика
23 доход в виде возвращённого денежного эквивалента недвижимого имущества и (или) ценных бумаг, переданных на пополнение целевого капитала некоммерческой организации
24 доход в виде разницы между суммой налоговых вычетов из сумм акциза и указанных сумм акциза
25 доход в виде прибыли контролируемой иностранной компании
26 взносы на ОПС
27 взносы на ОСС в связи с нетрудоспособностью
28 взносы на ОМС
29 взносы на ОСС от несчастных случаев
30 пособие по временной нетрудоспособности
31 платежи по добровольному личному страхованию
Табл. 6. Тип оплаты (параметр payment_type)
Значение Расшифровка
1 Сумма по чеку наличными
2 Сумма по чеку безналичными
14 Сумма по чеку предоплатой (зачётом аванса и (или) предыдущих платежей)
15 Сумма по чеку постоплатой (в кредит)
16 Сумма по чеку встречным предоставлением