Перейти к основному содержимому

Описание API (коннектор АТОЛ Онлайн)

Сервис предназначен для удаленной регистрации (фискализации) чеков на арендованных клиентом у Эвотор кассах (ККТ) посредством разработанного клиентского API.

Версия сервиса v5 поддерживает регистрацию чеков формата фискальных данных версии 1.2 (ФФД 1.2) согласно вступившему в силу приказу ФНС России от 14.09.2020 № ЕД-7-20/662@.

Для начала регистрации чеков через API необходимо предварительно пройти процедуру регистрации компании (магазина) и получить учетные данные (логин, пароль, идентификатор группы ККТ) посредством Личного кабинета Эвотор

Общий алгоритм взаимодействия с сервисом через API

После получения учетных данных необходимо получить токен авторизации используя запрос, описанный в соответствующем разделе.

Для отправки чека на регистрацию в ККТ необходимо воспользоваться POST-запросом. В случае корректного запроса сервис пришлет ответ, содержащий уникальный идентификатор, присвоенный данному документу и статус.

Результат регистрации чека на ККТ может быть получен двумя способами:

  • В случае, если в запросе на регистрацию был указан callback_url, сервис по результатам обработки чека вернет POST запрос на этот URL.
  • В случае, если callback_url не был указан или запрос не пришел, клиент самостоятельно может запросить результат обработки чека GET-запросом к сервису, описанному в разделе Получение результата обработки документа.

UML-диаграмма работы API

Авторизация пользователя

Описание

Для отправки чеков через API необходимо получить авторизационный токен одним из описанных ниже методов.

Авторизационный токен, дает право доступа к системе посредством интеграционного API в течение 24 часов с момента его формирования. Токен должен передаваться в качестве параметра во все методы API сервиса. Максимальная длина токена – 1000 символов.

Если в течение 24 часов с момента запроса токена повторно запросить токен, то вы получите новый токен и время его жизни будет так же 24 часа, либо ранее полученный токен и время его жизни будет 24 часа от момента первого получения клиентом этого токена. Количество одновременно действующих токенов, которые может получить клиент равно количеству реплик сервиса Эвотор, работающих в текущий момент. Рекомендуется запрашивать новый токен только при получении от сервиса ошибки об истечении времени жизни предыдущего токена.

Например, вы запросили повторно токен спустя 10 часов с момента первого запроса. Вы получите новый токен и он будет действовать еще 24 часа, либо ранее выданный токен и он будет действовать 14 часов с момента этого запроса (24 часа с момента его первой выдачи клиенту).

POST запрос

POST https://fiscalization.evotor.ru/possystem/v5/getToken

Заголовок запроса должен содержать параметр:

Content-type: application/json; charset=utf-8

Тело запроса должно содержать документ в формате JSON, соответствующий схеме.

Пример запроса
curl -X POST "https://fiscalization.evotor.ru/possystem/v5/getToken" \
-H "Content-type: application/json; charset=utf-8" \
-d '{
"login": "3G5aGT8Xfs",
"pass": "8IKyTEs1Zk"
}'

Параметры запроса:

  • login: логин из настроек интеграции
  • pass: пароль из настроек интеграции

GET запрос

GET https://fiscalization.evotor.ru/possystem/v5/getToken?login=<login>&pass=<pass>

Ответ на запрос

Пример ответа
{
"error": null,
"token": "fj45u923j59ju42395iu9423i59243u0",
"timestamp": "30.11.22 17:58:53"
}
Пример ответа с ошибкой
{
"error": {
"error_id": "20003",
"code": 12,
"text": "Неверный логин или пароль",
"type": "system"
},
"timestamp": null
}

Параметры ответа на запрос:

  • error: ошибка.
    • error_id: уникальный идентификатор ошибки;
    • code: код ошибки;
    • text: текст ошибки;
    • type: тип ошибки.
  • token: авторизационный токен. Максимальная длина строки – 1000 символов. Возвращается только при отсутствии ошибки.
  • timestamp: дата и время ответа.

Регистрация документа

Описание

Метод позволяет отправить запрос на формирование чека и отправку его на регистрацию в ККТ.

Запрос

POST https://fiscalization.evotor.ru/possystem/v5/<group_code>/<operation>

Заголовок запроса должен содержать параметры:

  • Content-type: application/json; charset=utf-8
  • Token: <token>

При технической невозможности передать token в заголовке запроса можно передать параметр в строке запроса:

https://fiscalization.evotor.ru/possystem/v5/<group_code>/<operation>?token=<token>

