TenderScanБлог
Семён Метелёв · Основатель TenderScan··8 мин чтения

Автоматизация закупок в 1С: выгрузка номенклатуры и цен

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

Автоматизация закупок в 1С: выгрузка номенклатуры и цен

ИИ-ассистент для тендеров под ваши задачи — обсудим на бесплатной консультации

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

Что должно уезжать из 1С в тендерный контур

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

Блок Поля Откуда в 1С
Идентификация артикул, код, наименование, полное наименование справочник «Номенклатура»
Классификация ОКПД-2, вид номенклатуры, группа, производитель реквизиты и дополнительные реквизиты номенклатуры
Характеристики атомарные пары «параметр: значение» с единицей характеристики номенклатуры, дополнительные сведения
Упаковка и единицы базовая единица, коэффициент упаковки, кратность единицы измерения номенклатуры
Цены закупочная, плановая себестоимость, минимальная отпускная регистр сведений «Цены номенклатуры», виды цен
Наличие остаток по складам, резерв, товар в пути регистры остатков товаров
Условия срок поставки, минимальная партия, НДС реквизиты номенклатуры и договоров поставщиков

Названия объектов приведены для «Управления торговлей 11» и родственных конфигураций. В «Бухгалтерии» характеристики и виды цен устроены беднее, часть данных придётся хранить в дополнительных реквизитах или тянуть из внешнего источника.

Ключевое требование к выгрузке одно: характеристики должны быть атомарными. Строка вида «Кабель ВВГнг-LS 3х2,5 660/1000В ГОСТ 31996-2012, барабан 200 м» для автоматической сверки бесполезна: система не знает, где здесь сечение, где напряжение, а где длина отреза. Та же информация в виде отдельных пар («число жил: 3», «сечение: 2,5 мм²», «напряжение: 660/1000 В», «длина в бухте: 200 м») сверяется с требованиями ТЗ построчно.

Три способа выгрузки и когда какой брать

Способ Трудоёмкость запуска Актуальность данных Кому подходит
Выгрузка в Excel вручную часы на момент выгрузки до 500 позиций, редкие изменения цен
CommerceML (обмен с сайтом) 1–2 дня работы программиста по расписанию, обычно раз в сутки 500–20 000 позиций, стабильная структура
OData или собственный HTTP-сервис 2–5 дней работы программиста по запросу, вплоть до реального времени большой прайс, частые изменения цен и остатков

Excel

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

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

CommerceML

Штатный механизм обмена с сайтом формирует два файла: import.xml с товарами, группами и свойствами и offers.xml с ценами, остатками и единицами. Формат покрывает почти весь нужный набор полей и умеет отдавать свойства товара отдельными элементами, а не одной строкой описания.

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

OData и HTTP-сервисы

Публикация базы на веб-сервере с включённым стандартным интерфейсом OData даёт доступ к справочникам и регистрам по HTTP. Номенклатура читается как Catalog_Номенклатура, цены как срез последних записей регистра цен, остатки как остатки регистра накопления. Поддерживаются отбор и выбор полей, поэтому забирать можно только изменившееся.

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

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

Цены: какие именно выгружать

Одна колонка «цена» в тендерной выгрузке бесполезна. Нужны минимум три вида цен, и лучше завести их в 1С отдельными видами:

  1. Закуп. Последняя фактическая цена поставщика с датой. Без даты цена не работает: закуп трёхмесячной давности в расчёте лота даёт ложную маржу.
  2. Плановая себестоимость на складе. Закуп плюс входящая логистика и таможня, если она есть.
  3. Минимальная отпускная. Цена, ниже которой вы не опускаетесь на торгах. Это не расчёт, а управленческое решение, но храниться оно должно в системе, а не в голове у руководителя отдела.

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

Как посчитать экономику лота на выгруженных данных

Когда номенклатура, цены и остатки лежат в одном месте, расчёт лота превращается в арифметику.

