Как передать чек из 1С в ОФД без сбоев: пошаговая схема для бизнеса

как передать чек из 1с в офдЧек из 1С не отправляется в ОФД напрямую. Рабочая цепочка такая: 1С, сайт или платёжный модуль передаёт данные о расчёте в ККТ или сервис фискализации; ККТ формирует фискальный документ и направляет его в ОФД. Задача интеграции — создать кассовое задание в нужный момент, получить статус чека и записать его в 1С.

Как устроена передача чека из 1С в ОФД

Заказ, поступление оплаты и реализация в 1С — это учётные записи. Кассовый чек формирует зарегистрированная онлайн-касса: локальная в торговой точке или облачная для интернет-продаж. ОФД получает фискальный документ от ККТ, а не от документа 1С.

Настройте маршрут не от факта создания заказа, а от события расчёта, которое предусмотрено вашей моделью продаж. Для этого заранее разделите предоплату, полный расчёт, зачёт ранее полученной предоплаты, доплату и возврат. У каждой операции свой триггер и свой контроль результата.

До отправки в кассу передавайте состав позиций, сумму, ставку налога, форму оплаты и признаки расчёта, применимые к вашей продаже. Контакт покупателя передавайте, если он предоставлен для направления электронного чека. Правила применения ККТ установлены законом № 54-ФЗ; официальные разъяснения и сервисы размещены на сайте ФНС России.

Сценарии для магазина, сервиса и подписки

Розница: 1С и локальная ККТ

Выбирайте схему для магазина, кафе или точки выдачи, где расчёт принимает кассир. Продажа оформляется в 1С или кассовом рабочем месте, драйвер передаёт позиции в ККТ, а ККТ отправляет чек в ОФД. Назначьте сотрудника, который контролирует открытие смены, закрытие смены и неотправленные документы.

Интернет-магазин: платёжный сервис и облачная касса

Для оплаты на сайте кассовое задание создаётся по событию, которое вы определили для конкретного вида расчёта. Например, при получении предоплаты создаётся документ для предоплаты, а при передаче товара и зачёте этой суммы — отдельный документ зачёта. В 1С возвращайте номер чека, дату, сумму, статус и идентификатор кассовой операции.

Свяжите заказ, платёж и кассовое задание постоянными идентификаторами. Если платёжный сервис повторно прислал уведомление об оплате, система должна сначала найти созданный чек по этому ключу, а не создавать новый. Такое правило называют защитой от повторной обработки: одно и то же событие не должно порождать второй кассовый документ.

Для оплат через СБП настройте отдельный способ оплаты и тот же контроль статусов. Порядок фискализации таких расчётов разобран в статье «Нужен ли чек при СБП: когда пробивать онлайн-кассу».

Услуги, доставка и повторяющиеся списания

Для услуг и доставки привязывайте кассовую операцию к фактическому расчёту, а не к дате бухгалтерского акта. При регулярных списаниях храните период услуги, ID заказа или договора и уникальный ID каждого платежа. Это позволяет отличить очередное списание от повторного технического уведомления.

Внешняя фискализация: в 1С загружаются готовые чеки

Используйте этот вариант, если чеки создаёт сайт, маркетплейс или отдельная кассовая система. В 1С загружайте для сверки дату и время чека, сумму, номер фискального документа, фискальный признак, номер кассы, тип операции, ссылку на заказ или платёж и статус документа.

Фискальный чек сам по себе не должен автоматически создавать реализацию или поступление денег в 1С. Сначала обработка ищет существующий заказ либо платёж по ID. Учётный документ можно создавать только по утверждённому правилу вашей конфигурации — например, когда найден платёж, но отсутствует связанный документ учёта; перед проведением проверьте, что реализация по этому ключу ещё не создана.

Как выбрать схему интеграции

Критерий 1С + локальная ККТ 1С + облачная касса Загрузка из внешней системы
Источник чека Расчёт у кассира Оплата или другое событие расчёта на сайте Внешняя кассовая система
Кто передаёт документ в ОФД Локальная ККТ Облачная ККТ ККТ внешнего контура
Настройка Драйвер ККТ и правила продажи в 1С Обмен с кассовым сервисом через программный интерфейс (API) Импорт данных и правила сопоставления
Ручные действия Кассир оформляет расчёт После запуска — контроль исключений Контроль нераспознанных и дублирующих записей
Главный контроль Смена, журнал ККТ, статус чека Статусы заданий, чеки, ответы ОФД Расхождения оплат, чеков и документов 1С
Кому подходит Магазину, кафе, пункту выдачи Интернет-магазину, сервису, подписке Бизнесу с уже работающей внешней фискализацией