Параметры заголовка и строки запроса:

  • group_code: идентификатор группы ККТ ;
  • operation: тип операции на регистрацию чека, которая должна быть выполнена. Возможные типы операции:
    • sell: чек «Приход»;
    • buy: чек «Расход»;
    • sell_refund: чек «Возврат прихода»;
    • buy_refund: чек «Возврат расхода»;
    • sell_correction: чек «Коррекция прихода»;
    • buy_correction: чек «Коррекция расхода»;
    • sell_refund_correction: чек «Коррекция возврата прихода»;
    • buy_refund_correction: чек «Коррекция возврата расхода»;
  • token: авторизационный токен.

Пример регистрации чека с операцией «Приход»:

https://fiscalization.evotor.ru/possystem/v5/group1/sell?token=<token>

Тело запроса должно содержать документ в формате JSON, соответствующий схеме.

Тело запроса для чеков прихода, возврата прихода, расхода, возврата расхода

{
"timestamp":" 03.06.2020 12:05:31",
"external_id": "892924433234522512289444",
"service": {
"callback_url": "https://shop.ru"
},
"receipt": {
"client": {
"email": "client@client.ru",
"phone": "+70002410085",
"name": "Иванов Иван Иванович",
"inn": "112233445573"
},
"company": {
"email": "email@evotor.ru",
"sno": "osn",
"inn": "0923341225",
"payment_address": "shop-url.ru"
},
"cashier_inn": "112233445573",
"cashier": "Антон Чеков",
"items": [
{
"name": "Ваш любимый товар1",
"price": 120,
"quantity": 1.0,
"measure": 0,
"sum": 120,
"payment_method": "full_payment",
"payment_object": 1,
"vat": {
"type": "vat20",
"sum": 20.0
},
"user_data": "Дополнительный реквизит предмета расчета",
"excise": 10.0,
"mark_quantity": {
"numerator": 1,
"denominator": 3
},
"mark_processing_mode": "0",
"mark_code": {
"gs1m": "010463003407001221CMK45BrhN0WLf"
},
"agent_info": {
"type": "another",
"paying_agent": {
"operation": "Операция 1",
"phones": ["+79999999999"]
},
"receive_payments_operator": {
"phones": ["+79999999999"]
},
"money_transfer_operator": {
"phones": ["+79999999999"],
"name": "Оператор перевода",
"address": "г. Москва, ул. Сказочная д.3",
"inn": "112233445573"
}
},
"supplier_info": {
"phones": [
"+79999999999"
],
"name": "Название поставщика",
"inn": "112233445573"
},
"sectoral_item_props":[
{
"date": "18.01.2023",
"value": "tm=mdlp&sid=00000000405195&",
"number": "123/43",
"federal_id": "001"
}
]
}
],
"payments":[
{
"type": 1,
"sum": 120.0
}
],
"vats":[
{
"type": "vat20",
"sum": 20.0
}
],
"sectoral_check_props":[
{
"date": "18.02.2023",
"value": "tm=mdlp&sid=00752852194630&",
"number": "123/89",
"federal_id": "002"
}
],
"additional_check_props": "445334544",
"total": 120.0,
"additional_user_props": {
"name": "название доп реквизита",
"value": "значение доп реквизита"
},
"device_number":"211749646136539",
"internet": true,
"timezone": 2
}
}

Описание полей для тела запроса

Описание полей для тела запроса на регистрацию документа с типом операции «Приход», «Возврат прихода», «Расход», «Возврат расхода» представлено ниже. Описание для тела запроса на регистрацию документов коррекции находится ниже: регистрация чеков коррекции.

ПолеТипОбязательноеОписаниеТег ФФД
timestampstringда

Дата и время документа внешней системы в формате: dd.mm.yyyy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31»;
  • mm – Месяц. Формат MM. Возможные значения от «01» до «12»;
  • yyyy – Год. Формат YYYY. Допустимое количество символов – 4.
  • HH – Часы. Формат HH. Возможные значения от «00» до «24»;
  • MM – Минуты. Формат MM. Возможные значения от «00» до «59»;
  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».
-
external_idstringдаИдентификатор документа внешней системы, уникальный среди всех документов, отправленных одним пользователем. Максимум 128 символов.-
serviceobjectнетСлужебный раздел. См. Описание объекта service-
receiptobjectдаЧек. См. описание объекта Чек.-

Описание объекта service

ПолеТипОбязательноеОписаниеТег ФФД
callback_urlstringнетURL, на который необходимо ответить после обработки документа. Максимальная длина строки – 256 символов.-

Описание объекта receipt

