Чеки из ОФД в 1С: встроенный сервис, файл выгрузки и API

· 10 мин

Содержание

Загрузить чеки из ОФД в 1С можно тремя путями: встроенной интеграцией через интернет -поддержку (раздел Администрирование → Интернет-поддержка и сервисы), выгрузкой файла из личного кабинета оператора с последующей загрузкой в документ или своей обработкой, которая забирает чеки по API ОФД. Итог во всех случаях один — документы продаж за смену по каждой кассе.

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

Что лежит в ОФД и что из этого нужно 1С

Каждый чек, пробитый на онлайн-кассе, уходит оператору фискальных данных в течение нескольких минут. Это требование 54-ФЗ. У ОФД хранится полный фискальный документ, а не только сумма.

Что можно забрать в 1С:

  • 🧾 Реквизиты чека: номер фискального накопителя (ФН), номер фискального документа (ФД), фискальный признак (ФПД), дата и время, номер смены.
  • 💰 Суммы: итог, разбивка по формам оплаты (наличные, безналичные, предоплата, постоплата, встречное представление).
  • 📊 НДС: сумма по каждой ставке.
  • 📦 Позиции: наименование, количество, цена, сумма, признак предмета расчёта (товар, услуга, работа), коды маркировки.
  • 🔁 Признак расчёта: приход, возврат прихода, расход, возврат расхода.
  • 🧑‍💼 Служебное: кассир, место расчётов, регистрационный номер ККТ, ИНН пользователя, отчёты об открытии и закрытии смены.

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

Пара «номер ФН + номер ФД» уникальна для каждого чека. Используйте её как ключ при любой загрузке — это главная защита от дублей.

Способы загрузки чеков из ОФД в 1С: сравнение

СпособКогда подходитЧто нужноРиски
Встроенная интеграцияТиповая БП 3.0, УНФ, Розница актуального релиза; оператор есть в списке поддерживаемыхПодключённая интернет-поддержка, доступ к кабинету ОФДНабор операторов ограничен; позиции не всегда сопоставляются с номенклатурой сами
Файл из кабинета ОФДРазовая загрузка, мало касс, нет нужного оператора в интеграцииВыгрузка Excel/CSV, ручная подготовка таблицыРучной труд, ошибки при подготовке файла, легко загрузить дважды
Своя обработка по APIМного касс, доработанная конфигурация, нужна загрузка по расписаниюТокен API ОФД, программист 1СПоддержка кода при смене API оператора

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

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

Подготовка базы перед первой загрузкой

Без этих настроек загрузка либо не начнётся, либо создаст документы «в никуда».

  1. Организация и система налогообложения. Проверьте карточку организации и учётную политику: ставки НДС из чека должны быть в справочнике ставок.
  2. Торговая точка. В БП 3.0 это склад с типом розничного магазина: на нём будут документы продаж. Для каждой точки с отдельной кассой — свой склад.
  3. Касса ККМ. Заведите кассу и укажите её регистрационный номер ККТ (16 цифр, как в карточке регистрации в ФНС). По этому номеру чеки привязываются к кассе.
  4. Номенклатура. Наименования в чеке — свободный текст кассы. Решите заранее, как они будут сопоставляться с номенклатурой 1С: по артикулу, штрихкоду или таблице соответствия.
  5. Эквайринг. Если принимаете карты, настройте договор эквайринга: безналичная часть выручки уйдёт на счёт 57.03.

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

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

Шаг 1. Подключите интернет-поддержку

Откройте Администрирование → Интернет-поддержка и сервисы. Если вверху написано, что поддержка не подключена, нажмите подключение и введите логин и пароль портала 1С. Без этого сервисы обмена недоступны.

Шаг 2. Включите обмен с ОФД

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

Шаг 3. Дайте 1С доступ к кабинету ОФД

Сервис попросит учётные данные или ключ доступа к кабинету оператора. Ключ (токен) создают в личном кабинете ОФД, обычно в настройках интеграций или API.

Выдавайте токен с правами только на чтение, если оператор позволяет разделить права. Храните его так же, как пароль от банк-клиента.

Шаг 4. Сопоставьте кассы

После подключения программа покажет кассы, зарегистрированные на ИНН организации. Каждой укажите кассу ККМ и торговую точку в 1С. Касса без сопоставления пропускается при загрузке.

Шаг 5. Загрузите период и проверьте результат

Выберите период — начните с одной закрытой смены. После загрузки откройте журнал документов розничных продаж и сравните итог с отчётом о закрытии смены из кабинета ОФД.

Что проверить в первом документе:

  • ✅ итог по наличным и по картам совпадает с отчётом о закрытии смены;
  • ✅ суммы НДС по каждой ставке совпадают;
  • ✅ возвраты попали отдельными строками или отдельным документом, а не уменьшили продажи молча;
  • ✅ все позиции сопоставлены с номенклатурой, нет строк с пустым товаром.

Когда одна смена сошлась, загружайте месяц целиком.

Загрузка выгрузки из кабинета ОФД файлом

Способ без программиста. Подходит, если касс немного или оператор не поддерживается встроенной интеграцией.

Как выгрузить чеки из кабинета

  1. Войдите в личный кабинет ОФД.
  2. Откройте список чеков или отчёт по продажам за период.
  3. Отфильтруйте по нужной кассе и периоду.
  4. Выгрузите в Excel или CSV. Многие операторы дают две выгрузки: по чекам (итоги) и по позициям (товары). Для товарного учёта нужна вторая.