Для сайта с онлайн-оплатами выбирайте автоматическое создание задания в облачной кассе и обратную передачу статуса в 1С. Для розницы с кассиром нужна стабильная связка 1С с локальной ККТ. Если внешняя система уже фискализирует продажи, не подключайте вторую кассу к тем же событиям: загрузите реквизиты в 1С и настройте сверку.

Техническую связку 1С, ККТ и ОФД разбираем в инструкции «Как отправлять чеки ОФД из 1С и не терять фискализацию». Если кассир оформляет продажи непосредственно в учётной программе, используйте материал «Как пробить чек в 1С».

Нужно собрать схему до запуска? Обратитесь в Интернет Касса. Поможем описать маршруты для сайта, розницы или подписки, проверить связку 1С с облачной либо локальной ККТ и подготовить сценарии оплаты, зачёта и возврата без дублей.

Карта расчётов: триггеры, чеки и контроль

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

Операция Триггер для кассового задания Фискальный документ Ключи сопоставления Что проверить
Предоплата Подтверждено получение денег до передачи товара или оказания услуги Чек с признаком способа расчёта, соответствующим предоплате ID заказа, ID платежа, ID кассового задания Сумма платежа, успешный статус чека, сохранённые фискальные реквизиты
Полный расчёт при оплате Подтверждён расчёт, если товар или услуга передаются в момент оплаты Чек полного расчёта ID заказа, ID платежа, ID кассового задания Сумма и состав позиций совпадают с расчётом; чек найден по ID
Зачёт предоплаты Передан товар или оказана услуга, за которые ранее принята предоплата Чек с признаком зачёта предоплаты ID заказа, ID исходного платежа, ID ранее созданного чека Зачтена только ранее полученная сумма; исходный чек предоплаты не дублируется
Доплата или частичная оплата Подтверждена каждая новая часть расчёта Документ по модели расчёта: частичная оплата, полный расчёт или иной применимый сценарий ID заказа, отдельный ID каждого платежа, ID кассового задания Каждый платёж связан со своим заданием; общая сумма не превышает стоимость заказа
Полный или частичный возврат Подтверждён возврат денег покупателю Чек возврата прихода на возвращаемую сумму ID возврата, ID исходного платежа, ID исходного чека Тип операции — возврат, сумма возврата не больше исходной оплаты, связь с исходным расчётом сохранена

Пример: покупатель внёс предоплату, затем доплатил при получении. Сохраните один ID заказа, два ID платежей и отдельные ID кассовых заданий. При зачёте предоплаты используйте ссылку на первый платёж и его чек. Если затем возвращаете только доплату, создавайте возврат по ID этой доплаты, а не по всей сумме заказа.

Пошаговый запуск передачи чеков

  1. Составьте карту расчётов. Перечислите оплату картой на сайте, СБП, наличные, безналичную оплату в точке, предоплату, доплату, зачёт и возврат. Для каждого маршрута укажите триггер, ККТ и ответственного.
  2. Зафиксируйте модель идентификаторов. Передавайте во все системы ID заказа, отдельный ID платежа, ID возврата при возврате и ID кассового задания. Не заменяйте эти ключи номером документа 1С, если он может меняться при обмене.
  3. Проверьте данные 1С. Сверьте реквизиты организации, номенклатуру, суммы, ставки налога, способы оплаты и правила предоплаты. Исправьте карточки и правила до первой рабочей продажи.
  4. Подключите ККТ или кассовый сервис. Настройте драйвер либо программный интерфейс обмена (API), выберите зарегистрированную ККТ и убедитесь, что она подключена к ОФД.
  5. Настройте повторную обработку событий. Уведомление от платёжного сервиса может прийти повторно после сбоя связи. До создания нового задания система должна искать существующее по ID платежа или заказа; это исключает второй чек на одну операцию.
  6. Проведите тесты по каждому сценарию. Отдельно проверьте предоплату, полный расчёт, зачёт, доплату, полный возврат и частичный возврат, если они используются. По каждому тесту сохраните ID платежа, ID задания, реквизиты чека и статус ОФД.
  7. Настройте запись результата в 1С. Возвращайте статус, дату, сумму, номер фискального документа, фискальный признак и ссылку на кассовую операцию. При импорте из внешнего контура сначала сопоставляйте запись с заказом или платежом, затем решайте, нужен ли учётный документ.
  8. Введите ежедневную сверку. Ответственный проверяет оплаты без чеков, чеки без заказов, возвраты без связи с исходной оплатой и задания со статусом ошибки. Для каждого отклонения фиксируйте действие и результат.

