Клиент — сеть из 8 розничных точек. Ежедневно менеджеры присылают CSV выручки и остатков из разных учётных систем — форматы и названия колонок различаются. Бухгалтер вручную сводил в Excel 1–2 часа каждое утро. Задача: Python-скрипт — папка с CSV/XLSX → mapping колонок из config → агрегация по точкам и датам → итоговый Excel + PDF по шаблону. Запуск по cron или вручную из консоли. Реализация: • config.yaml: пути, mapping полей (date, store_id, revenue, qty), фильтры; • pandas: чтение csv/xlsx, приведение типов, валидация обязательных колонок; • агрегация: сумма по точке/дню, pivot «точка × дата», топ-10 SKU; • export: Excel с листами Summary / Detail / Errors; PDF через reportlab или xlsx→pdf; • отчёт об ошибках: файл с неверной кодировкой или пропущенными полями; • лог в файл + exit code для cron. Стек: Python 3.11, pandas, openpyxl, PyYAML, reportlab. Приёмка: 30 дней исторических файлов — сверка с ручным отчётом бухгалтера. Итог: утренний отчёт за 2–3 минуты вместо 1–2 часов. NDA: сеть не публикуется.