Upload an invoice PDF and your contracted rate card (CSV). We extract line items with Claude, compare to contract rates, and prepare a dispute letter when variances are found.
Requires ANTHROPIC_API_KEY in .env. CSV must include description and contracted amount columns (same rules as compare.py).