hm_ai_qc_report_tool/modules/campaigns
nickviljoen 81a1cd94c9 Add Excel (.xlsx) support for campaign media plans / price sheets
- Accept .xlsx/.xls uploads alongside PDFs in campaigns module
- New parse_campaign_excel() in services.py using openpyxl
- Converts all sheets to structured text (headers + rows) for LLM use
- Upload form now accepts both PDF and Excel files
- Added openpyxl to requirements.txt

Workflow: upload campaign presentation (PDF) + media plan (Excel with
has_pricing checked) for the same campaign ID. The price check will
use the Excel data to validate actual prices per country.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 18:54:59 +02:00
..
templates/campaigns Add Excel (.xlsx) support for campaign media plans / price sheets 2026-03-26 18:54:59 +02:00
__init__.py Add campaign presentation management and global pricing reference 2026-03-26 16:12:22 +02:00
blueprint.py Add campaign presentation management and global pricing reference 2026-03-26 16:12:22 +02:00
pricing_parser.py Support multiple campaign docs + clarify pricing is format-only 2026-03-26 18:47:46 +02:00
routes.py Add Excel (.xlsx) support for campaign media plans / price sheets 2026-03-26 18:54:59 +02:00
services.py Add Excel (.xlsx) support for campaign media plans / price sheets 2026-03-26 18:54:59 +02:00