ПолеТипОбязательноеОписаниеТег ФФД
clientobjectдасведения о покупателе (клиенте). См. Описание объекта client-
companyobjectдаСм. Описание объекта company-
itemsarray of objectsдаЗаполняется для каждого добавленного товара. См. Описание объекта items-
paymentsarray of objectsдаОплаты. Ограничение по количеству от 1 до 10. См. Описание объекта payments-
vatsarray of objectsнетАтрибуты налогов на чек. Ограничение по количеству от 1 до 6. Необходимо передать либо сумму налога на позицию, либо сумму налога на чек. Если будет переданы и сумма налога на позицию и сумма налога на чек, сервис учтет только сумму налога на чек. См. Описание объекта vats-
cashierstringнетФИО кассира. Максимальная длина строки – 64 символа.1021 Кассир
cashier_innstringнетИНН кассира. Ровно 12 цифр1203 ИНН кассира
additional_check_propsstringнетДополнительный реквизит чека. Максимальная длина строки – 16 символов.1192 Дополнитель ный реквизит чека (БСО)
totalnumberда

Итоговая сумма чека в рублях с заданным округлением:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.

Значение вычисляется, как сумма всех значений реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043).

1020 Сумма расчета, указанного в чеке (БСО)
additional_user_propsobjectнетДополнительный реквизит пользователя. См. Описание объекта additional_user_props1084 Дополнитель ный реквизит пользователя.
sectoral_check_propsarray of objectsнетВключается в состав кассового чека (БСО) в случае, если включение этого отраслевого реквизита кассового чека предусмотрено законодательством Российской Федерации. См. Описание элемента массива объектов sectoral_check_props и sectoral_item_props1261 отраслевой реквизит чека
device_numberstringнетНомер автоматического устройства для расчетов. От 1 до 20 символов. Применяется только если касса зарегистрирована с признаком автоматического устройства для расчетов. В случае, если параметр не будет передан, в чеке будет указан внутренний номер кассы в сервисе Цифровая касса.1036 номер автомата
internetbooleanнетПризнак применения ККТ при осуществлении расчета в безналичном порядке в сети «Интернет». Принимает значения: true/false. Если ККТ зарегистрирована с признаком "ККТ ДЛЯ ИНТЕРНЕТ" (тег 1108), то во все чеки будет автоматически передан тег 1125: True (тег 1125 будет передан в чек). Если признак "ККТ ДЛЯ ИНТЕРНЕТ" (тег 1108) не был указан при регистрации, то в чек передается значение присланное пользователем через API в параметре internet. Если значение не передано в API, то в чек будет записан тег 1125: False (тег 1125 НЕ будет передан в чек).1125 Признак расчета в интернет
timezonenumberнетНомер часовой зоны места (адреса) осуществления расчетов (целое число от 1 до 11) в соответствии с законом об исчислении времени. Если пользователь не указал значение в API, то в чек будет передан номер часовой зоны, указанной при регистрации Цифровой кассы. Для большинства касс - это часовой пояс Москвы. Тег заполняется в технических документах, связанных с продажей маркированных товаров. В фискальный чек тег 1011 не передается.1011 Часовая зона

Описание объекта client

ПолеТипОбязательноеОписаниеТег ФФД
emailstringобязательно для заполнения хотя бы одно поле из двух: email или phoneЭлектронный адрес покупателя. До 64 символов. Маска: {С}@{С} или значение "none"1008 Телефон или электронный адрес покупателя
phonestringсм. вышеТелефон покупателя. Номер необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа + (номер +371 2 1234567 необходимо передать как +37121234567). До 19 символов. Маски: +{Ц} или значение "none"1008 Телефон или электронный адрес покупателя
namestringнетНаименование покупателя (клиента). Максимальная длина строки – 256 символов.1227 Наименование организации или фамилия, имя, отчество (при наличии), серия и номер паспорта покупателя (клиента)
innstringнетИНН покупателя (клиента). Допустимое количество символов 10 или 12, только цифры.1228 ИНН организации или покупателя (клиента)

Описание объекта company

ПолеТипОбязательноеОписаниеТег ФФД
emailstringдаЭлектронная почта отправителя чека. При передаче ОФД кассового чека (БСО), кассового чека коррекции (БСО коррекции) покупателю (клиенту) в электронной форме указывается адрес электронной почты ОФД. Максимальная длина строки – 64 символа. Маска: {С}@{С}1117 Адрес электронной почты отправителя чека
snoenum (string)да

Система налогообложения. Должно принимать одно из значений:

  • osn – общая СН;
  • usn_income – упрощенная СН (доходы);
  • usn_income_outcome – упрощенная СН (доходы минус расходы);
  • esn – единый сельскохозяйственный налог;
  • patent – патентная СН.
1055 Применяемая система налогообложения
innstringдаИНН организации. Используется для предотвращения ошибочных регистраций чеков на ККТ зарегистрированных с другим ИНН (сравнивается со значением в ФН). Допустимое количество символов 10 или 12.1018 ИНН пользователя
payment_addressstringдаМесто расчетов. Максимальная длина строки – 256 символов.1187 Место расчетов

Описание объекта items

ПолеТипОбязательноеОписаниеТег ФФД
namestringдаНаименование товара, работы, услуги, платежа, выплаты, иного предмета расчета. Максимальная длина строки – 128 символов.1030 Наименование предмета расчета
pricenumberда