Статусы контура и действия при сбое

Статус Что означает Что делать Можно ли повторять отправку
Задание принято Кассовый сервис получил данные, но чек ещё не подтверждён Дождитесь результата обработки и контролируйте тайм-аут по правилам сервиса Нет. Сначала ищите результат по ID задания или платежа
Чек сформирован ККТ фискализировала документ и вернула реквизиты Запишите реквизиты в 1С и проверьте, что они привязаны к нужной операции Нет. Повтор создаст риск дубля
Документ передан или принят ОФД ККТ отправила фискальный документ, а ОФД подтвердил приём либо отразил его в статусе Закройте операцию как успешную и включите её в сверку Нет
Ошибка Задание не обработано либо ККТ вернула отказ Сохраните текст ошибки, проверьте реквизиты, доступность кассы и наличие чека по ID Да, но только после устранения причины и поиска существующего чека
Нет ответа в срок Интеграция не получила финальный статус Запросите статус у кассового сервиса и найдите чек по ID операции в доступных журналах Нет, пока поиск не подтвердит отсутствие чека

Не путайте «задание принято» с «чек сформирован». Первый статус говорит только о получении запроса кассовым сервисом. Успешной операцию можно считать после получения реквизитов фискального документа и статуса его передачи в контуре ККТ—ОФД.

Ошибки передачи чеков и как их убрать

Чек создаётся при создании заказа. Неоплаченный заказ может породить лишний документ. Перенесите триггер на событие расчёта из вашей карты: получение предоплаты, полный расчёт, зачёт или возврат.

Одно уведомление об оплате формирует два чека. Причина — повторно полученное уведомление от платёжного сервиса или повторный запрос после тайм-аута. Перед повторной отправкой ищите задание и чек по постоянному ID платежа, а не ориентируйтесь только на статус в интерфейсе 1С.

В 1С стоит «оплачено», а реквизитов чека нет. Проверьте в порядке очереди: поступил ли платёж, принято ли кассовое задание, сформирован ли чек, передан ли документ в ОФД. Поиск по одному ID покажет участок, где остановилась операция.

Предоплата оформлена как полный расчёт. Исправьте карту триггеров и правила выбора признака способа расчёта. Затем протестируйте цепочку «предоплата → зачёт» на отдельном заказе, прежде чем включать её для покупателей.

Из загрузки ОФД появились дубли реализаций. Разделите импорт фискальных реквизитов и создание учётного документа. Обработка должна искать заказ или платёж по ключу, записывать реквизиты чека в найденную операцию и блокировать создание второй реализации при существующей связи.

Ошибки в очереди никто не разбирает. Назначьте владельца процесса и рабочий срок реакции. Ежедневно выгружайте список ошибочных и зависших заданий, а после исправления фиксируйте найденный чек или причину повторной отправки.

Частые вопросы

Можно ли передавать чеки из 1С в ОФД автоматически?

Да, настройте автоматическую передачу кассового задания из 1С или сайта в ККТ либо сервис фискализации. Затем сохраняйте в 1С статус и реквизиты чека, полученные после фискализации; в ОФД документ направляет сама зарегистрированная ККТ.

Нужно ли вручную создавать чек в ОФД, если он уже есть в 1С?

Нет, запись в 1С не заменяет кассовый чек и не отправляется в ОФД сама по себе. Ручное действие требуется только для разбора сбоя: сначала найдите чек по ID операции в кассовом сервисе и ОФД, затем решайте вопрос о повторной отправке.

Можно ли заносить в 1С чеки из ОФД без отгрузки?

Да, загружайте фискальные реквизиты в 1С для сверки без автоматического создания реализации. Сопоставляйте данные по ID заказа или платежа, а учётный документ создавайте только по правилам вашей конфигурации и при отсутствии уже проведённой операции.

Что проверить первым, если чек не ушел из 1С в ОФД?

Проверьте статус платежа, журнал обмена в 1С и статус кассового задания. Не отправляйте задание повторно, пока не поищете чек по ID заказа, платежа или кассовой операции: повторный запрос может создать дубль.

Нужна рабочая схема для 1С, сайта и кассы? Оставьте заявку в Интернет Касса. Разберём ваши способы оплаты и возвраты, определим точки создания чеков, проверим статусы обмена и подготовим план запуска для локальной или облачной ККТ.