Как подготовить таблицу

В выгрузке обычно 20–40 колонок. Для 1С нужно 5–7:

Сопоставление полей
Наименование товара→Номенклатура
Количество→Количество
Цена за единицу→Цена
Сумма позиции→Сумма
Ставка НДС→Ставка НДС
Признак расчёта→Продажа или возврат

Сверните таблицу по товарам за смену: сумма количества и суммы по каждому наименованию. Возвраты вынесите отдельно — их удобнее оформлять отдельным документом возврата.

Пример: за смену 47 чеков, в них 112 строк. После свёртки — 23 строки по 23 товарам. Если сумма итогов 47 чеков 84 350 ₽, то и сумма 23 строк обязана дать 84 350 ₽. Не сходится — ищите потерянную строку до загрузки, а не после.

Как загрузить в документ

Создайте документ продаж за смену по нужной кассе. В табличной части товаров используйте команду загрузки из файла или вставку из буфера обмена, если она есть в вашем релизе. Программа попросит сопоставить колонки и найдёт номенклатуру по наименованию или артикулу. Ненайденные строки подсветит — их нужно сопоставить вручную.

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

Автоматическая загрузка через API ОФД

Если касс больше 3–5 или загрузка нужна каждый день, ручной способ не масштабируется. Крупные операторы дают REST API: запрос с токеном возвращает чеки за период в JSON.

Логика обработки:

  1. Получить список касс организации.
  2. Для каждой кассы запросить чеки за период (обычно за прошедшие сутки).
  3. Отбросить чеки, чья пара «ФН + ФД» уже есть в базе.
  4. Сгруппировать чеки по сменам.
  5. Создать или обновить документ продаж за смену.
  6. Записать в журнал регистрации, сколько чеков загружено и сколько пропущено.

Пример запроса к API на встроенном языке. Адрес сервера и путь — условные: возьмите их из документации своего оператора, там же формат параметров и ответа.

Функция ПолучитьЧекиОФД(Токен, РегНомерККТ, ДатаС, ДатаПо)

	Соединение = Новый HTTPСоединение("api.ofd-example.ru", 443, , , , 30,
		Новый ЗащищенноеСоединениеOpenSSL);

	Адрес = СтрШаблон("/v1/receipts?kkt=%1&from=%2&to=%3",
		РегНомерККТ,
		Формат(ДатаС, "ДФ=yyyy-MM-dd"),
		Формат(ДатаПо, "ДФ=yyyy-MM-dd"));

	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Authorization", "Bearer " + Токен);
	Заголовки.Вставить("Accept", "application/json");

	Запрос = Новый HTTPЗапрос(Адрес, Заголовки);
	Ответ = Соединение.Получить(Запрос);

	Если Ответ.КодСостояния <> 200 Тогда
		ВызватьИсключение СтрШаблон("ОФД вернул код %1: %2",
			Ответ.КодСостояния, Ответ.ПолучитьТелоКакСтроку());
	КонецЕсли;

	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
	Результат = ПрочитатьJSON(Чтение, Истина);
	Чтение.Закрыть();

	Возврат Результат; // Соответствие: структуру полей смотрите в документации оператора

КонецФункции

Как запустить по расписанию

Оформите загрузку как регламентное задание в расширении конфигурации. Так типовая конфигурация обновляется без конфликтов, а ваш код живёт отдельно.

Расписание — раз в сутки, ночью, за предыдущий день. Смены к этому времени закрыты, а повторный запуск безопасен благодаря проверке «ФН + ФД».

Токен не храните в коде обработки. Положите его в константу или регистр сведений с ограниченным доступом, а лучше — в безопасное хранилище данных платформы.

Не тестируйте обработку на рабочей базе. Сделайте копию, прогоните загрузку за неделю, сверьте итоги со сменами и только потом подключайте рабочую базу.

Сложные схемы учёта при загрузке чеков

Несколько касс в одной точке

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

Несколько организаций или ИП

Токен API ОФД обычно выдаётся на ИНН. Для каждой организации — свой токен и своё сопоставление касс. Если кассы двух ИНН стоят в одной точке, не смешивайте их в одном документе.

Совмещение режимов: патент и УСН или ОСНО

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

Если одна касса пробивает и патентные, и непатентные товары, разделяйте по номенклатуре. Заранее отметьте в 1С, какие товары относятся к патенту.

Агентские продажи и комиссия

В чеке есть признак агента и ИНН поставщика. Такие позиции — не ваша выручка, а выручка принципала. Загружайте их отдельно, на комиссионные товары, чтобы потом сформировать отчёт комитенту.

Маркированные товары

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

Что сформируется в учёте

ОперацияСчета в БП 3.0
Выручка от продажиКт 90.01
Оплата наличнымиДт 50
Оплата картойДт 57.03
НДС с выручкиДт 90.03 Кт 68.02
Списание себестоимостиДт 90.02 Кт 41

Ошибки при загрузке чеков из ОФД и что с ними делать

Диагностика: выберите симптом

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

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

Источники

  • Федеральный закон от 22.05.2003 № 54-ФЗ «О применении контрольно-кассовой техники при осуществлении расчётов в Российской Федерации»