Главная / Инструкции / Выгрузка в Excel

Как выгрузить чеки из ОФД в Excel: 4 способа и пошаговая инструкция

Задача типовая: есть онлайн-касса и оператор фискальных данных (ОФД), а нужен файл с чеками — для бухгалтерии, сверки с выручкой, аналитики или загрузки в учётную систему. Ниже — четыре способа, их ограничения и то, что чаще всего ломается на последнем шаге.

Важно: интерфейсы личных кабинетов у ОФД отличаются и периодически меняются. Названия разделов ниже — ориентир, а не дословная инструкция для каждого оператора. Логика везде одна: выбрать период → выбрать кассы/смены → выгрузить отчёт.

Четыре способа — коротко

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

Способ 1. Личный кабинет ОФД — пошагово

  1. Войдите в личный кабинет своего ОФД (Платформа ОФД, Такском, 1-ОФД, Яндекс ОФД, Астрал, Эвотор, OFD.ru — у каждого свой адрес).
  2. Найдите раздел с отчётами. Ищите пункты «Отчёты», «Чеки», «Документы», «Выгрузка данных». Названия отличаются, но суть одна — список фискальных документов по вашим кассам.
  3. Выберите кассу (или все кассы), если в кабинете несколько точек или регистрационных номеров ККТ.
  4. Задайте период. Начните с одного-двух дней: так быстрее поймёте, какие колонки приходят и не режется ли отчёт лимитом.
  5. Выберите формат — Excel (XLS/XLSX) или CSV. Если есть выбор «с позициями» и «только шапки», сначала возьмите оба варианта и сравните.
  6. Скачайте и проверьте файл по чек-листу ниже.
  7. Повторите для остальных периодов и склейте файлы (или сразу выгружайте весь нужный интервал, если лимит позволяет).

Чек-лист проверки файла

  • Количество строк совпадает с количеством чеков в кабинете за этот период.
  • Итоговая сумма по файлу равна выручке за период (сравните с отчётом о закрытии смены).
  • Даты и время в нужном часовом поясе, без сдвига на несколько часов.
  • ФН, ФД и ФПД — целиком, без потери знаков в конце.
  • Нет дублей: один и тот же ФД не встречается дважды.
  • Позиции чеков есть (если они нужны): наименование, количество, цена, сумма.
Ограничения личного кабинета: у части ОФД выгрузка ограничена по глубине (например, последние месяцы), по количеству строк за один раз или доступна только в определённом тарифе. Если нужен год или несколько касс сразу, обычно быстрее собрать данные скриптом, чем склеивать десятки файлов вручную.

Способ 2. API ОФД

Подходит, когда выгрузка нужна регулярно, касс много или требуются данные, которых нет в готовом отчёте. Порядок работы:

  1. Получите доступ к API у своего ОФД: ключ/токен, права на чтение документов, лимиты запросов. У части операторов API входит в тариф, у части — отдельная опция.
  2. Соберите список касс (регистрационные номера ККТ) — по ним запрашиваются документы.
  3. Запрашивайте чеки пачками по интервалам: день, смена или неделя. Большие интервалы почти всегда упираются в лимит и пагинацию.
  4. Сохраняйте в CSV/XLSX и добавляйте служебные поля: касса, точка, дата выгрузки.
  5. Сверяйте итоги с кабинетом ОФД — количество и суммы. Это ловит 90% ошибок интеграции.
  6. Ставьте на расписание (планировщик Windows, cron, Task Scheduler) — и выгрузка перестаёт быть ручной работой.

Структура скрипта (Python), без привязки к конкретному ОФД — адрес, параметры и формат ответа берутся из документации вашего оператора:

import requests, csv, os

API_URL = "..."          # из документации ОФД
TOKEN   = os.environ["OFD_TOKEN"]

resp = requests.get(
    API_URL,
    headers={"Authorization": "Bearer " + TOKEN},
    params={"kkt": "0000000000000000", "date_from": "2026-10-01", "date_to": "2026-10-07"},
    timeout=60,
)
data = resp.json()

with open("checks.csv", "w", newline="", encoding="utf-8-sig") as f:
    w = csv.writer(f, delimiter=";")
    w.writerow(["datetime", "kkt", "fn", "fd", "fpd", "total"])
    for doc in data.get("documents", []):
        w.writerow([doc.get("dateTime"), doc.get("kktRegId"), doc.get("fiscalDriveNumber"),
                    doc.get("fiscalDocumentNumber"), doc.get("fiscalSign"), doc.get("totalSum")])

