Главная / Инструкции / Позиции чеков

Как выгрузить чеки из ОФД с позициями (наименованиями товаров)

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

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

Шапка чека и позиции: в чём разница

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

Что видно в отчётеШапка чекаПозиции (предметы расчёта)
Дата и времяЕстьНаследуются из шапки
Касса (РН ККТ), ФН, ФД, ФПДЕстьНаследуются из шапки
Итог чекаЕстьНет, есть сумма каждой строки
Наименование товараНетЕсть (тег 1059)
Количество, цена, сумма строкиНетЕсть (теги 1023, 1079, 1043)
НДС и признак предмета расчётаТолько итогом по чекуЕсть по каждой строке (1199, 1214)

Отсюда типичная ситуация: в файле количество строк равно числу чеков, а не числу проданных товаров. Для сверки выручки этого достаточно, для товарного отчёта — нет.

Что считается позицией чека

Позиция — это одна строка чека, описанная набором тегов ФФД. Понимать их полезно: именно по этим полям собирается таблица и проверяется полнота выгрузки.

Тег ФФДПолеЗачем нужно в Excel
1059Наименование предмета расчётаТоварный отчёт, поиск по названию
1023КоличествоАналитика продаж, весовой товар
1079Цена за единицуСравнение с прайсом, наценка
1043Стоимость позицииОснова всех сумм по строкам
1199Ставка НДСРазделение выручки по ставкам
1212, 1214Мера количества и признак предмета расчётаШтука или килограмм, товар или услуга
Если в файле есть только поля шапки (1040 — номер ФД, 1041 — номер ФН, 1077 — ФПД, 1037 — РН ККТ), значит выгружались документы без состава. Искать «потерянные» позиции в таком файле бессмысленно: их там нет.

Четыре способа получить позиции

Способов немного, и отличаются они не «качеством», а количеством ручной работы.

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

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

Пошагово: выгрузка позиций

  1. Проверьте, есть ли отчёт с составом чека в вашем тарифе. Смотрите не только раздел «Отчёты», но и «Документы», «Аналитика», «Товары»: у операторов это часто разные места.
  2. Уточните ограничения у поддержки. Один вопрос экономит день: отдаёт ли тариф позиции, за какой период и в каком формате.
  3. Выгрузите тестовый день. Одна касса, один день с известной выручкой — на маленьком объёме сразу видно, пришли ли наименования и совпадают ли суммы.
  4. Сверьте: сумма строк внутри чека равна итогу чека. Если не равна, приехали не все предметы расчёта.
  5. Соберите таблицу. Одна строка — одна позиция; поля шапки (дата, касса, ФД) дублируются в каждой строке, чтобы файл можно было фильтровать и сводить.
  6. Проверьте дубли и кодировку. Файл приходит в UTF-8 или Windows-1251, а связка ФН + ФД + ФПД должна быть уникальной.
Тестовый день — самый дешёвый способ поймать проблему. На месячной выгрузке та же ошибка (например, отсутствие наименований) обнаруживается только после того, как файл уже ушёл в бухгалтерию.

Как должна выглядеть таблица с позициями

Рабочий файл с позициями почти всегда содержит один и тот же набор колонок. Такой структуры достаточно и для Excel, и для загрузки в 1С, и для товарной аналитики:

  • дата и время чека;
  • название точки и РН ККТ (заводской номер);
  • ФН, ФД, ФПД — по ним чек находят в кабинете ОФД;
  • признак расчёта: приход, возврат прихода, коррекция;
  • номер строки в чеке — он же ключ уникальности позиции;
  • наименование товара;
  • количество и мера (шт, кг, л);
  • цена за единицу и сумма строки;
  • ставка и сумма НДС, признак предмета расчёта.

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

Проверка полноты: пять контролей

  • Сумма позиций = итог чека. Считается по каждому чеку отдельно, а не по файлу целиком.
  • Количество строк = числу предметов расчёта. Если в чеке было три товара, а строк две — одна потерялась.
  • Нет дублей по ключу ФН + ФД + ФПД + номер строки.
  • Дата последнего чека соответствует концу периода, а не середине.
  • ФН и ФПД не испортились: в Excel они должны быть текстом, а не числом вроде 9,96786E+15.
Если суммы по строкам сходятся, а наименования выглядят «сырыми» (коды, латиница, обрезанные слова), проблема уже не в выгрузке, а в настройке кассы: состав чека печатается так, как заведено в товароучётной системе. Отчёт ОФД покажет ровно то, что было пробито.

Типичные проблемы

  • Позиции приходят в base64 или с неправильной кодировкой. В ответах API часть полей может быть закодирована — их декодируют до сборки таблицы. В CSV проблемы кодировки видны как нечитаемые символы вместо кириллицы.
  • Количество пустое или равно нулю. Часто у услуг и сертификатов: сумма есть, количества нет, и такие строки нужно обрабатывать отдельно.
  • Весовой товар. Количество приходит дробным (например, 0,355 кг); если Excel округлит колонку до целых, данные испортятся безвозвратно.
  • Возвраты с отрицательными суммами. У них другой признак расчёта; если суммировать всё подряд, получится «выручка минус возвраты» вместо двух отдельных показателей.
  • Excel «съел» артикулы. Длинные наименования и строки с ведущими нулями портятся при импорте — файл нужно читать как текст.
  • Позиции есть не за весь период. Старые документы могут отдаваться частями: проверяйте даты первой и последней строки, а не только итоговую сумму.

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

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

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

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

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

Отдаёт ли ОФД позиции чеков или только суммы?

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

Почему в выгрузке нет наименований товаров?

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

Как проверить, что выгружены все позиции?

По каждому чеку: сумма строк равна итогу чека, число строк равно числу предметов расчёта, а связка ФН + ФД + ФПД + номер строки не повторяется.

В каком виде позиции приходят через API?

В структурированном виде с тегами ФФД: 1059 — наименование, 1023 — количество, 1079 — цена, 1043 — стоимость, 1199 — ставка НДС. Часть полей отдаётся в base64, их декодируют перед сборкой таблицы.

Можно ли получить позиции за прошлый год?

Да, фискальные документы хранятся у оператора не менее пяти лет. Крупный период придётся собирать частями — из-за лимитов API и правил тарифа.

Нужны позиции чеков в Excel?

Соберём чеки из ОФД с составом: наименование, количество, цена, сумма и НДС — по кассам и точкам, с проверкой дублей и сверкой сумм. От 3 000 ₽.

Смотрите также: выгрузка чеков из ОФД в Excel, выгрузка из Платформы ОФД, выгрузка чеков за месяц.