Цена за единицу товара, работы, услуги, платежа, выплаты, иного предмета расчета с учетом скидок и наценок. Цена в рублях:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.

Максимальное значение цены – 42 949 672.95. При этом произведение цены и количества / веса ( price*quantity) позиции должно быть не больше максимального значения цены позиции.

1079 цена за единицу предмета расчета с учетом скидок и наценок
quantitynumberда

Количество / вес:

  • целая часть не более 5 знаков;
  • дробная часть не более 3 знаков.

Максимальное значение – 99 999.999

1023 Количество предмета расчета
measureenum (number)да

Единицы измерения количества предмета расчета. Может принимать одно из значений:

  • 0 - Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами
  • 10 - Грамм
  • 11 - Килограмм
  • 12 - Тонна
  • 20 - Сантиметр
  • 21 - Дециметр
  • 22 - Метр
  • 30 - Квадратный сантиметр
  • 31 - Квадратный дециметр
  • 32 - Квадратный метр
  • 40 - Миллилитр
  • 41 - Литр
  • 42 - Кубический метр
  • 50 - Киловатт час
  • 51 - Гигакалория
  • 70 - Сутки (день)
  • 71 - Час
  • 72 - Минута
  • 73 - Секунда
  • 80 - Килобайт
  • 81 - Мегабайт
  • 82 - Гигабайт
  • 83 - Терабайт
  • 255 - Применяется при использовании иных единиц измерения
2108 мера количества предмета расчета
sumnumberда

Сумма в рублях:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.

Максимальное значение – 42 949 672.95. Значение реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) должно быть равно произведению значения реквизита «цена за единицу предмета расчета с учетом скидок и наценок» (тег 1079), умноженному на значение реквизита «количество предмета расчета» (тег 1023).

1043 Стоимость предмета расчета с учетом скидок и наценок
payment_methodenum (string)да

Признак способа расчёта. Возможные значения:

  • full_prepayment – предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета.

  • prepayment – предоплата. Частичная предварительная оплата до момента передачи предмета расчета.

  • advance – аванс.

  • partial_payment – частичный расчет и кредит. Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит

  • credit – передача в кредит. Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит

  • credit_payment – оплата кредита. Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита)

  • full_payment – полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета

1214 Признак способа расчета
payment_objectenum (number)да

Признак предмета расчёта. Должен принимать одно из значений:

  • 1 - о реализуемом товаре, за исключением подакцизного товара и товара, подлежащего маркировке средствами идентификации (наименование и иные сведения, описывающие товар)
  • 2 - о реализуемом подакцизном товаре, за исключением товара, подлежащего маркировке средствами идентификации (наименование и иные сведения, описывающие товар)
  • 3 - о выполняемой работе (наименование и иные сведения, описывающие работу)
  • 4 - об оказываемой услуге (наименование и иные сведения, описывающие услугу)
  • 5 - о приеме ставок при осуществлении деятельности по проведению азартных игр
  • 6 - о выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр
  • 7 - о приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей
  • 8 - о выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей
  • 9 - о предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации
  • 10 - об авансе, задатке, предоплате, кредите
  • 11 - о вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом
  • 12 - о взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета
  • 13 - о предмете расчета, не относящемуся к предметам расчета, которым может быть присвоено значение от «1» до «11» и от «14» до «26» "ИНОЙ ПРЕДМЕТ РАСЧЕТА"
  • 14 - о передаче имущественных прав
  • 15 - о внереализационном доходе
  • 16 - о суммах расходов, платежей и взносов, указанных в подпунктах 2 и 3 пункта Налогового кодекса Российской Федерации, уменьшающих сумму налога
  • 17 - о суммах уплаченного торгового сбора
  • 18 - о курортном сборе
  • 19 - о залоге
  • 20 - о суммах произведенных расходов в соответствии со статьей 346.16 Налогового кодекса Российской Федерации, уменьшающих доход
  • 21 - о страховых взносах на обязательное пенсионное страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам
  • 22 - о страховых взносах на обязательное пенсионное страхование, уплачиваемых организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам
  • 23 - о страховых взносах на обязательное медицинское страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам
  • 24 - о страховых взносах на обязательное медицинское страхование, уплачиваемые организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам
  • 25 - о страховых взносах на обязательное социальное страхование на случай временной нетрудоспособности и в связи с материнством, на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний
  • 26 - о приеме и выплате денежных средств при осуществлении казино и залами игровых автоматов расчетов с использованием обменных знаков игорного заведения
  • 27 - о выдаче денежных средств банковским платежным агентом
  • 30 - о реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки
  • 31 - о реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, имеющем код маркировки
  • 32 - о реализуемом товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки, за исключением подакцизного товара
  • 33 - о реализуемом товаре, подлежащем маркировке средством идентификации, имеющем код маркировки, за исключением подакцизного товара * если в товаре передается mark_code и payment_object = "1", то он будет автоматически изменен на "33"
