Заказчик получает запросы на товары по электронной почте: часть позиций указана в тексте, большинство — в Excel-вложениях. Нужно автоматически сопоставлять их с актуальными складскими остатками, выделять подходящие письма и сохранять историю найденных совпадений.
Разработал отдельное настольное приложение на Python для Windows и macOS. Оно подключается к почте по IMAP и работает без запущенного Outlook и без установленного Microsoft Office. Пользователь может заменить складской XLSX, изменить структуру колонок и настроить периодичность проверки.
• Проверка новых писем по расписанию и вручную; повторная обработка ошибок без дублирования успешных результатов.
• Разбор темы, текста, HTML-таблиц и всех листов XLSX-вложений.
• Сопоставление полных артикулов с нормализацией регистра, пробелов и тире. Дополнительно — настраиваемый поиск по похожим наименованиям.
• Распознавание альтернативных артикулов и количества запроса; отображение запрошенного количества и доступного остатка.
• Флаг или IMAP-метка подходящего письма, уведомления в приложении и на другую почту через SMTP.
• История в SQLite: поиск, подробности совпадений, источник строки, экспорт в CSV и журнал проверок.
• Мастер первого запуска, работа в системном трее, настройка почты и замена складского файла через интерфейс.
• Пароли хранятся в системном хранилище Windows/macOS. Обработка писем выполняется локально.
Стек: Python, PySide6 / Qt, SQLite, openpyxl, RapidFuzz, IMAP, SMTP.
Заказчик получил готовые приложения для Windows (.exe) и macOS (.app), исходный код и инструкцию пользователя. Решение проверено заказчиком на рабочих письмах, проект принят.
Подходящие запросы собраны в одном интерфейсе: видны товар, артикул, количество, остаток и письмо-источник. Для обновления склада и параметров почты не требуется менять код.
На скриншотах — реальный интерфейс приложения с демонстрационными данными; информация и переписка заказчика не публикуются.