Лучшую цену тоже помогает выбирать

Привет, я Даниил Румянцев, основатель компании «Программы 93». Внедряем, разрабатываем и дорабатываем программы 1С — от бюджетных решений до ERP-систем для крупных предприятий.
Компания-дистрибьютор автозапчастей обратилась к нам с задачей: упростить и ускорить процесс закупок у китайских поставщиков. Раньше на подготовку одного заказа уходил почти месяц, теперь — всего 1-2 дня. Расскажу, как устроен помощник закупок и какую формулу выводили полгода вместе с экономистом.
В прошлый раз рассказывал про разработку системы учёта, которая автоматизировала расчеты зарплат водителей для этой же компании.
Исходная точка: закупки в Excel, месяц работы на заказ
Закупаться у китайских поставщиков выгодно, цены там значительно ниже, чем у российских конкурентов, но это сложный процесс.
У нашего клиента 7–8 поставщиков из Китая, каждый присылает прайс в Excel. Менеджер вручную открывал каждый файл, искал нужные позиции, сравнивал цены, формировал заказ. По сути — собирал вручную таблицу для анализа цен, а потом и сам заказ. Очень трудоёмко, так как в прайсах около 10 000 позиций. На такой процесс уходило до месяца.
Кроме того, товары из Китая поставляются долго: 1–3 месяца с момента заказа. Это значит, что нужно заранее понимать, какие запчасти понадобятся через два-три месяца, учесть скорость продажи и востребованность. Ошибаться было нельзя: излишки занимают склад, а если товара нет, клиент не будет ждать, уйдет к конкуренту и купит у него.
Глобально, задача клиента — автоматизировать закупки:
не тратить месяц на подготовку одного заказа;
учитывать скорость продаж;
не перегружать основную 1С-базу лишней номенклатурой;
видеть рекомендации — что, у кого и в каком количестве заказать.
Почему не подошли типовые решения 1С
Сразу скажу, что в 1С есть встроенные механизмы для прогнозирования закупок, но они не подошли — слишком обобщенные. Клиент хотел более точный инструмент, чтобы закупки учитывали специфику продаж, сроки доставки, и остатки на складе.
Прайсы загружаются в базу и было важно не перегружать основную систему 1С десятками тысяч позиций. При больших объёмах поставок это «захламит» базу, замедлит работу и усложнит процессы. Поэтому решили сделать отдельную базу, куда грузятся только прайсы поставщиков, и разработать помощника закупок, который будет работать параллельно с основной системой.
Находим лучшую цену: как работает помощник закупок
Наши разработчики создали внешнее решение — отдельную 1С-базу, в которую вручную загружаются Excel-прайсы китайских поставщиков. Сервис конвертирует цены из юаней по актуальному курсу. Затем алгоритм анализирует цены от разных поставщиков и рекомендует, у кого лучше заказать каждую позицию.


Система сделана на базе 1С: Управление торговлей, но легко адаптируется под любые конфигурации, например, 1С: Комплексная автоматизация или ERP. Просто будет еще одна база с прайсами поставщиков только для закупок.
Но сравнить цены и выбрать лучшие — мало. Нужно ещё понять, сколько деталей заказывать. Поэтому экономисты помогли разработать формулу для таких прогнозов. Вот что она учитывает:
скорость и сумму продаж каждой позиции;
количество дней, которое товар проводит на складе;
срок доставки от поставщика;
остатки на складе.
По этим данным система рассчитывает рекомендованное количество товара к заказу.
В базе около 10 000 уникальных товаров и в какой-то момент формула давала «искажение»: например, товар, купленный под заказ, сразу же продавался, и система считала его «самым ходовым». Пришлось корректировать логику расчета и учитывать скорость продаж товара со склада, чтобы исключить такие ситуации.
Про создание самой формулы еще отдельно расскажу чуть ниже.
В конце менеджер просматривает уже сформированный заказ и нажимает кнопку «Создать заказ». Дальше 1С автоматически готовит типовой документ «Заказ поставщику».


Сделали формулу вместе с экономистом
Формула для расчета количества товара к заказу — отдельная история. Ее мы разрабатывали совместно с экономистом клиента. Программисты адаптировали систему под формулу, а экономист проверял её корректность на реальных данных и в процессе вносил уточнения.
Сначала мы строили систему на простом правиле: «если товара нет — пора заказать». Потом поняли, что нужен более точный механизм, и нужно учитывать с какой скоростью продаются товары: одни детали могут быть ходовыми, их покупают каждый день, а другие только 1-2 раза в месяц — это и нужно было учесть, чтобы корректнее давать рекомендации по закупкам.
Чтобы прийти к конечному варианту формулы, понадобилось полгода. Мы постоянно тесно взаимодействовали с экономистом. Он предлагал варианты расчетов, показатели и объяснял, как их нужно распределить. Мы реализовывали идеи, а потом экономист проверял результат и анализировал. Если что-то не сходилось, снова обсуждали и дорабатывали.
Система сразу тестировалась на реальной базе клиента. Разработка была внешней, работы не затрагивали основную конфигурацию, поэтому отдельный стенд для тестирования не понадобился. Это ускорило внедрение и проверку гипотез.
Менеджер больше не тратит время на ручное сопоставление Excel-файлов
После внедрения помощника закупок для компании процесс стал намного проще:
Система сама сравнивает прайсы и предлагает оптимальные заказы.
В интерфейсе наиболее выгодная цена выделена цветом и жирным шрифтом — чтобы быстрее ориентироваться.
Менеджер может вручную проверить или скорректировать заказ, но основную работу делает система.
После того, как заказ создали, в 1С формируются готовые документы.
Раньше на формирование заказа уходил почти месяц — особенно если нужно было обработать весь объём позиций. Теперь менеджер тратит 1–2 дня, вместе с финальной проверкой. Основная база 1С не перегружена: все прайсы вынесены в отдельную систему.
Я рассказал только про закупки из Китая, но дальше в эту же отдельную базу мы вынесли и закупки от российских поставщиков. У клиента поставщиков из России больше, чем из Китая, значит, больше и прайсов, поэтому, если мы вынесем их отдельно, это тоже облегчит нагрузку на основную базу.

Прайсы от российских поставщиков, кстати, автоматически подгружаются в базу через почту. Это работает так: к системе привязан почтовый ящик, на который поставщики отправляют свои актуальные прайс-листы, после чего они сразу интегрируются в базу.
Для кого подойдет
Скажу отдельно про универсальность помощника закупок из Китая. Его можно адаптировать под любые товарные бизнесы, не только автозапчасти. А география закупок не ограничена — можно подключить поставщиков любой страны.
Система будет полезна любой компании, где есть регулярные закупки у поставщиков:
с большим ассортиментом (десятки тысяч позиций);
с закупками за рубежом, где важен срок поставки;
где нужно снижать складские остатки, но при этом не терять продажи.
Как я уже писал выше, прайсы можно загружать не только вручную, а настроить автоматическую загрузку с почты или даже по API.
API можно настроить и на обмен в обратную сторону. Если у поставщика есть API, можно получать данные и отправлять заказы напрямую в его систему — они сразу появляются у него в базе. Это ускорит процесс: менеджеру не нужно будет отдельно отправлять документ с заказом на почту поставщика, а потом ждать, когда письмо обработают.