1212 Признак предмета расчета
vatobjectдаАтрибуты налога на позицию. См. Описание объектаvat-
user_datastringнетДополнительный реквизит предмета расчета. Максимальная длина строки – 64 символа.1191 Дополнительный реквизит предмета расчета
excisenumberнетСумма акциза в рублях; Целая часть не более 8 знаков; дробная часть не более 2 знаков; значение не может быть отрицательным; 1229 Сумма акциза с учетом копеек, включенная в стоимость предмета расчета
mark_quantityobjectНетРеквизит «дробное количество маркированного товара» (тег 1291) включается в состав реквизита «предмет расчета» (тег 1059) только в случае если расчет осуществляется за маркированный товар и значение реквизита «мера количества предмета расчета» (тег 2108) принимает значение равное «0». См. Описание объекта mark_quantity1291 Дробное количество маркированного товара
mark_processing_modestringнетВключается в чек в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации. Должен принимать значение равное 02102 Режим обработки кода маркировки
sectoral_item_propsarray of objectsнетНеобходимо указывать, если в составе реквизита «предмет расчета» (тег 1059) содержатся сведения о товаре, подлежащем обязательной маркировке средством идентификации и включение указанного реквизита предусмотрено НПА отраслевого регулирования для соответствующей товарной группы. См. Описание элемента массива объектов sectoral_check_props и sectoral_item_props1260 Отраслевой реквизит предмета расчета
mark_codeobjectнетВключается в чек в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации. См. Описание объекта mark_code. Важно! В фискальном чеке не может быть больше 128 позиций с кодами маркировки.1163 Код товара
agent_infoobjectнетАтрибуты агента. См. Описание объекта agent_info-
supplier_infoobjectесли передан agent_infoАтрибуты поставщика. См. описание объекта supplier_info-

Описание объекта vat

ПолеТипОбязательноеОписаниеТег ФФД
typeenum (string)да

Устанавливает номер налога в ККТ. Перечисление со значениями:

  • none – без НДС;
  • vat0 – НДС по ставке 0%;
  • vat5 – НДС по ставке 5%;
  • vat7 – НДС по ставке 7%;
  • vat10 – НДС по ставке 10%;
  • vat20 – НДС по ставке 20%;
  • vat22 – НДС по ставке 22%;
  • vat105 – НДС по расчетной ставке 5/105;
  • vat107 – НДС по расчетной ставке 7/107;
  • vat110 – НДС по расчетной ставке 10/110;
  • vat120 – НДС по расчетной ставке 20/120;
  • vat122 – НДС по расчетной ставке 22/122.

С 01.01.2026 вводятся новые ставки НДС: 22% и 22/122 вместо 20%. Ознакомьтесь с расширенной информацией по ссылке.

1199 Ставка НДС
sumnumberнет

Сумма налога позиции в рублях:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.
1200 Сумма НДС за предмет расчета

Описание объекта mark_quantity

ПолеТипОбязательноеОписаниеТег ФФД
numeratorintegerДаЧислитель дробной части предмета расчета Значение реквизита «числитель» (тег 1293) должно быть строго меньше значения реквизита «знаменатель» (тег 1294) не может равняться «0»1293 числитель
denominatorintegerДаЗнаменатель дробной части предмета расчета Заполняется значением, равным количеству товара в партии (упаковке), имеющей общий код маркировки товара. не может равняться «0»1294 знаменатель

Описание объекта mark_code

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

ПолеТипОбязательноеОписаниеТег ФФД
gs1mstringдолжен быть передан один из реквизитовКод товара в формате GS1, нанесенный на товар, подлежащий маркировке средствами идентификации. Максимум 200 символов. Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)1305 КТ GS1.М
shortstringдолжен быть передан один из реквизитовКод товара в формате короткого кода маркировки, нанесенный на товар, подлежащий маркировке средствами идентификации. Максимум 38 символов. Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)1306 КТ КМК
furstringдолжен быть передан один из реквизитовКонтрольно-идентификационный знак мехового изделия. Ровно 20 символов, должно соответствовать маске СС-ЦЦЦЦЦЦСССССССССС. Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)1307 КТ МИ

Описание объекта agent_info

ПолеТипОбязательноеОписаниеТег ФФД
typeenum (string)да

Признак агента по предмету расчёта (ограничен агентами, введенными в ККТ при фискализации). Возможные значения:

  • bank_paying_agent – банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.
  • bank_paying_subagent – банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.
  • paying_agent – платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.
  • paying_subagent – платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.
  • attorney – поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.
  • commission_agent – комиссионер. Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.
  • another – другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.