Токен храните в переменной окружения, а не в коде: файлы с ключами легко утекают вместе с папкой проекта.

Способ 3. Сервисы-конвертеры

Есть готовые сервисы, куда загружают выгрузку из ОФД, а на выходе получают нормальную таблицу или свод. Плюс — быстро и без настройки. Минусы:

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

Хороший вариант, когда нужна одна выгрузка «на посмотреть». Для регулярной работы дешевле один раз настроить скрипт.

Способ 4. Скрипт под задачу

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

  • сбор данных из ОФД (API или разбор выгрузок кабинета);
  • свод: по кассам, точкам, сменам, дням;
  • проверка: дубли, пропущенные смены, расхождение сумм;
  • сохранение в папку или отправка в Telegram/на почту по расписанию.

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

Почему Excel «ломает» выгруженный файл

Отчёт выгружен, а в таблице каша: всё в одной колонке, суммы без копеек, ФН превратился в 3,71E+15. Причина — настройки импорта и форматы ячеек. Что происходит и как лечить:

СимптомПричинаРешение
Все данные в одном столбцеНе тот разделитель (CSV с ; открыли как ,)Импорт через «Данные → Из текста/CSV», указать разделитель вручную
Кракозябры вместо русских буквФайл в Windows-1251, открыт как UTF-8 (или наоборот)При импорте выбрать кодировку; для новых файлов использовать UTF-8 с BOM
ФН/ФД в экспонентеExcel воспринял длинное число как числовой форматИмпортировать колонку как «Текст» или добавить апостроф
Пропали ведущие нулиТот же числовой форматФормат ячеек — «Текстовый» до вставки данных
Суммы вида 1 234,5 в текстеЧисла пришли строкой с пробелами и запятойPower Query: убрать пробелы, заменить , на ., тип «Число»
Дата и время — текстФормат из отчёта не совпадает с локальюРазделить на дату и время, задать тип в Power Query
Строки задвоилисьСклеили два отчёта с пересекающимся периодомУдалить дубли по ФД (ФН + ФД + ФПД) — это уникальный ключ чека
Правило проверки: после любой выгрузки сравните два числа — количество чеков и сумму выручки — с отчётом о закрытии смены в кабинете ОФД. Если совпало, файл почти наверняка корректный.

Типичные ошибки при выгрузке

  • Неполный период. Отчёт «за октябрь» часто означает календарный месяц без последнего дня, а смены закрываются не в 23:59.
  • Часовой пояс. Время в чеке и в отчёте может отличаться: где-то хранится локальное время кассы, где-то UTC.
  • Только шапки чеков. Позиции (что именно продано) есть не во всех отчётах и не во всех тарифах ОФД.
  • Лимит строк. Выгрузка за год может молча обрезаться — проверяйте количество строк и дату последнего чека в файле.
  • Несколько касс в одном отчёте. Часть кабинетов выгружает только по одной ККТ за раз.
  • Возвраты и коррекции. Они могут быть отдельными документами и не попадать в отчёт о выручке — учитывайте их отдельно.

Когда проще заказать выгрузку

Есть смысл не разбираться самому, если выполняется хотя бы два условия:

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

В этом случае дешевле один раз заплатить за настройку, чем каждый месяц повторять ручную работу. Посмотреть цены и посчитать стоимость.

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

Можно ли выгрузить чеки бесплатно?

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

Почему в Excel не видно позиций чеков?

Обычно выбран отчёт только по шапкам документов либо тариф ОФД не отдаёт позиции. Проверьте, есть ли в кабинете отдельный отчёт с составом чека; если нет — нужен API или запрос в поддержку ОФД.

Что делать, если суммы в файле не сходятся с выручкой?

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

Подойдёт ли такой файл для 1С?

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

Как часто можно выгружать данные?

Зависит от ОФД: где-то ограничений нет, где-то есть лимит запросов или плата за доступ к API. Для ежедневной автоматизации это уточняют у оператора до настройки.

Нужна помощь с выгрузкой?

Соберём чеки из ОФД в Excel/CSV или загрузим данные в 1С — от 1 500 ₽. Пришлите ОФД, количество касс и период.