Работа с фискальными чеками РФ
Общая информация
В соответствии с законодательством Российской Федерации всем организациям и большинству индивидуальных предпринимателей при осуществлении расчётов с использованием электронных средств платежа необходимо применять контрольно-кассовую технику (ККТ) и информировать Федеральную налоговую службу (ФНС) о совершённых платежах. Передача данных регулируется Федеральным законом РФ от 22.05.2003 № 54-ФЗ «О применении контрольно-кассовой техники при осуществлении расчётов в Российской Федерации».
ecommpay предоставляет мерчантам возможность работать с фискальными чеками с использованием сервисов «АТОЛ Онлайн» или Orange Data. Для подключения сервиса мерчанту необходимо заключить отдельный договор с компанией-поставщиком услуги, а также получить доступ в личный кабинет на сайте компании. Подробную информацию о подключении следует уточнять у курирующего менеджера ecommpay.
В платёжной платформе ecommpay формирование фискальных чеков с использованием сервисов «АТОЛ Онлайн» или Orange Data возможно при проведении разовых и повторяемых оплат через Payment Page. Данные для формирования фискального чека передаются в виде JSON-объекта, закодированного с использованием алгоритма Base64, в запросах на открытие платёжной формы. После успешного проведения платежа пользователю отправляется фискальный чек, а веб-сервису мерчанта отправляются два оповещения — оповещение с информацией о результате проведения платежа и оповещение с данными фискального чека.
Особенности работы
Общие
- Настройка срока ожидания чека на стороне ecommpay выполняется в зависимости от условий предоставления сервиса. Эти данные необходимо предоставить при подключении сервиса на стороне ecommpay.
- Следует иметь ввиду ограничения кодировки передаваемых строк. Фискальные данные передаются в фискальный накопитель в кодировке CP866, которая поддерживает меньший набор символов, чем кодировка UTF-8. Например, в CP866 отсутствуют символы кавычек («»), поэтому они не передаются в фискальный накопитель. Соответственно, наименование товара Сок «Груша» в фискальном чеке передаётся как Сок Груша.
- При использовании онлайн-касс не осуществляется проверка полученных данных на соответствие форматам фискальных документов (ФФД), утверждённых ФНС России. Например, согласно ФФД телефон покупателя имеет формат +{Ц}, где Ц — это атрибут, обозначающий, что данные реквизита должны быть представлены в виде цифры, а электронный адрес имеет формат {С}@{C}, где С — это атрибут, обозначающий, что данные реквизита должны быть представлены в виде символа. Однако онлайн-кассы принимают любую строку длиной от 1 до 64 символов. Также в онлайн-кассах не выполняется проверка на корректное использование тегов (в том числе реквизита «данные агента»), поэтому мерчантам необходимо ознакомиться с документацией о ФФД, предоставляемой ФНС (документ Форматы фискальных документов, обязательных к использованию), и внимательно следить за использованием тегов в зависимости от конкретного сценария работы.
- В настоящее время сервисы «АТОЛ Онлайн» и Orange Data работают с использованием ФФД 1.05.
- В платёжной платформе ecommpay не выполняется формирование чека коррекции. Такие чеки мерчанту необходимо формировать самостоятельно в личном кабинете сервиса.
- В платёжной платформе ecommpay не выполняется формирование штрих-кода или QR-кода.
Особенности работы с сервисом Orange Data
- Максимальная сумма для одной позиции и максимальная сумма всех позиций составляет 99 999 999,99 рублей. Максимальное количество предмета расчёта — 281 474 976,710655.
- При проведении оплаты с предварительной блокировкой средств отправка чека выполняется после подтверждения оплаты в результате списания блокированных средств. При этом данные для формирования фискального чека можно передавать только в запросе на открытие Payment Page для выполнения блокировки средств.
Особенности работы с сервисом «АТОЛ Онлайн»
- Максимальная сумма для одной позиции и максимальная сумма всех позиций составляет 42 949 672,95 рублей.
- При проведении оплаты с предварительной блокировкой средств отправка чека выполняется после подтверждения оплаты в результате списания блокированных средств. При этом данные для формирования фискального чека можно передавать как в запросе на открытие Payment Page для выполнения блокировки средств, так и в запросе на выполнение списания заблокированных средств (с использованием интерфейса Gate). Если данные не переданы ни в одном из запросов, то операция создания чека отклоняется. В случае изменения суммы оплаты уточнённые данные для формирования фискального чека следует обязательно передать в запросе на выполнение списания заблокированных средств, чтобы операция создания чека не была отклонена.
- При работе с сервисом необходимо обеспечить передачу необязательного параметра
payment_address
, содержащего сведения о реквизите «место расчётов». Значение параметра можно указать либо при подключении возможности работы с фискальными чеками в платёжной платформе, либо передавать в запросах.
Формат данных
Данные для формирования фискального чека передаются в объекте cash_voucher_data
. Этот объект кодируется в строку с использованием алгоритма Base64 для URL. Затем кодированная строка передаётся в параметре cash_voucher_data
в запросе на открытие Payment Page. Структура объекта приведена в модели CashVoucherData в спецификации 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
).
Далее представлен пример преобразования JSON-объекта для последующей его передачи в параметре cash_voucher_data
запроса на открытие Payment Page.
Рис.: Исходный объект 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 } ] }
Рис.: Объект, закодированный с применением алгоритма Base64 для URL
ewogICAgInNlbmRfY2FzaF92b3VjaGVyIjp0cnVlLAogICAgImlubiI6IjUwNTAwOTE3MTkiLAogICAgImdyb3VwIjoibWFpbl8xMjA0IiwKICAgICJ0YXhhdGlvbl9zeXN0ZW0iOjAsCiAgICAiZW1haWwiOiJjY2lvbGtvd3NraUBnbWFpbC5jb20iLAogICAgInBvc2l0aW9ucyI6WwogICAgICB7CiAgICAgICAgInF1YW50aXR5IjoxLAogICAgICAgICJ0YXgiOjEsCiAgICAgICAgInBvc2l0aW9uX2Rlc2NyaXB0aW9uIjoi0JrQvdC40LPQsCDQndCwINCb0YPQvdC1IiwKICAgICAgICAicGF5bWVudF9tZXRob2RfdHlwZSI6NCwKICAgICAgICAicGF5bWVudF9zdWJqZWN0X3R5cGUiOjEsCiAgICAgICAgInByaWNlIjoyNTAwMAogICAgICB9LAogICAgICB7CiAgICAgICAgInF1YW50aXR5IjoyLAogICAgICAgICJ0YXgiOjEsCiAgICAgICAgInBvc2l0aW9uX2Rlc2NyaXB0aW9uIjoi0JzQvtC00LXQu9GMINCw0Y3RgNC-0YHRgtCw0YLQsCIsCiAgICAgICAgInBheW1lbnRfbWV0aG9kX3R5cGUiOjQsCiAgICAgICAgInBheW1lbnRfc3ViamVjdF90eXBlIjoxLAogICAgICAgICJwcmljZSI6NDAwMDAKICAgICAgfQogICAgXSwKICAgICJwYXltZW50cyI6WwogICAgICB7CiAgICAgICAgInBheW1lbnRfdHlwZSI6MiwKICAgICAgICAiYW1vdW50IjoxMDUwMDAKICAgICAgfQogICBdCn0
Рис.: URL для открытия Payment Page с переданным параметром cash_voucher_data
https://paymentpage.ecommpay.com/payment?payment_id=CSMSHP-7654321-778&payment_amount=105000&payment_currency=RUB&project_id=92724&payment_description=CSMSHP_7654321_778®ion_code=ru&language_code=RU&force_payment_method=card&cash_voucher_data=ewogICAgInNlbmRfY2FzaF92b3VjaGVyIjp0cnVlLAogICAgImlubiI6IjUwNTAwOTE3MTkiLAogICAgImdyb3VwIjoibWFpbl8xMjA0IiwKICAgICJ0YXhhdGlvbl9zeXN0ZW0iOjAsCiAgICAiZW1haWwiOiJjY2lvbGtvd3NraUBnbWFpbC5jb20iLAogICAgInBvc2l0aW9ucyI6WwogICAgICB7CiAgICAgICAgInF1YW50aXR5IjoxLAogICAgICAgICJ0YXgiOjEsCiAgICAgICAgInBvc2l0aW9uX2Rlc2NyaXB0aW9uIjoi0JrQvdC40LPQsCDQndCwINCb0YPQvdC1IiwKICAgICAgICAicGF5bWVudF9tZXRob2RfdHlwZSI6NCwKICAgICAgICAicGF5bWVudF9zdWJqZWN0X3R5cGUiOjEsCiAgICAgICAgInByaWNlIjoyNTAwMAogICAgICB9LAogICAgICB7CiAgICAgICAgInF1YW50aXR5IjoyLAogICAgICAgICJ0YXgiOjEsCiAgICAgICAgInBvc2l0aW9uX2Rlc2NyaXB0aW9uIjoi0JzQvtC00LXQu9GMINCw0Y3RgNC-0YHRgtCw0YLQsCIsCiAgICAgICAgInBheW1lbnRfbWV0aG9kX3R5cGUiOjQsCiAgICAgICAgInBheW1lbnRfc3ViamVjdF90eXBlIjoxLAogICAgICAgICJwcmljZSI6NDAwMDAKICAgICAgfQogICAgXSwKICAgICJwYXltZW50cyI6WwogICAgICB7CiAgICAgICAgInBheW1lbnRfdHlwZSI6MiwKICAgICAgICAiYW1vdW50IjoxMDUwMDAKICAgICAgfQogICBdCn0
После успешного проведения оплаты информация о сформированном фискальном чеке передаётся мерчанту в отдельном оповещении. Также оповещение содержит ссылку на страницу платформы ОФД (оператора фискальных данных) со сформированным фискальным чеком. Далее представлен пример таких данных, переданных в оповещении.
Рис.: Пример данных о сформированном фискальном чеке
"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" }
Допустимые значения отдельных параметров
Для ряда параметров, передаваемых в объекте cash_voucher_data
, необходимо знать расшифровку их численных значений. Это параметры, в которых содержится информация о реквизитах фискальных документов согласно требованиям ФНС.
Значение | Расшифровка |
---|---|
0 | Общая, ОСН |
1 | Упрощённая доход, УСН доход |
2 | Упрощённая доход минус расход, УСН доход - расход |
3 | Единый налог на вменённый доход, ЕНВД |
4 | Единый сельскохозяйственный налог, ЕСН |
5 | Патентная система налогообложения, Патент |
Значение | Расшифровка |
---|---|
1 | Ставка НДС 20 % |
2 | Ставка НДС 10 % |
3 | Ставка НДС расч. 20/120 |
4 | Ставка НДС расч. 10/110 |
5 | Ставка НДС 0 % |
6 | НДС не облагается |
Значение | Расшифровка |
---|---|
1 | Предоплата 100 % |
2 | Частичная предоплата |
3 | Аванс |
4 | Полный расчёт |
5 | Частичный расчёт и кредит |
6 | Передача в кредит |
7 | Оплата кредита |
Значение | Расшифровка |
---|---|
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)
Значение | Расшифровка |
---|---|
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 | платежи по добровольному личному страхованию |
Значение | Расшифровка |
---|---|
1 | Сумма по чеку наличными |
2 | Сумма по чеку безналичными |
14 | Сумма по чеку предоплатой (зачётом аванса и (или) предыдущих платежей) |
15 | Сумма по чеку постоплатой (в кредит) |
16 | Сумма по чеку встречным предоставлением |