1222 Признак агента по предмету расчета
paying_agentobjectНетАтрибуты платежного агента. См. Описание объекта paying_agent-
receive_payments_operatorobjectНетАтрибуты оператора по приему платежей. См. Описание объекта receive_payments_operator-
money_transfer_operatorobjectНетАтрибуты оператора перевода. См. Описание объекта money_transfer_operator-

Описание объекта paying_agent

ПолеТипОбязательноеОписаниеТег ФФД
operationstringНетНаименование операции банковского платежного агента, банковского платежного субагента. Максимальная длина строки – 24 символа.1044 Операция банковского платежного агента
phonesarray of stringsНетНомера телефонов платежного агента, платежного субагента, банковского платежного агента, банковского платежного субагента Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.1073 Телефон платежного агента

Описание объекта receive_payments_operator

ПолеТипОбязательноеОписаниеТег ФФД
phonesarray of stringsНетНомера контактных телефонов оператора по приему платежей Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.1074 Телефон оператора по приему платежей

Описание объекта money_transfer_operator

ПолеТипОбязательноеОписаниеТег ФФД
phonesarray of stringsНетНомера телефонов оператора по переводу денежных средств Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.1075 Телефон оператора перевода
namestringНетНаименование оператора перевода. Максимум 64 символа1026 Наименовани е оператора перевода
addressstringНетМесто нахождения оператора по переводу денежных средств Максимум 256 символов1005 Адрес оператора перевода
innstringНетИНН оператора перевода. 10 или 12 цифр1016 ИНН оператора перевода

Описание объекта supplier_info

ПолеТипОбязательноеОписаниеТег ФФД
phonesarray of stringsнетТелефоны поставщика. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа +. Если номер телефон начинается с символа +, то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс +7), то значение можно передать без префикса (номер +7 925 1234567 можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.1171 Телефон поставщика
namestringдаНаименование поставщика. Максимум 256 символов1225 Наименование поставщика
innstringдаИНН поставщика. 10 или 12 цифр1226 ИНН поставщика

Описание объекта payments

ПолеТипОбязательноеОписаниеТег ФФД
typeenum (number)да

Вид оплаты. Возможные значения:

  • 0 – наличные;
  • 1 – безналичный;
  • 2 – предварительная оплата (зачет аванса и (или) предыдущих платежей);
  • 3 – постоплата (кредит);
  • 4 – иная форма оплаты (встречное предоставление);
1031, 1081, 1215, 1216, 1217 Сумма по чеку (БСО)
sumnumberда

Сумма к оплате в рублях:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.

Описание объекта vats

ПолеТипОбязательноеОписаниеТег ФФД
typeenum (string)да

Устанавливает номер налога в ККТ. Перечисление со значениями:

  • none – без НДС;
  • vat0 – НДС по ставке 0%;
  • vat5 – НДС по ставке 5%;
  • vat7 – НДС по ставке 7%;
  • vat10 – НДС по ставке 10%;
  • vat20 – НДС по ставке 20%;
  • vat105 – НДС по расчетной ставке 5/105;
  • vat107 – НДС по расчетной ставке 7/107;
  • vat110 – НДС по расчетной ставке 10/110;
  • vat120 – НДС по расчетной ставке 20/120.
1102, 1103, 1104, 1105, 1106, 1107 Сумма НДС
sumnumberнет

Сумма к оплате в рублях:

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.
1200

Описание объекта additional_user_props

ПолеТипОбязательноеОписаниеТег ФФД
namestringдаНаименование дополнительного реквизита пользователя. Максимальная длина строки – 64 символа.1085 Наименование дополнительного реквизита пользователя
valuestringдаЗначение дополнительного реквизита пользователя. Максимальная длина строки – 256 символов.1086 Значение дополнительного реквизита пользователя

Описание элемента массива объектов sectoral_check_props и sectoral_item_props

ПолеТипОбязательноеОписаниеТег ФФД
federal_idenum (string)даИдентификатор ФОИВ. Должно принимать одно из значений справочника.1262 идентификатор ФОИВ
datestringдаДата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег 1265). Значение в формате в формате ДД.ММ.ГГГГ1263 дата документа основания
numberstringдаНомер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег 1265). Максимум 32 символа.1264 номер документа основания
valuestringдаСостав значений, определенных нормативным актом федерального органа исполнительной власти. Максимум 256 символов.1265 значение отраслевого реквизита

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

