Товары в чеке 54-ФЗ

Корзина товаров

При покупках в интернет магазинах клиенты, чаще всего, приобретают более одного товара. В такой ситуации, для соответствия 54-ФЗ в налоговую необходимо передавать чек покупки со сведениями обо всех приобретённых товарах и услугах. Обычно, сформировать список покупок в конкретном заказе не составляет труда, поскольку при оформлении заказа, в большинстве современных решений для интернет-магазина, используется так называемая корзина товаров (по аналогии с корзинкой для товаров в супермаркетах), которую покупатель наполняет, просматривая витрину интернет магазина. Для формирования корректного чека, в таком случае, необходимо в процессе оплаты передать содержимое этой корзины. Чтобы это сделать нужно сформировать JSON-массив объектов товарных позиций и передать в параметре cart POST-запроса на создание платежа, вместе с остальными параметрами платежа.

Формат одного объекта товарной позиции следующий:

Поле Назначение Обязательное
name Наименование экземпляра товара Да
price Стоимость единичного экземпляра товара Да
quantity Количество экземпляров товара в данной позиции Да
sum Полная сумма к уплате по данной товарной позиции, включая НДС Да
tax Код налога, применяющегося к данной позиции Да
tax_sum Сумма налога к уплате по данной товарной позиции, уже должна быть учтена в поле sum Да
item_type Код признака предмета расчёта (категория товара/услуги). Значение по умолчанию – «ТОВАР» Нет
payment_type Код признака расчёта. Значение по умолчанию – «ПРЕДОПЛАТА 100%» Нет
Таблица 12.1 Поля объекта товарной позиции

Для поля tax предусмотрены следующие возможные коды:

Код Значение
none НДС не облагается
vat0 НДС 0%
vat10 НДС 10%
vat18 НДС 18%
vat110 НДС 10/110
vat118 НДС 18/118
Таблица 12.2 Типы налогов

Все поля данного объекта должны быть в кодировке UTF-8.

Также, необходимо обратить внимание — ставки «НДС 0%» и «НДС не облагается» применяются в разных случаях. Для предприятий работающих по упрощённой схеме налогообложения нужно указывать none — «НДС не облагается».

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

ФФД 1.05

Для соответствия ФФД 1.05 для каждой товарной позиции указывать код признака предмета расчёта и код признака расчёта. Для этих целей введены два необязательных поля: item_type и payment_type соответственно.

Для поля item_type предусмотрены следующие возможные коды:

Код Значение
goods Товар
service Услуга
work Работа
excise Подакцизный товар
ip Интеллектуальная деятельность, права на интеллектуальную собственность
payment Аванс, задаток, предоплата, взнос или другой платёж
agent Вознаграждение агента
Таблица 12.3 Типы предметов расчёта

Для поля payment_type предусмотрены следующие возможные коды:

Код Значение
prepay Предоплата 100%
part_prepay Частичная предоплата
advance Аванс
full Полная оплата в момент передачи предмета расчёта
Таблица 12.4 Типы признаков расчёта

Корзина в счёте

Указать список товарных позиций можно, также, при выставлении счёта через наш JSON API. В этом случае на размер результирующего объекта cart накладываются некоторые ограничения — в данный момент максимальная длина текста в переменной service_name составляет 10240 символов, и, таким образом, размер объекта ограничен 10234 символами (6 символов на спец. идентификатор). Передавать объект нужно в переменной service_name внутри специального идентификатора:

;PKC|JSON_массив_объектов_товарных_позиций|

Примеры кода

Формирование корзины на PHP:

Формирование корзины на PHP, с созданием счёта через JSON API:

Рассмотренные выше примеры кода позволяют сформировать и передать товарную корзину для дальнейшего корректного формирования чека, в соответствии с 54-ФЗ, на стороне поддерживаемого PayKeeper кассового решения.