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

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

Автор: Александр Пылев, Основатель Интернет Касса

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

Правила применения ККТ устанавливает Федеральный закон № 54-ФЗ; текст доступен в КонсультантПлюс. Сервисы и разъяснения по регистрации ККТ публикует сайт ФНС России.

Что интегрируют: 1С, кассу и ОФД

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

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

Для каждой операции сохраняйте: идентификатор заказа или платежа, номер кассы, сумму, дату и время, номер фискального документа (ФД), фискальный признак, статус задания и статус загрузки в 1С. По этим данным бухгалтер или оператор найдёт конкретный чек без ручного поиска по одинаковым суммам.

Сценарии: розница, сайт, сервис и несколько касс

Розничный магазин

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

Интернет-магазин

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

Если касса работает в облаке, изучите схему подключения заранее: облачная касса для бизнеса: выбор, запуск и типовые ошибки. Приём оплаты на сайте и фискализация — разные интеграции: порядок подключения платежей разобран в статье как подключить интернет-эквайринг.

Подписки, доплаты и возвраты

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

Несколько точек или касс

Распределённая фискализация — это архитектура, в которой несколько касс обслуживают разные каналы или точки, а 1С собирает данные в одном контуре. Закрепите за заказом конкретную кассу либо правило маршрутизации: например, сайт А — касса 1, розница — касса 2. Тогда сбой можно локализовать по кассе и очереди, а не искать по всем продажам.

Как отправить чек из 1С в ОФД

  1. Определите триггер. Для сайта это успешный платёж, для розницы — расчёт на кассе, для возврата — подтверждённый возврат денег.
  2. Подготовьте документ 1С. Передавайте реальные позиции, количество, цену, скидку, сумму, способ оплаты и идентификатор заказа или платежа.
  3. Настройте маппинг. Свяжите номенклатуру 1С с позициями чека, а виды операций — с правилами формирования чека в используемой кассе или сервисе.
  4. Создайте одно задание в кассу. Присвойте ему уникальный идентификатор и сохраните его в 1С до получения ответа.
  5. Получите статус и реквизиты. При успехе запишите в 1С номер ФД, фискальный признак, дату, сумму и кассу.
  6. Проверьте документ в ОФД. Ищите его по номеру ФД или данным кассы. Если его нет, сначала проверьте кассовую очередь и статус сформированного чека.

Не пытайтесь отправить «чек в ОФД» отдельной ручной командой: это делает ККТ или облачная касса после фискализации. Ручное повторение команды без проверки статусов — основная причина дублей.

Статусы обмена: что означает каждый этап и что делать при сбое

Этап Что должно быть Если этап не пройден
Платёж Есть подтверждённый статус оплаты или подтверждённый возврат от платёжного сервиса. Не создавайте чек. Проверьте платёж у эквайера или в платёжном сервисе.
Задание в кассу 1С или сайт передали запрос с уникальным идентификатором; задание принято либо находится в очереди. Проверьте журнал обмена, доступы, обязательные поля и неотправленные задания.
Чек сформирован Касса вернула номер ФД и фискальный признак либо иной успешный результат сервиса. Исправьте ошибку в данных или настройках. Не создавайте новый запрос, пока не проверите исходный идентификатор.
Передача в ОФД Касса передала сформированный документ ОФД; чек появился в кабинете ОФД или имеет статус доставки. Проверьте соединение кассы, очередь неотправленных документов и статус ККТ. Сформированный чек не означает, что нужно формировать второй.
Загрузка в 1С Реквизиты чека связаны с исходной продажей, оплатой или возвратом. Проверьте модуль обратного обмена и правило сопоставления по идентификатору заказа или платежа.

Отсутствие чека в кабинете ОФД не доказывает, что чек не сформирован. Сначала выясните, есть ли у исходного запроса номер ФД и фискальный признак. Если есть, разбирайте доставку в ОФД; если нет — ошибку формирования в кассе или в данных запроса.

Матрица операций: что передавать в кассу и что связывать в 1С

Событие Что отправить в кассу Что связать в 1С
Полная оплата товара или услуги Чек продажи с фактическими позициями, суммой, способом оплаты и настроенным признаком полного расчёта. Заказ, платёж, задание в кассу и номер ФД.
Предоплата Чек на полученную предоплату. Для известного состава заказа и аванса правила могут различаться, поэтому настройте отдельный тип события, а не копируйте полную оплату. Документ аванса, заказ и идентификатор платежа.
Зачёт ранее полученного аванса Отдельное событие при передаче товара или оказании услуги с реквизитами окончательного расчёта и зачёта ранее полученной суммы. Исходный аванс, реализацию и чек зачёта в одной цепочке заказа.
Частичная оплата или доплата Чек на фактически полученную часть суммы; остаток не подменяйте полной оплатой. График или документы оплат, сумму каждой части и общий заказ.
Возврат Отдельный чек возврата прихода на сумму подтверждённого возврата с привязкой к исходной продаже. Заявление или операция возврата, исходный чек и возвратный чек.

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

Как загрузить чеки и документы из ОФД в 1С

Обратный обмен нужен для сверки оплат, записи реквизитов чека в реализацию и поиска ошибок. Подключайте его штатным модулем 1С, API ОФД, возможностями кассового сервиса или обработкой интегратора.

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

Ежедневно сверяйте три списка: успешные платежи эквайринга, чеки в ОФД и документы 1С. Разбирайте исключения по порядку:

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

Таблица выбора схемы интеграции

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

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

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

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

Для облачного контура используйте отдельный план: подключение облачной кассы для бизнеса: пошаговый запуск и выбор схемы.

Типичные ошибки при обмене с ОФД и как их избежать

Дубли чеков. Причина — повторная отправка после тайм-аута. Храните идентификатор запроса, проверяйте кассу и ОФД, затем повторяйте операцию только после подтверждённой ошибки исходного задания.

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

В чеке технические названия или неправильные позиции. Причина — нет маппинга номенклатуры 1С. Настройте соответствие товаров и услуг, проверьте скидки, доставку, количество и возвраты на тестовых заказах.

Расхождение между эквайрингом, ОФД и 1С. Причина — нет регулярной сверки. Формируйте ежедневный список исключений и закрепите за сотрудником срок обработки каждого расхождения.

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

Нужен запуск для сайта, розницы или сети касс? Свяжитесь с Интернет Касса: проведём аудит связки, настроим интеграцию с вашей 1С, кассой и ОФД, проверим тестовые операции и передадим правила ежедневного контроля.