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

Фискализация

Фискализация в Robokassa

Фискальные данные передаются в налоговую инспекцию вместе с оплатой и фиксируются в кассе. Для клиентов Robokassa, которые используют облачное решение, кассовое решение или Робочеки, в запрос на платеж добавляется параметр Receipt с подробной номенклатурой.

На этой странице:

  • разберитесь, какой сценарий подключения подходит именно вам;
  • узнайте, как оформить параметр Receipt и проверить чек на корректность;
  • перейдите к соседним статьям о втором чеке, чеке коррекции и маркировке «Честный знак».

Выберите вариант подключения

Официальные виджеты и модули

Включите передачу номенклатуры в настройках официального модуля Robokassa на стороне сайта. После активации позиции из карточек товаров автоматически попадут в чек. Официальные модули доступны для Битрикс24, InSales, WordPress WooCommerce, OpenCart, Joomla, VirtueMart и 1С-Битрикс.

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

Сторонние модули

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

Своя интеграция

Если вы подключаете Robokassa напрямую к сайту или приложению, добавляйте номенклатуру в параметр Receipt в запросе на создание платежа. Структура параметра описана ниже, а номенклатура передается в момент инициации оплаты.

к сведению

Для решений Робочеки и «Облачное» в одном чеке может быть не более 100 товарных позиций — при превышении чек разбивается на два документа.

Параметр Receipt

Receipt передается в формате JSON вместе с остальными параметрами платежа и обязательно участвует в контрольной подписи запроса.

Как передавать Receipt

  • Название параметра — Receipt.
  • Формат — JSON.
  • Значение включается в подпись: MerchantLogin:OutSum:InvId:Receipt:Пароль#1.
  • Из-за объема номенклатуры используйте метод POST.
  • Перед добавлением в строку для подписи значение Receipt нужно URL-кодировать.

Пример содержимого Receipt

{
"sno": "osn",
"items": [
{
"name": "Название товара 1",
"quantity": 1,
"sum": 100,
"payment_method": "full_payment",
"payment_object": "commodity",
"tax": "vat10"
},
{
"name": "Название товара 2",
"quantity": 3,
"sum": 450,
"cost": 150,
"payment_method": "full_prepayment",
"payment_object": "service",
"tax": "vat10",
"nomenclature_code": "04620034587217"
}
]
}

Поля Receipt

Общие поля

ПараметрНазначение
snoНе обязателен. Если не передан — используется значение из ЛКК. Передается при необходимости различать СНО для разных товаров.
itemsОбязателен. Массив данных о позициях чека.

Система налогообложения (sno)

Параметр необязателен: если его нет, используется значение из личного кабинета. Передавайте sno, только если нужно отличать системы налогообложения для разных товаров. Возможные значения:

  • osn — общая система налогообложения.
  • usn_income — упрощенная система налогообложения (доходы).
  • usn_income_outcome — упрощенная система налогообложения (доходы минус расходы).
  • esn — единый сельскохозяйственный налог.
  • patent — патентная система налогообложения.

Поля товарной позиции

ПараметрНазначение
nameОбязателен. Наименование товара или услуги (до 128 символов, специальные символы экранируйте).
quantityОбязателен. Количество товаров.
sumОбязателен, если не указан cost. Полная сумма за позицию с учетом скидок и бонусов. Дробная часть — до 2 знаков.
costНеобязателен. Цена за единицу товара. Можно передавать вместо sum; итог вычисляется как cost * quantity.
payment_methodНеобязателен. Признак способа расчёта. Если не передан, используется значение по умолчанию из личного кабинета.
payment_objectНеобязателен. Признак предмета расчёта. Если не передан, используется значение по умолчанию из личного кабинета.
taxОбязателен. Налоговая ставка в ККТ для позиции.
nomenclature_codeОбязателен для маркируемой продукции. Код маркировки из упаковки товара.

Признак способа расчета (payment_method)

Если параметр не передан, используется значение по умолчанию из личного кабинета.

Список значений
  • full_prepayment — полная предоплата до передачи предмета расчета.
  • prepayment — частичная предоплата до передачи предмета расчета.
  • advance — аванс.
  • full_payment — полный расчет в момент передачи предмета расчета.
  • partial_payment — частичный расчет и кредит.
  • credit — передача в кредит с последующей оплатой.
  • credit_payment — оплата кредита.

Признак предмета расчета (payment_object)

Если параметр не передан, используется значение по умолчанию из личного кабинета.

Список значений
  • commodity — товар (кроме подакцизного).
  • excise — подакцизный товар.
  • job — работа.
  • service — услуга.
  • gambling_bet — ставка азартной игры.
  • gambling_prize — выигрыш азартной игры.
  • lottery — лотерейный билет или ставка.
  • lottery_prize — выигрыш лотереи.
  • intellectual_activity — предоставление результатов интеллектуальной деятельности.
  • payment — платеж (аванc, задаток, кредит и т.д.).
  • agent_commission — агентское вознаграждение.
  • composite — составной предмет расчета.
  • resort_fee — курортный сбор.
  • another — иной предмет расчета.
  • property_right — имущественное право.
  • non-operating_gain — внереализационный доход.
  • insurance_premium — страховые взносы.
  • sales_tax — торговый сбор.
  • tovar_mark — маркируемый товар с кодом маркировки (кроме подакцизного).

Налоговая ставка (tax)

Обязательное поле для каждой позиции.

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

Правила формирования чека

  • В чеке должна быть минимум одна позиция.
  • Наименование каждой позиции — не длиннее 128 символов и без спецсимволов.
  • Цена и сумма позиции неотрицательны, общая сумма позиций больше нуля и равна сумме операции.
  • Сумма передается в рублях за всё количество товара с учётом скидок и бонусов.
  • Отсутствие номенклатуры в чеке — нарушение ФЗ-54.