Заказчик вел дебиторскую задолженность, банковские оплаты, клиентский справочник и маршрутные листы в разрозненных Excel-файлах. Сотрудникам приходилось вручную сопоставлять отгрузки и платежи, искать клиентов по разным вариантам названий, пересчитывать долг и просрочку. Нестандартная структура файлов, повторные загрузки и неоднозначные совпадения повышали риск дублей и ошибок.
Задача - создать защищенную внутреннюю веб-систему, которая объединит финансовый контроль и логистику: автоматизирует импорт данных, сопоставление оплат с клиентами и накладными, покажет актуальную задолженность и позволит формировать маршрутные листы в одном интерфейсе.
Спроектировали и разработали full-stack веб-приложение, объединившее работу с дебиторской задолженностью, банковскими платежами, клиентской базой и маршрутными листами.
Реализовали двухэтапный импорт Excel-файлов: система сначала проверяет данные, показывает итоги и предупреждения, а затем сохраняет их после подтверждения пользователя. Поддерживаются книга дебиторки, банковские выписки XLS/XLSX, справочник клиентов и реестры отгрузок.
Для банковских платежей разработали автоматическое сопоставление по номеру накладной, названию клиента и юридическому лицу. Однозначные платежи распределяются по открытым накладным автоматически, включая частичную оплату и переплату. Спорные случаи попадают в отдельную очередь с кандидатами и оценкой совпадения, где сотрудник может подтвердить или изменить решение.
Главный экран показывает долг, переплату, просрочку, план и факт оплаты, отгрузки и показатели по менеджерам. В таблицах доступны фильтрация, сортировка, изменение ширины колонок, редактирование данных и экспорт в Excel.
Дополнительно реализовали справочники клиентов, менеджеров, пользователей и водителей, а также модуль логистики: маршруты на день, назначение водителей, импорт заказов, перенос строк между маршрутами, расчёт итогов и печатную форму.
Для синхронизации справочника клиентов разработали защищенный API обмена с 1С. Приложение развернуто в Docker с PostgreSQL, Nginx, резервным копированием, проверками работоспособности и blue-green обновлениями.
Стек: Next.js, React, TypeScript, PostgreSQL, Drizzle ORM, Python, FastAPI, Docker, Vitest и pytest.
Создана и развернута рабочая внутренняя система, которая объединила Excel-реестры, банковские платежи, клиентскую базу, дебиторскую задолженность и маршрутные листы в одном управляемом процессе.
Сверка платежей и накладных поддерживается автоматическими алгоритмами, а неоднозначные операции не теряются и передаются сотрудникам на ручную проверку. Повторные импорты защищены от дублирования, обновляют существующие записи и сохраняют важные ручные корректировки.
Данные из маршрутных листов автоматически учитываются в дебиторке, справочник клиентов синхронизируется с 1С, а руководитель может контролировать долг, переплату и просрочку по клиентам и менеджерам.
Ключевые бизнес-правила покрыты автоматическими тестами. Архитектура позволяет развивать систему и добавлять новые отчёты, интеграции и рабочие сценарии без полной переработки продукта.