# 16 Reporting Reporting focus: - Long-term historical analysis - Financial reconciliation and payout matching - Batch ingestion across many stores Typed route: - `POST /api/v1/uber/reporting/fetch` - `POST /api/v1/uber/reporting/create` Key behavior: - Uses `eats.report` app scope - Retries transient errors only (`408`, `429`, `500`, `502`, `503`, `504`, network timeouts) - Parses CSV by header names (not fixed column positions) - Tolerates unknown columns and missing optional fields - Reporting job flow: - create job returns `workflow_id` - completion arrives via webhook `eats.report.success`