Себестоимость лота = Σ (Плановая себестоимость_i × Количество_i)
Издержки лота      = Доставка + Обеспечение + Плата ЭТП + Работа отдела
Предельная цена    = (Себестоимость + Издержки) / (1 - Целевая маржа)
Максимальное падение = 1 - Предельная цена / НМЦК

Пример на лоте из трёх позиций с НМЦК 1 200 000 ₽. Себестоимость по выгрузке 890 000 ₽, доставка 35 000 ₽, стоимость замороженного обеспечения и платы площадке около 12 000 ₽, работа отдела 5 часов по 800 ₽. Итого 941 000 ₽. При целевой марже 10% предельная цена 1 045 555 ₽, то есть падать можно максимум на 12,9% от НМЦК.

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

Чек-лист качества выгрузки

  • У каждой позиции есть уникальный артикул, и он не меняется при переименовании товара.
  • Наименование не содержит характеристик, которые должны лежать отдельными полями.
  • Единицы измерения приведены к одной системе, коэффициенты упаковки заполнены.
  • Числовые характеристики выгружаются числом и единицей отдельно, а не строкой «2,5 мм²».
  • Диапазоны выгружаются как минимум и максимум, а не текстом «от 1,5 до 2».
  • Позиции, снятые с продажи, помечены и не попадают в выгрузку.
  • Дата актуальности цены присутствует в каждой строке.
  • Остаток отделён от резерва и от товара в пути.
  • Размерные линейки выгружаются как отдельные позиции с общими характеристиками семейства, а не одной строкой «размеры от S до XXL».

Последний пункт даёт самый заметный эффект на СИЗ, спецодежде, обуви, метизах и трубах. Если размерный ряд свёрнут в одну строку, автоматическая сверка с ТЗ либо пропустит подходящий лот, либо отметит как подходящий тот, где нужного размера у вас нет.

Куда это отдавать дальше

Выгрузка сама по себе ничего не решает. Ценность появляется, когда данные попадают в контур, который сопоставляет их с требованиями закупок. В TenderScan прайс загружается один раз и разбирается на атомарные характеристики каждой позиции: числа с единицами, диапазоны, качественные значения, размерные варианты. Дальше система сама сопоставляет позиции каталога с требованиями ТЗ по каждому лоту и показывает, где расхождение критично. Чем чище выгрузка из 1С, тем меньше ручных правок на этом шаге.

Регламент, без которого всё разъедется

  • Выгрузка запускается регламентным заданием, а не человеком.
  • Периодичность: номенклатура и характеристики раз в сутки, цены и остатки чаще, вплоть до часа.
  • Ошибки выгрузки пишутся в журнал и уходят уведомлением ответственному.
  • Изменения структуры справочников согласуются с тем, кто отвечает за тендерный контур.
  • Раз в квартал проводится сверка: случайные 20 позиций сравниваются вручную с карточками в 1С.

Часто задаваемые вопросы

Обязательно ли программировать, чтобы выгрузить прайс из 1С?

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

Что делать, если характеристики в 1С хранятся одной строкой описания?

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

Как часто обновлять цены для тендерной работы?

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

Нужно ли выгружать остатки, если поставка идёт под заказ?

Да, но вместе со сроком поставки и минимальной партией. Без этих полей расчёт срока исполнения контракта делается на глаз, а именно из-за сроков чаще всего прилетают пени.

Что сделать на этой неделе

Возьмите последние десять лотов, по которым вы готовили заявку, и посчитайте, сколько времени ушло на поиск характеристик, цен и остатков вручную. Умножьте на месячный поток заявок. Полученные часы и есть бюджет, в который должна уложиться настройка выгрузки. Начните с Excel-версии и списка недостающих полей: он покажет, что чинить в самой 1С, до того как вы закажете интеграцию.

ИИ-ассистент под ваши тендеры

Бесплатный аудит и консультация: разберём ваши тендерные процессы, найдём узкие места и что можно автоматизировать, а дальше — готовый ИИ-ассистент или разработка под вас. Без обязательств.

Другие статьи