← Все кейсы

Кейс 06 / Демонстрационный проект

AI-контроль продаж и остатков

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

ФорматДемонстрационный проект · тестовые CSV
Что сделалПравила сверки · приоритеты · интерфейс · проверки
ТехнологииNode.js · HTML · CSS · JavaScript · AI по запросу
Схема работы сервиса: три CSV-выгрузки, сверка товара и склада, приоритетный разбор расхождения

Задача

Проверять расхождения без ручной сверки выгрузок

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

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

Сверка

Сначала проверка данных, затем расчёт

Сервис принимает три CSV-файла: доступные к продаже остатки маркетплейса, такие же остатки учётной системы и продажи за последние семь дней. Названия складов можно сопоставить в интерфейсе.

01 / ЗагрузкаОстатки и продажи из трёх CSV
02 / ПроверкаАртикулы, склады, дубли и время
03 / СравнениеРазница только для сопоставимых строк
04 / РазборПриоритет и исходные данные

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

Продажи за семь дней влияют на приоритет: случаи по товарам с активным спросом поднимаются выше. В карточке менеджер видит исходные строки, ход расчёта и объяснение приоритета; может оставить заметку, поставить статус «В работе» или «Проверено» и скачать CSV-отчёт. Статусы и заметки сохраняются после перезапуска.

Пример

120 штук расхождения по A-1001

В проверочном примере маркетплейс показывает 120 доступных к продаже штук, а учётная система — 0 на сопоставленном складе. Продажи за семь дней — 28 штук. В исходных материалах также записан ответ бота: «0 штук».

Расчёт

120 − 0 = 120 штук расхождения.

Приоритет

Высокий: по товару есть продажи, поэтому его стоит проверить раньше.

Карточка не объявляет причину расхождения: по этим файлам её установить нельзя. Менеджер проверяет время обновления, правила учёта доступного остатка и источник ответа бота.

AI

Подсказка по готовому разбору, а не расчёт вместо программы

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

Числа и признаки проблем рассчитывает программа. AI не меняет данные и не отправляет сообщения; причину и дальнейшие действия определяет человек. Если API-ключ не настроен, сверка, разбор и CSV-отчёт продолжают работать, а интерфейс сообщает, что AI-подсказка недоступна.

Результат проверки

На тестовом наборе нашёл все внесённые проблемы

40товаров в подготовленном наборе
11 из 11внесённых проблем найдены
3случая высокого приоритета
33пары «артикул + склад» сравнены

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

Это результат подготовленного тестового набора. Сокращение времени работы и экономический эффект пока не измерялись.

Сейчас и дальше

От CSV к рабочим подключениям

Сервис запускается локально на Node.js; интерфейс написан на HTML, CSS и JavaScript. Для основной сверки не нужны регистрация и сторонние пакеты. Сейчас данные загружаются из CSV, авторизации в сервисе нет.

Для работы с действующими кабинетами Wildberries и Ozon и учётной системой нужны подключения к их API, безопасное хранение доступа, согласованные правила расчёта доступного остатка и регулярное обновление данных.