Задача
Закупочные заявки от поставщиков приходят в разных форматах: Excel, CSV, текстом в мессенджере или фото оборудования. Их ручной перенос в корпоративный шаблон занимает время, приводит к ошибкам в артикулах и требует постоянной проверки.
Нужно было автоматизировать подготовку заявок, сохранив главный принцип: пользователь должен контролировать каждую позицию до экспорта.
Решение
Создан сервис с CLI и Telegram-ботом. Он принимает .xlsx, .xlsm, .xls, .csv, .txt, а также фотографии шильдиков; выделяет наименование, артикул, количество, бренд и технические характеристики; показывает пользователю проверяемый черновик и формирует Excel по корпоративному шаблону после подтверждения.
Для устойчивых входных данных работает детерминированный parser. AI подключается как явно включаемый fallback для сложной структуры и как независимый аудитор распознанных строк. Если результат неуверенный или проверки расходятся, позиция остаётся на ручную проверку.
Ключевые функции
- распознавание заявок из файлов, текста и фотографий шильдиков;
- поиск русских и английских вариантов заголовков без привязки к колонкам;
- локальный каталог производителей, алиасов и артикулов без внешнего поиска;
- редактируемый черновик: добавление, исправление и удаление позиций;
- защита обязательных полей и проверка положительного количества;
- сохранение листов, формул и оформления корпоративного Excel-шаблона;
- повторное открытие результата и построчная сверка с подтверждённым черновиком;
- разделение больших заявок на безопасные части по реальной ёмкости шаблона;
- выбор AI-провайдера и модели для администратора.
Результат
Готовый production-MVP с 121 автоматическим тестом, CLI, Telegram-ботом, Docker-окружением, документацией по развёртыванию и правилами безопасной эксплуатации. Менеджер получает контролируемый путь от сырой заявки до готового Excel, а не непрозрачную автоматизацию.
Стек
Python · Telegram Bot API · OpenRouter / OpenAI-compatible API · Docker · Excel processing · automated tests