Перейти к содержанию

Формирование чека коррекции


Мы предоставляем единый протокол (API) для формирования и передачи чеков в онлайн-кассы. На текущий момент поддерживаются провайдеры: Orange Data, Кит, Атол, ОФД Ферма, Бизнес.ру, Комтет, Эвотор, E-COM Kassa, Модулькасса, Life Pay, Бифит, Digitalkassa, а также другие — по запросу.

Общие правила

  • Данные чека для онлайн-кассы передаются в виде JSON-строки.
  • Набор параметров (тегов) чека зависят от провайдера и версии ФФД. Единый протокол унифицирует параметры, где это возможно, но специфика отдельных провайдеров сохраняется.
  • Часть параметров передается автоматически.
  • Параметры, помеченные атрибутом REQUIRED, обязательны к передаче на всех версия ФФД.
  • Обмен с онлайн-кассой происходит по HTTPS, в UTF-8. При записи в фискальный накопитель (ФН) строки перекодируются в CP866, где набор символов меньше (например, кавычки « » отсутствуют), вместо "Сок «Груша»" попадёт "Сок Груша".
  • Служебные символы нужно экранировать обратным слешем (\") или используйте штатные библиотеки (PHP: json_encode / json_decode, NET: System.Text.Json / Newtonsoft.Json.).
  • Онлайн-касса должна быть зарегистрирована для расчётов в сети «Интернет».

Чек коррекции для провайдеров: Бизнес.ру, CloudKassir, Life Pay доступна, только через личный кабинет онлайн-кассы.

Автозаполнение

Параметр Тег Значение
Часовая зона 1011 Определяется настройками ККТ.
Признак расчёты в сети Интернет 1125 «Интернет».
Место расчётов 1187 Определяется параметром "Сайт магазина".
Мера количества предмета расчёта 2108 0 (шт./ед.).
Дата документа основания для коррекции 1178 Дата создания чека коррекции.
Сумма расчета, указанного в чеке (БСО) 1020 Сумма СКО.
Сумма по чеку (БСО) безналичными 1081 Сумма СКО.
Применяемая система налогообложения 1055 Определяется настройкам онлайн-кассы в IntellectMoney.

Тело документа

Параметр Свойства Описание
Inn STRING REQUIRED max 12 ИНН организации, для которой пробивается чек.
Указан в личном кабинете или в онлайн-кассе с зарегистрированным ККТ.
Group STRING CONDITION max 64 Группа устройств в которую входит онлайн-касса.
Условия:
  • Orange Data, Kit Online - передается обязательно: ФФД 1.05 - Main, ФФД 1.2 - Main_2.
  • Атол, ОФД Ферма, Бизнес.ру, Комтет, Эвотор, E-COM Kassa, Life Pay, Digitalkassa - передается обязательно.
  • Не передается в остальных случаях.
Content OBJECT REQUIRED Содержимое документа.

Содержимое документа

Параметр Свойства Описание
Type INT CONDITION const Признак расчета, тег 1054.
Допустимые значения:
  1. 1 - приход.
  2. 3 - расход.

Условия:
  • ФФД 1.2 - передается обязательно.
  • Не передается в остальных случаях.
CorrectionType INT REQUIRED 0-1 Тип коррекции, тег 1173.
Допустимые значения:
  1. 0 - самостоятельно.
  2. 1 - по предписанию.
CustomerContact STRING REQUIRED max 64 Телефон или электронный адрес покупателя, тег 1008.
Формат: +{Ц} или {С}@{C}.
Positions OBJECT CONDITION Список предметов расчёта, тег 1059.
Условия:
  • ФФД 1.2 - передается обязательно.
  • Не передается в остальных случаях.
CauseDocumentNumber STRING CONDITION yyyy-MM-dd HH:mm:ss Дата документа основания для коррекции, тег 1178.
Условия:
  • Передается обязательно, если тип коррекции CorrectionType = 1.
  • Не передается в остальных случаях.

Предмет расчёта

Параметр Свойства Описание
Quantity STRING REQUIRED max 13 Количество предмета расчёта, тег 1023.
Минимальное значение 1.00.
Формат: десятичное число с точностью до 6 знаков после точки, не использовать запятые и пробелы.
Price STRING REQUIRED max 11 Цена за единицу предмета расчёта с учётом скидок и наценок, тег 1079.
Минимальное значение 1.00.
Формат: десятичное число с двумя знаками после точки, не использовать запятые и пробелы.
Tax INT REQUIRED 1-10 Ставка НДС, тег 1199.
Допустимые значения:
  1. 1 - ставка НДС 20%.
  2. 2 - ставка НДС 10%.
  3. 3 - ставка НДС расч. 20/120.
  4. 4 - ставка НДС расч. 10/110.
  5. 5 - ставка НДС 0%.
  6. 6 - НДС не облагается.
  7. 7 - ставка НДС 5%.
  8. 8 - ставка НДС 7%.
  9. 9 - ставка НДС расч. 5/105.
  10. 10 - ставка НДС расч. 7/107.
Text STRING REQUIRED max 128 Наименование предмета расчёта, тег 1030.
PaymentMethodType INT OPTIONAL 1-7 Признак способа расчёта, тег 1214.
Используется в ФФД 1.05, 1.2.
Допустимые значения:
  1. 1 - предоплата 100%.
  2. 2 - частичная предоплата.
  3. 3 - аванс.
  4. 4 - полный расчет (по умолчанию).
  5. 5 - частичный расчет и кредит.
  6. 6 - передача в кредит.
  7. 7 - оплата кредита.
PaymentSubjectType INT OPTIONAL const Признак предмета расчета, тег 1212.
Допустимые значения, которые используется в ФФД 1.05, 1.2:
  1. 1 - Товар (по умолчанию).
  2. 2 - Подакцизный товар.
  3. 3 - Работа.
  4. 4 - Услуга.
  5. 5 - Ставка азартной игры.
  6. 6 - Выигрыш азартной игры.
  7. 7 - Лотерейный билет.
  8. 8 - Выигрыш лотереи.
  9. 9 - Предоставление РИД.
  10. 10 - Платеж.
  11. 11 - Агентское вознаграждение.
  12. 12 - Выплата.
  13. 13 - Иной предмет расчета.
  14. 14 - Имущественное право.
  15. 15 - Внереализационный доход.
  16. 16 - Иные платежи и взносы.
  17. 17 - Торговый сбор.
  18. 18 - Туристический налог.
  19. 19 - Залог.
  20. 20 - Расход.
  21. 21 - Взносы на обязательное пенсионное страхование ИП.
  22. 22 - Взносы на обязательное пенсионное страхование.
  23. 23 - Взносы на обязательное медицинское страхование ИП.
  24. 24 - Взносы на обязательное медицинское страхование.
  25. 25 - Взносы на обязательное социальное страхование.
  26. 26 - Платеж казино.
  27. 27 - Выдача денежных средств.

Допустимые значения, которые используется в ФФД 1.2:
  1. 30 - АТНМ.
  2. 31 - АТМ.
  3. 32 - ТНМ.
  4. 33 - ТМ.
SupplierInfo OBJECT OPTIONAL Данные поставщика, тег 1224.
SupplierINN STRING OPTIONAL max 12 ИНН поставщика, тег 1226.
Используется в ФФД 1.05, 1.2.
AgentType INT OPTIONAL 1-127 Признак агента, тег 1222.
Используется в ФФД 1.05, 1.2.
Для типов агентов необходимо передавать следующие значения:
  1. 1 - банковский платежный агент.
  2. 2 - банковский платежный субагент.
  3. 4 - платежный агент.
  4. 8 - платежный субагент.
  5. 16 - поверенный.
  6. 32 - комиссионер.
  7. 64 - иной агент.

Если у продавца несколько признаков агента, то значение передаётся как сумма флагов (битовая маска).
Например, при сочетании поверенный (16) и иной агент (64) итог будет: 16 + 64 = 80.
MarkCode OBJECT OPTIONAL Данные о маркировки.
Используется в ФФД 1.2.
Работа с маркировкой поддерживается для онлайн-кассы Orange Data, другие провайдеры - по запросу.

Данные поставщика

Параметр Свойства Описание
PhoneNumbers STRING OPTIONAL Телефон поставщика, тег 1171.
Используется в ФФД 1.05, 1.2.
Формат: массив строк длиной от 1 до 19 символов, +{Ц}.
Name STRING OPTIONAL max 256 Наименование поставщика, тег 1225.
Используется в ФФД 1.05, 1.2.

Данные о маркировки

Параметр Свойства Описание
Code STRING REQUIRED max 223 Код маркировки, теги: 1305, 1306, 1163, 1300, 2000.
  1. Orande Data - код маркировки, как он был прочитан сканером.
    После проверки будет добавлен в тег 1163 как один из тэгов КТ GS1.М (тег 1305), или КТ КМК (тег 1306), или нераспознанный код товара (тег 1300).

PlannedStatus INT REQUIRED 1-6 Планируемый статус, тег 2003.
Допустимые значения:
  1. 1 - штучный товар, подлежащий обязательной маркировке средством идентификации, реализован.
  2. 2 - мерный товар, подлежащий обязательной маркировке средством идентификации, в стадии реализации.
  3. 3 - штучный товар, подлежащий обязательной маркировке средством идентификации, возвращен.
  4. 4 - часть товара, подлежащего обязательной маркировке средством идентификации, возвращена.
  5. 5 - штучный товар, подлежащий обязательной маркировке средством идентификации, в стадии реализации.
  6. 6 - мерный товар, подлежащий обязательной маркировке средством идентификации, реализован.
  7. 255 - статус товара, подлежащего бязательной маркировке средством идентификации, не изменился.

Пример чека

JSON
{
    "Inn": "7000000000",
    "Group": "Main_2",
    "Content":
    {
        "Type": 1,
        "CorrectionType": 1,
        "CustomerContact": "test@mail.ru",
        "Positions": [
            {
                "Quantity": 1.000,
                "Price": 1.00,
                "Tax": 6,
                "Text": "Test",
                "PaymentSubjectType": 33, 
                "PaymentMethodType": 4,
                "MarkCode":
                {
                    "Code": "00000046210654eK7fYtcAAModGVz",
                    "PlannedStatus": 1
                }
            }
        ],
        "CauseDocumentNumber": "2025-01-01 00:00:00"
    }
}