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

Чеки коррекции

Чек коррекции нужен, когда расчет был совершен, но корректный кассовый чек не был сформирован или был сформирован с ошибкой, которую нельзя исправить обычным возвратом и новым расчетом. Это не универсальная кнопка "починить чек"; сначала нужно понять, какое фискальное событие произошло.

Когда рассматривать коррекцию

Ситуация Подход
Расчет был, чека не было Обычно рассматривается чек коррекции.
Чек был, но сумма/реквизиты неверны Проверить, исправляется ли через возврат и новый чек или нужна коррекция.
Возврат денег покупателю Обычно это чек возврата, не коррекция.
Ошибка в тестовом payload Сначала исправить payload; коррекция не должна маскировать системную ошибку интеграции.

Что важно в ФФД

Для чеков коррекции важны основание, дата, номер документа основания, тип коррекции и состав реквизитов по версии ФФД. В ФФД 1.2 провайдеры на практике чаще требуют корзину items; aggregate-модель без корзины ненадежна.

Поведение провайдеров в тестах

Провайдер ФФД 1.05 ФФД 1.2
АТОЛ Онлайн Проходят sell_correction и buy_correction в проверенных вариантах. Aggregate без items не проходит; modern с items проходит.
Эвотор sell_correction проходит при наличии cashier/cashier_inn; buy_correction не поддерживается. С items и cashier проходят основные операции коррекции.
Ferma / OFD.RU С items проходят sell_correction и buy_correction; aggregate без корзины не дает стабильного финального результата. Проверенные modern-варианты не проходят регистрацию; aggregate ненадежен.
Бизнес.Ру Коррекции не используются в текущем банковском контуре. Коррекции не используются в текущем банковском контуре.

Практическое правило

Перед запуском коррекции нужно собрать: исходное бизнес-событие, сумму, дату, способ оплаты, позиции, версию ФФД, провайдера, ответ регистрации, report и основание коррекции. Без этих данных коррекция может создать новый риск вместо исправления старого.