Фискализация
Фискализация в 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.
Связанные сценарии
- Формирование второго чека — когда нужно пробить итоговый чек после предоплаты.
- Формирование чека коррекции — как исправить фискальные данные, если в первом чеке была ошибка.
- Рекомендации по работе с маркировкой «Честный знак» — что учесть при передаче
nomenclature_codeи выводе маркированных товаров из оборота.