CSV/XLSX-прайс-лист используют, когда поставщик передает данные в таблице: артикулы, названия, категории, цены, остатки, валюту, ссылки на изображения и дополнительные колонки. Eofferix принимает CSV, XLS, XLSX, XLSM, а также ZIP-архивы, если внутри лежит поддерживаемый табличный файл.
1. Источник и создание шаблона
Источник можно загрузить один раз или получать регулярно по расписанию:
- загрузить файл с компьютера;
- получать файл по прямой ссылке или ссылке с авторизацией;
- забирать файл по FTP, FTPS или SFTP;
- получать вложение из email;
- использовать Google Таблицы, Яндекс Таблицы, Google Drive или Яндекс Диск;
- получать файл через API поставщика или другой поддерживаемый модуль источника.

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

2. Настройка загрузки таблицы
Сначала проверьте структуру таблицы: нужный лист, строку заголовков, строки, которые не надо загружать, и правила контроля изменений. Строка заголовков не попадет в данные как товарная строка: для CSV/XLS/XLSX она станет шапкой нового документа, для XML даст названия узлов, а для JSON - ключи объектов. Если в начале прайс-листа есть справочная информация поставщика, дата обновления или комментарии, укажите эти строки в поле "Какие строки не грузить". Обычно таких строк не больше 20, а предпросмотр показывает первые 30 строк, поэтому их удобно отметить сразу.

Если в файле несколько листов с одинаковой или близкой структурой, включите объединение листов. Перед объединением на каждом листе отдельно укажите строку заголовков и строки, которые не нужно загружать: например, на одном листе шапка может быть в строке 4, а на другом - в строке 2.

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

Было
| Раздел | Артикул | Название | Цена |
|---|---|---|---|
| Мебель | |||
| Столы | |||
| DESK-01 | Стол письменный Нордик | 12900 | |
| Кресла | |||
| CHAIR-02 | Кресло Лофт графит | 8900 |
Стало
| sku | name | section_path | price |
|---|---|---|---|
| DESK-01 | Стол письменный Нордик | Мебель / Столы | 12900 |
| CHAIR-02 | Кресло Лофт графит | Мебель / Кресла | 8900 |
3. Табличный снапшот и настройки полей
После настройки загрузки Eofferix анализирует таблицу и создает короткий табличный снапшот. Снапшот показывает листы, найденные колонки, строку заголовков и несколько строк-примеров, а не весь большой файл целиком.
Снапшот нужен не для ручного просмотра всех строк, а для настройки итоговой структуры. По нему выбирают, какие колонки попадут в результат, какие поля нужно переименовать, какие значения очистить или рассчитать.

В снапшоте можно открыть настройки конкретной колонки: переименовать поле, добавить правила преобразования, задать условия выгрузки, изменить внешний вид, создать переменную или использовать значения из других колонок текущей строки.
Например, для колонки price можно открыть настройки поля, добавить правило округления, выбрать в окне правила округления шаг до 1000, сохранить настройку и сразу увидеть в списке обновленные значения.

Что можно преобразовать
- переименовать колонки и поля результата;
- изменить порядок колонок или итоговую структуру;
- удалить лишние данные;
- отфильтровать строки по цене, остатку, категории, артикулу или другому условию;
- очистить текст, удалить пробелы и служебные символы;
- заменить значения и нормализовать справочники;
- преобразовать числа, валюты и даты;
- округлить цены;
- посчитать наценку, скидку или закупочную цену;
- использовать соседние колонки в расчетах;
- создать новые колонки;
- создать переменные для промежуточных расчетов;
- обработать изображения из ссылок в колонке: конвертировать в JPG, PNG или WebP, изменить размер, наложить водяной знак;
- импортировать результат в поддерживаемые приложения или выгрузить его в нужном формате.
Примеры преобразований
Инструмент преобразований позволяет сильно менять итоговую выгрузку: чистить исходные данные, собирать новую структуру, создавать дополнительные поля, фильтровать товары, рассчитывать значения и готовить результат под нужный формат или приложение.
Простой пример: убрать служебные строки
В прайсе первые строки содержат дату обновления и комментарий поставщика. В настройках табличной структуры укажите строку заголовков и пропустите строки выше нее.

Было
| Прайс Partner1 | |||||
| Обновлено: 2026-05-26 | |||||
| Артикул | Название | Раздел | Цена | Остаток | Валюта |
| DESK-01 | Стол письменный Нордик | Мебель / Кабинет / Столы | 12 900 | 14 | RUB |
Стало
| sku | name | category | price | stock | currency |
|---|---|---|---|---|---|
| DESK-01 | Стол письменный Нордик | Мебель / Кабинет / Столы | 12900 | 14 | RUB |
Пример с условиями: выгрузить только строки с остатком
Для колонки остатка добавьте условие выгрузки: строка попадает в результат, если остаток больше нуля. Так в итоговый файл не попадут товары, которых сейчас нет у поставщика.

Было
| sku | name | stock |
|---|---|---|
| DESK-01 | Стол письменный Нордик | 14 |
| CHAIR-02 | Кресло Лофт графит | 0 |
Стало
| sku | name | stock |
|---|---|---|
| DESK-01 | Стол письменный Нордик | 14 |
Пример с новой колонкой: рассчитать цену продажи
Добавьте новую колонку margin_price, если в исходном файле есть закупочная цена, но в результате нужна цена продажи. В правилах колонки можно заменить текущее пустое значение на {price} и затем увеличить его на процент. После сохранения настройки значение новой колонки пересчитывается в табличном снапшоте.

Было
| sku | price | currency |
|---|---|---|
| DESK-01 | 12900 | RUB |
Стало
| sku | price | margin_price | currency |
|---|---|---|---|
| DESK-01 | 12900 | 14448 | RUB |
Пример с последовательными преобразованиями: подготовить цену
Пример последовательных преобразований для поля Цена. Преобразования могут учитывать не только текущее значение, но и использовать для расчетов иные колонки документа.

Было
| price | stock |
|---|---|
| 12 900 | 140 |
Стало
| price | stock |
|---|---|
| 14400 | 140 |
Новые колонки
Новая колонка нужна, когда в результате должно появиться поле, которого нет в исходной таблице, или когда исходные данные нужно разложить иначе.
Колонку можно заполнить:
- значением из другого места исходной таблицы;
- системным значением, например датой запуска или именем источника;
- выражением, например склеить путь категории или посчитать процент скидки;
- сделать ее переменной.

Например, можно собрать новую колонку full_name: сначала взять название товара, затем добавить артикул, если он не пустой, и затем добавить материал в скобках, если материал есть в строке.

Было
| name | sku | material |
|---|---|---|
| Стол письменный Нордик | DESK-01 | дуб |
Стало
| name | sku | material | full_name |
|---|---|---|---|
| Стол письменный Нордик | DESK-01 | дуб | Стол письменный Нордик DESK-01 (дуб) |
Переменные
Переменная хранит промежуточный результат и помогает использовать одно рассчитанное значение в нескольких правилах. Важный момент: переменные не попадают в итоговую выгрузку, они нужны только для помощи остальным преобразованиям.
Например, можно один раз рассчитать базовую цену с учетом коэффициента поставщика, сохранить ее в переменную и затем использовать для цены продажи, скидки и условия выгрузки.

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