A deterministic Python pipeline ingests three intentionally inconsistent CSV exports, applies schema aliases, rejects duplicate and invalid records, reconciles every excluded value, and produces a styled Excel workbook with charts and clean-data handoff.
| Channel | Orders | Gross | Net |
|---|---|---|---|
| Direct | 1,048 | $131,471.55 | $129,492.17 |
| Partner | 1,044 | $130,125.76 | $126,900.49 |
| Web | 1,044 | $128,413.93 | $125,846.87 |
Three replayed IDs and two invalid records are excluded. Their orders and revenue remain visible in the reconciliation ledger, producing zero control-total difference.
| Event | Reason | Source | Gross |
|---|---|---|---|
| EVT-0008 | duplicate_event_id | operations_3.csv | $3,724.67 |
| EVT-0049 | duplicate_event_id | operations_3.csv | $2,866.50 |
| EVT-0110 | duplicate_event_id | operations_3.csv | $1,940.27 |
| EVT-BAD-REGION | invalid_region | operations_3.csv | $812.50 |
| EVT-BAD-ORDERS | negative_orders | operations_3.csv | $455.00 |
orders_control_difference = 0revenue_control_difference = -0.00
Multi-file ingestion, a header alias, ignored extra columns, typed normalization, deduplication, validation, KPI aggregation, reconciliation, CSV output, JSON evidence, and a multi-sheet Excel workbook with charts.
This is a self-owned portfolio demonstration created with synthetic data. It is not client work, does not reproduce a buyer's files, and does not imply Power BI or Tableau project history.