Фискализация на онлайн-кассах Ferma: форматы запросов
Один из наших партнеров, строительная компания, фискализирует чеки с помощью облачной кассы Ferma®. В этой статье расскажем, как работает обмен данными с сервисом, и покажем форматы запросов.
Содержание
- Требования ФНС и протоколы
- Схема взаимодействия с сервисом
- POST-запрос на регистрацию чека
- POST-запрос о проверке статуса
Требования ФНС и протоколы
Чеки фискализируют на арендованных у Ferma кассах (ККТ) посредством клиентского API. Кассы в сервисе Ferma® работают с версиями ФФД 1.1 и 1.2. в соответствии с приказом ФНС России от 14.09.2020 № ЕД-7-20/662@. Вся информация по фискализации чеков есть в документации на API.
Полезные ссылки:
- API Ferma для регистрации чеков.
- API «Чеки и ККТ» для получения данных по чекам и кассовым аппаратам.
- Реквизиты фискальных документов: Приказ ФНС России от 14.09.2020 № ЕД-7-20/662@.
- Изменения в форматах фискальных документов, которые вступают в силу с 01.09.2025: Приказ ФНС России от 12.04.2023 № ЕД-7-20/239@.
Схема взаимодействия с сервисом

POST-запрос на регистрацию чека
Пример запроса:
{
"Request": {
"Inn": "7800000000",
"Type": "Income",
"InvoiceId": "8f537134-7d94-11f0-80d4",
"LocalDate": "2025-08-20T10:09:07",
"CustomerReceipt": {
"TaxationSystem": "0",
"Email": "buyer@mail.ru",
"Phone": "79999999999999",
"PaymentType": 10,
"ClientInfo": {
"Name": "Фамилия Имя Отчество",
"Inn": "760999999999"
},
"Items": [
{
"Label": "Услуга по бронированию",
"Price": 20000,
"Quantity": 1,
"Amount": 20000,
"Vat": "CalculatedVat20120",
"MarkingCode": "",
"PaymentMethod": 1,
"PaymentType": 10
}
],
"PaymentItems": [
{
"PaymentType": 1,
"Sum": 20000
}
]
}
}
}
Пример ответа:
{"Status":"Success","Data":{"ReceiptId":"2b6a4574-0bdc-4da8-8154-f00000000000"}}
Таблица 1: поля запроса на регистрацию чека.
Примечание: в первой колонке точки перед полями обозначают уровень вложенности в списке.
НАЗВАНИЕ ПОЛЯ | ТЕГ ФНС | ОПИСАНИЕ РЕКВИЗИТА | ПРИМЕР |
● Inn | 1018 | ИНН нашей компании. | 7800000000 |
● Type | 1054 |
Тип формируемого фискального документа (чек). Тип может принимать следующие значения:
|
Income |
● InvoiceId | - | Идентификатор, присвоенный нашей информационной системой в запросе на формирование кассового чека. Использование идентификатора предотвращает формирование дублей чеков. | 8f537134-7d94-11f0-80d4-000000000000 |
● LocalDate | - | 2025-08-20T10:09:07 | |
● CustomerReceipt | - | Вложенный словарь с данными чека. | |
●● TaxationSystem | 1055 |
Система налогообложения. Внимание! Список применения значений систем налогообложения формируется на этапе регистрации кассы. Чтобы изменить список допустимых значений, необходимо выполнить перерегистрацию кассы. Параметр определения системы налогообложения может принимать следующие значения:
|
0 |
1008 | Адрес электронной почты клиента. | buyer@mail.ru | |
●● Phone | 1008 | Контактный телефон клиента. | 79999999999999 |
●● PaymentType | 1212 |
Признак предмета расчета. Принимает значение от 1 до 33.
|
|
●● ClientInfo | 1256 | Вложенный словарь с данными о покупателе. | |
●●● Name | 1227 | ФИО или наименование организации, если клиент юр. лицо. Не более 256 символов в поле. | Фамилия Имя Отчество |
●●● Inn | 1228 | ИНН покупателя. Длина 10-12 цифр. | 760999999999 |
●● Items | 1059 | Данные о покупке. | |
●●●● Label | 1030 | Передаются значения в текстовом виде. Здесь могут присутствовать описание товара или описание услуги. Параметр всегда требуется в запросе на формирование фискального документа. | Услуга по бронированию |
●●●● Price | 1079 | Цена товарной позиции в рублях. | 20000 |
●●●● Quantity | 1023 | Количество товара в товарной позиции. | 1 |
●●●● Amount | 1043 | Общая стоимость товара в товарной позиции в рублях. Правила округления для стоимости товара зависят от типа кассы. В кассах типа Эфир Pro ФС и Эфир Pro ФА стоимость округляется по математическим правилам округления. Результат умножения значений параметров «Price» и «Quantity» должно быть равно значению параметра «Amount». | 20000 |
●●●● Vat | 1199 |
Вид вычисляемого НДС. Обязательное поле для чеков коррекции, если Items не равен NULL. Параметр может принимать следующие значения:
|
CalculatedVat20120 |
●●●● MarkingCode | 1163 | Код маркировки товарной позиции. Передается структура. Структура содержит информацию о маркировке товарных позиций. | |
●●●● PaymentMethod | 1214 |
Признак способа расчета:
|
1 |
●●●● PaymentType | 1212 | Признак предмета расчета для конкретной позиции в чеке. Если значение отсутствует, берется значение для всего чека. Возможные значения в таблице 3.1.4 API Ferma. | 10 |
●● PaymentItems | - | Суммы по типам оплат. Вложенный список словарей. | |
●●●● PaymentType |
1031: наличными; 1081: безналичными; 1215: предварительная оплата (аванс); 1216: предварительная оплата (кредит); 1217: встречным предоставлением. |
Тип оплаты:
|
1 |
●●●● Sum | 1020 | Сумма по типу, в рублях. | 20000 |
POST-запрос о проверке статуса
Пример запроса:
{"Request":{"ReceiptId":"2b6a4574-0bdc-4da8-8154-000000000000"}}
Пример ответа, если статус New:
{
"Status": "Success",
"Data": {
"StatusCode": 0,
"StatusName": "NEW",
"StatusMessage": "Запрос на чек получен в Ferma",
"ModifiedDateUtc": "2025-08-20T10:09:06",
"ReceiptDateUtc": null,
"ModifiedDateTimeIso": "2025-08-20T10:09:06.378+03:00[Europe/Moscow]",
"ReceiptDateTimeIso": null,
"ReceiptId": "2b6a4574-0bdc-4da8-8154-f00000000000",
"Device": null
}
}
Пример ответа, если статус Confirmed:
{
"Status": "Success",
"Data": {
"StatusCode": 2,
"StatusName": "CONFIRMED",
"StatusMessage": "Чек передан в ОФД",
"ModifiedDateUtc": "2025-08-20T10:09:06",
"ReceiptDateUtc": "2025-08-20T10:09:06",
"ModifiedDateTimeIso": "2025-08-20T10:09:06+03:00[Europe/Moscow]",
"ReceiptDateTimeIso": "2025-08-20T10:09:06+03:00[Europe/Moscow]",
"ReceiptId": "2b6a4574-0bdc-4da8-8154-f00000000000",
"Device": {
"DeviceId": 52972,
"RNM": "0008300461059738",
"ZN": "9954684823",
"FN": "7380440800991918",
"FDN": "3144",
"FPD": "3849908495",
"ShiftNumber": 259,
"ReceiptNumInShift": 9,
"DeviceType": "Эфир Pro ФС",
"OfdReceiptUrl": "https://check.ofd.ru/rec/further-path"
}
}
}
Таблица 2: поля ответа на запрос о статусе чека.
Примечание: в первой колонке точки перед полями обозначают уровень вложенности в списке.
НАЗВАНИЕ ПОЛЯ | ОПИСАНИЕ РЕКВИЗИТА | ПРИМЕР |
● Status | Состояние обработки запроса. | Success |
● Data | Словарь с данными чека. | |
●● StatusCode |
Возможные значения:
|
2 |
●● StatusName | CONFIRMED | |
●● StatusMessage | Чек передан в ОФД | |
●● ModifiedDateUtc | Дата и время последнего обновления информации о чеке по московскому времени. | 2025-08-20T10:09:06 |
●● ReceiptDateUtc | Дата и время, указанные в чеке по московскому времени. | 2025-08-20T10:09:06 |
●● ModifiedDateTimeIso | Дата и время последнего обновления информации о чеке по московскому времени. | 2025-08-20T10:09:06+03:00[Europe/Moscow] |
●● ReceiptDateTimeIso | Дата и время, указанные в чеке по московскому времени. | 2025-08-20T10:09:06+03:00[Europe/Moscow] |
●● ReceiptId | Идентификатор чека, присвоенный сервисом Ferma®. | 2b6a4574-0bdc-4da8-8154-f00000000000 |
●● Device | Словарь с данными об устройстве, на котором был сгенерирован чек. | |
●●● DeviceId | Сервисный идентификатор устройства, на котором был сгенерирован чек. | 52972 |
●●● RNM | Регистрационный номер кассы. | 0008300461059738 |
●●● ZN | Заводской номер кассы. | 9954684823 |
●●● FN | Номер фискального накопителя, установленного в кассу. | 7380440800991918 |
●●● FDN | Номер фискального документа. | 3144 |
●●● FPD | Фискальный признак документа. | 3849908495 |
●●● ShiftNumber | Номер смены. | 259 |
●●● ReceiptNumInShift | Номер чека в смене. | 9 |
●●● DeviceType | Модель кассы, на которой пробит чек. | Эфир Pro ФС |
●●● OfdReceiptUrl | Ссылка на чек. | https://check.ofd.ru/rec/further-path" |