Обычно, когда говорят про автоматизацию закупок, вспоминают ERP, тендерные площадки, ЭДО, 1С, согласования, заявки, договоры и большие корпоративные системы.
Но между “поставщик прислал коммерческое предложение” и “закупку можно согласовывать” часто есть очень приземлённый этап, который до сих пор живёт в Excel.
Закупщик получает несколько КП от поставщиков. Один файл в Excel, второй в PDF, третий в Word. У одного поставщика цена с НДС, у другого без НДС. Где-то рубли, где-то доллары, евро или юани. В одной строке партномер указан полностью, в другой — описание чуть отличается. По части позиций есть целевые цены, по части надо ориентироваться на прошлые закупки.
Дальше всё это вручную сводится в одну таблицу.
Идея нашего приложения родилась именно из этой рутины: сделать локальный desktop-инструмент, который помогает загрузить несколько коммерческих предложений, сопоставить позиции и цены, подсветить спорные места и выгрузить итоговый Excel-отчёт.
В этой статье расскажу не столько про саму закупочную предметную область, сколько про техническую сторону: почему выбрали desktop, как собрали Tauri + React + FastAPI, как упаковали Python backend в sidecar, с какими проблемами столкнулись при сборках под Windows/macOS и что оказалось важным в B2B-приложении, которое должно работать не “в демо на ноутбуке разработчика”, а у пользователя.