{
"timestamp":" 03.06.2020 12:05:31",
"external_id": "892924433234522512289444",
"service": {
"callback_url": "https://shop.ru"
},
"correction": {
"client": {
"email": "client@client.ru",
"phone": "+70002410085",
"name": "Иванов Иван Иванович",
"inn": "516974792202"
},
"company": {
"email": "email@evotor.ru",
"sno": "osn",
"inn": "5010051677",
"payment_address": "shop-url.ru"
},
"cashier_inn": "887405485310",
"cashier": "Антон Чеков",
"correction_info": {
"type": "self",
"base_date": "02.02.2022",
"base_number": "735/01505"
},
"items": [
{
"name": "Ваш любимый товар1",
"price": 120,
"quantity": 1.0,
"measure": 0,
"sum": 120,
"payment_method": "full_payment",
"payment_object": 1,
"vat": {
"type": "vat20",
"sum": 20.0
},
"excise": 10.0,
"mark_processing_mode": "0",
"mark_code": {
"gs1m": "010463003407001221CMK45BrhN0WLf"
},
"agent_info": {
"type": "another"
},
"supplier_info": {
"phones": [
"+79998887766"
],
"name": "Название поставщика",
"inn": "287381373424"
},
"sectoral_item_props":[
{
"date": "18.01.2023",
"value": "tm=mdlp&sid=00000000405195&",
"number": "123/43",
"federal_id": "001"
}
]
}
],
"payments":[
{
"type": 1,
"sum": 120.0
}
],
"vats":[
{
"type": "vat20",
"sum": 20.0
}
],
"sectoral_check_props":[
{
"date": "18.02.2023",
"value": "tm=mdlp&sid=00752852194630&",
"number": "123/89",
"federal_id": "002"
}
],
"additional_check_props": "445334544",
"total": 120.0,
"additional_user_props": {
"name": "название доп реквизита",
"value": "значение доп реквизита"
}
}
}

Регистрация чеков коррекции

Описание полей для чеков коррекции совпадает с описанием полей для типов операций «Приход», «Возврат прихода», представленными выше. Отличие — название объекта receipt заменяется на correction. Так же добавляется объект correction_info (описание ниже) и поле cashier — обязательное.

Описание объекта correction_info

ПолеТипОбязательноеОписаниеТег ФФД
typeenumда

Тип коррекции. Возможные значения:

  • self – самостоятельная операция;
  • instruction - операция по предписанию налогового органа об устранении выявленного нарушения законодательства Российской Федерации о применении ККТ.
1173 Тип коррекции
base_datestringдаДата совершения корректируемого расчета в формате: dd.mm.yyyy1178 Дата совершения корректируемого расчета
base_numberstringнетНомер документа основания для коррекции. Заполняется в случае, если коррекция расчета осуществляется по предписанию налогового органа об устранении выявленного нарушения законодательства Российской Федерации о применении ККТ. Максимум 32 символа1179 Номер документа основания для коррекции

Ответ на запрос

При отсутствии ошибок сервис вернет пакет, содержащий уникальный идентификатор чека, присвоенный сервисом и статус обработки чека.

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

Пример ответа
{
"uuid": "2ea26f17–0884–4f08–b120–306fc096a58f",
"timestamp": "12.04.22 06:15:06",
"error": null,
"status": "wait",
}
Пример ответа с ошибкой
{
"timestamp": null,
"status": "fail",
"error": {
"error_id": "20010",
"code": 30,
"text": " Передан некорректный UUID : \"{0}\". Необходимо повторить запрос с корректными данными ",
"type": "system"
}
}

Тело ответа на запрос регистрации чека

ПолеТипОписание
uuidstringУникальный идентификатор. Максимальная длина строки – 128 символов. Если документ не удалось зарегистрировать, документу не будет присвоен UUID.
timestampstring

Дата и время получения запроса в формате: dd.mm.yy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31».
  • mm – Месяц. Формат MM. Возможные значения от «01» до «12».
  • yy – Год. Формат YY. Допустимое количество символов – два.
  • HH – Часы. Формат HH. Возможные значения от «00» до «24».
  • MM – Минуты. Формат MM. Возможные значения от «00» до «59».
  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».
statusenum (string)

Статус. Возможные значения:

  • fail – ошибка;
  • wait – в обработке.
errorobjectСм. описание объекта error

Описание объекта error

ПолеТипОписание
codeintegerКод ошибки. Отображается только при ошибке.
error_idstringУникальный идентификатор ошибки.
textstringТекст ошибки (кодировка utf–8).
typeenum (string)

Тип источника ошибки. Возможные значения:

  • system – системная ошибка;
  • unknown – неизвестная ошибка.

Получение результата обработки документа

Описание

Результат регистрации чека на ККТ может быть получен двумя способами:

  • В случае, если в запросе на регистрацию был указан callback_url, сервис по результатам обработки чека вернет POST запрос на этот URL.
  • В случае, если callback_url не был указан или запрос не пришел в течение 300 секунд с момента отправки чека, клиент самостоятельно может запросить результат обработки чека GET-запросом к сервису.

