Работа

Учёт роялти: из CSV в рабочий кабинет

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

6 минутАвтор: Алек Ампир
Кабинет импорта и учёта роялти

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

Что работает сейчас

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

Как устроен рабочий процесс

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

Технический стек

Приложение построено на Node.js, Express и SQLite, использует CSV-парсер и защищённый вход с хешированием пароля через scrypt. Браузерный кеш ускоряет повторную работу с интерфейсом.

Измеримый результат

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

Что это даёт бизнесу

Главный результат — воспроизводимость. Если итог вызывает вопрос, не нужно вспоминать, из какого файла он взялся: источник и предупреждения остаются в системе.