Как выгрузить чеки из ОФД за месяц: разбивка периода и свод в Excel
Месячная выгрузка чеков редко получается одним нажатием: кабинет ограничивает период или число строк, касс обычно несколько, а смена на границе месяца живёт сразу в двух интервалах. Ниже — рабочий порядок: как задать границы периода, разбить его на части, склеить файлы без дублей и свести выручку в одну таблицу.
Главное правило месячной выгрузки: сначала определить границы периода и список касс, потом выгружать, и только потом считать. Если считать «по частям на глаз», расхождение с бухгалтерией почти гарантировано — и искать его придётся дольше, чем делать правильно.
Почему «за месяц» — это не одно нажатие
Отчёт за месяц упирается в ограничения, о которых обычно узнают уже в процессе: период режется лимитом, число строк обрезается, касс несколько, а на границе месяца часть чеков попадает «не туда».
| Что мешает | Как проявляется | Что делать |
|---|---|---|
| Лимит периода | Кабинет формирует отчёт только за несколько дней или неделю | Делить месяц на равные интервалы и склеивать файлы |
| Лимит строк | Последняя дата в файле раньше конца месяца | Проверять дату последнего чека и выгружать остаток |
| Несколько касс | Приходит набор файлов без указания точки | Выгружать по одной кассе и добавлять колонку с ККТ |
| Часовой пояс | Чеки «съезжают» на несколько часов и в соседний день | Приводить всё к поясу точки, а не сервера |
| Смена через 1-е число | Выручка месяца не сходится ровно на одну смену | Считать по дате документа, смены сверять отдельно |
Шаг 1. Зафиксируйте границы месяца
Пока границы не записаны, любая выгрузка — лотерея. Достаточно определить четыре параметра:
- Начало — 1-е число, 00:00 по времени точки.
- Конец — последнее число, 23:59:59 того же пояса.
- Список касс — РН ККТ или заводские номера; для сети ещё и названия точек.
- Что считаем — только приходы, приходы минус возвраты, включать ли коррекции.
Отдельно договоритесь с бухгалтерией, как трактовать переходящие смены. Обычное правило — «по дате чека»: чек, пробитый 1-го числа в 00:30, относится к новому месяцу, хотя смена началась 30-го. Если правило другое, его нужно зафиксировать до выгрузки, иначе сверка не сойдётся никогда.
Шаг 2. Разбейте месяц на интервалы
Если кабинет отдаёт месяц целиком — выгружайте целиком. Если нет, рабочая схема — недельные интервалы: их проще проверять, и при сбое перезагружается один файл, а не весь месяц.
- Границы интервалов не пересекаются. Первый: 1-е 00:00 — 7-е 23:59:59, второй: 8-е 00:00 — 14-е 23:59:59 и так далее.
- Последний интервал добирает остаток месяца. Число дней в месяце не кратно неделе — это нормально.
- В имени файла — границы и касса:
2026-09_01-07_kkt-0001234567.xlsx. Через месяц это сэкономит часы. - Одна касса — один набор файлов. Смешивать кассы в одну папку без пометки в имени нельзя.
Шаг 3. Выгрузите и склейте
- Выгрузите интервалы по каждой кассе, сохраняя файлы по схеме выше.
- Проверьте каждый файл на обрезку: дата последнего чека должна совпадать с концом интервала.
- Склейте файлы объединением строк, а не суммированием: заголовок остаётся один.
- Добавьте колонку с точкой, если её нет в самих файлах.
- Удалите дубли по связке ФН + ФД + ФПД: при повторной выгрузке одного интервала строки задваиваются.
- Сверьте итог по файлу с отчётом о закрытии смен за месяц.
Шаг 4. Сведите месяц в одну таблицу
После склейки нужен не «сырой» файл на 40 тысяч строк, а свод, с которым работают бухгалтерия и владелец. Минимальный набор:
| Срез | Что показывает | Где чаще спрашивают |
|---|---|---|
| По дням | Выручка и число чеков за каждый день | Сверка с эквайрингом и кассовой книгой |
| По кассам и точкам | Выручка точки, средний чек | Сравнение точек, план-факт |
| По сменам | Открытие, закрытие, выручка смены | Контроль кассиров, дисциплина смен |
| Приходы и возвраты | Отдельно приход и возврат прихода | Отчёт для налоговой, анализ возвратов |
| По товарам | Количество и сумма по наименованиям | Товарный отчёт (нужны позиции) |
Порядок важен: сначала приходы, потом возвраты, и только потом разница. Если считать «всё вместе», выручка за месяц окажется меньше, чем в кассе, и разбираться в этом придётся по каждой смене.
Как ускорить следующую месячную выгрузку
Первый месяц всегда самый долгий: разбираетесь с интерфейсом, лимитами и структурой файлов. Дальше вариантов три:
- Сохранить настройки отчёта. Если кабинет умеет запоминать шаблон, сохраните его: те же кассы, тот же набор колонок, те же интервалы.
- Держать порядок в файлах. Имена по схеме «год-месяц_интервал_касса» и отдельная папка на месяц превращают склейку в одно действие.
- Автоматизировать. Скрипт по API сам делит период, забирает документы, проверяет дубли и складывает готовый Excel в папку, на почту или в Telegram.
Автоматизация окупается не «сложностью», а повторяемостью: если выгрузка нужна каждый месяц и касс больше двух, ручные клики съедают те же часы, что и настройка один раз.
Типичные ошибки месячной выгрузки
- Двойной день на стыке интервалов. Первый интервал закончили 7-го в 23:59:59, второй начали 7-го в 00:00 — день попал в оба файла.
- Не учтены возвраты. В файле только приходы — выручка завышена, бухгалтерия такой отчёт не принимает.
- Незакрытая смена. Последние чеки месяца остались в открытой смене и не попали в свод.
- Другая точка. В файл случайно попала касса соседнего магазина — итог вырос на чужую выручку.
- Разные часовые пояса. Часть касс в другом регионе: после склейки чеки за 1-е и последнее число съезжают.
- Excel округлил суммы. Колонка отформатирована как число с двумя знаками — копейки в своде не сходятся.
Частые вопросы
Можно ли выгрузить чеки из ОФД сразу за месяц?
Иногда да — если кабинет и тариф позволяют сформировать отчёт за длинный интервал. Чаще период или число строк ограничены, и месяц делят на недели или смены, а потом склеивают файлы.
За какой срок ОФД хранит данные для выгрузки?
Фискальные документы хранятся у оператора не менее пяти лет, но личный кабинет отдаёт их по правилам тарифа. За старый период надёжнее запрашивать документы через API частями.
Как считать месяц, если смена перешла через первое число?
Чек относите к дате документа, а не к дате смены. Месяц отдельно сверяйте по отчёту о закрытии смен: разница ровно в одну смену — обычная причина расхождения.
Почему сумма за месяц меньше, чем в 1С или эквайринге?
Чаще всего не учтены возвраты и коррекции, обрезан последний день периода или файлы выгружены в разных часовых поясах. Проверять нужно по количеству чеков и дате последнего документа.
Как автоматизировать выгрузку чеков за месяц?
Через API оператора и скрипт по расписанию: он сам делит период на интервалы, склеивает результат, проверяет дубли и складывает готовый файл в папку, на почту или в Telegram.