Пакет с результатом обработки документа одинаков для обоих способов получения.

GET https://fiscalization.evotor.ru/possystem/v5/<group_code>/report/<uuid>

Заголовок запроса должен содержать параметр:

Token: <token>

При технической невозможности передать token в заголовке запроса можно передать параметр в строке запроса.

https://fiscalization.evotor.ru/possystem/v5/<group_code>/report/<uuid>?token=<token>

Параметры заголовка и строки запроса:

  • group_code: идентификатор группы ККТ;
  • uuid: уникальный идентификатор, присвоенный документу после выполнения запроса на регистрацию;
  • token: авторизационный токен.
Пример запроса результата обработки документа
curl -X GET "https://fiscalization.evotor.ru/possystem/v5/2f8f6e97-ab0a-4b5c-bd39-31bc1adee6d8/report/0459d6f9-afb6-41ab-860b-11c0544175ea" \
-H "Token: token123" \
-H "Content-Type: application/json; charset=utf-8"

Ответ на запрос

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

Пример ответа при успешной фискализации
{
"uuid": "0459d6f9-afb6-41ab-860b-11c0544175ea",
"timestamp": "10.08.22 10:00:00",
"status": "done",
"error": null,
"payload": {
"total": 47500,
"fiscal_receipt_number": 1,
"shift_number": 139,
"receipt_datetime": "08.12.2022 12:20:00",
"fn_number": "9999078902013061",
"ecr_registration_number": "0000000000026332",
"fiscal_document_number": 3763,
"fiscal_document_attribute": 995410884,
"fns_site": "www.nalog.ru",
"ofd_receipt_url": "https://lk.platformaofd.ru/web/noauth/cheque/search?fn=9999078902013061&fp=995410884&i=3763"
},
"group_code": "01-000000002602720",
"daemon_code": "prod–agent–1",
"device_code": "356645110070952",
"external_id": "fe743fbc-2ddf-4fba-8681-1eb730af5b59",
"callback_url": ""
}
Пример ответа с ошибкой
{
"uuid": "0459d6f9-afb6-41ab-860b-011c0544175e",
"timestamp": null,
"status": "fail",
"error": {
"text": "Передан некорректный UUID : '0459d6f9-afb6-41ab-860b-011c0544175e'. Необходимо повторить запрос с корректными данными",
"type": "system",
"code": 30,
"error_id": "20010"
},
"payload": null,
"group_code": null,
"daemon_code": null,
"device_code": null,
"external_id": null,
"callback_url": null
}

Тело ответа с результатами обработки чека

ПолеТипОписание
uuidstringУникальный идентификатор. Максимальная длина строки – 128 символов. Если документ не удалось зарегистрировать, документу не будет присвоен UUID.
timestampstring

Дата и время документа внешней системы в формате dd.mm.yy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31».
  • mm – Месяц. Формат MM. Возможные значения от «01» до «12».
  • yy – Год. Формат YY. Допустимое количество символов – два.
  • HH – Часы. Формат HH. Возможные значения от «00» до «24».
  • MM – Минуты. Формат MM. Возможные значения от «00» до «59».
  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».
callback_urlstringURL, на который необходимо ответить после обработки документа.
statusenum (string)

Статус. Возможные значения:

  • done – зарегистрирован;
  • fail – ошибка;
  • wait – ожидание.
group_codestringИдентификатор группы ККТ.
daemon_codestringНаименование сервера.
device_codestringКод ККТ.
external_idstringИдентификатор документа внешней системы, уникальный среди всех документов, отправленных в данную группу ККТ.
errorobjectОписание ошибки. См. Описание объекта error
payloadobjectРеквизиты фискализации документа.

Описание объекта error

ПолеТипОписание
error_idstringУникальный идентификатор ошибки.
codeintegerКод ошибки. Отображается только при ошибке.
textstringТекст ошибки (кодировка utf–8)
typeenum (string)Тип источника ошибки.
Описание объекта payload
ПолеТипОписаниеТег ФФД
shift_numberintegerНомер смены.1038
receipt_datetimestringДата и время документа из ФН.1012
totalnumber

Итоговая сумма документа в рублях;

  • целая часть не более 8 знаков;
  • дробная часть не более 2 знаков.

При регистрации в ККТ происходит расчёт фактической суммы: суммирование значений sum позиций.

1020
fn_numberstringНомер ФН.1041
ecr_registration_numberstringРегистрационный номер ККТ1037
fiscal_document_numberintegerФискальный номер документа1040
fiscal_receipt_numberintegerНомер чека в смене
fiscal_document_attributeintegerФискальный признак документа1077
fns_sitestringАдрес сайта ФНС1060
ofd_receipt_urlstringURL для просмотра чека на сайте ОФД. Отображается только для чеков, зарегистрированных с помощью Платформы ОФД-