# Spreadsheet cleanup sample pack

Synthetic input. All records are fictional. IDs are text, including their leading zeros.

## Brief and rules

Make a new cleaned CSV, an exceptions CSV and a reconciliation note. Keep all 14 source rows, in order; do not silently delete a duplicate. Preserve original fields and add normalized fields where a conversion is unambiguous. Use `source_row` to trace changes.

Dates written as YYYY-MM-DD have a known format. The locale for `03/04/2026` is unknown. For this sample, USD amounts with a comma grouping thousands and a dot decimal are known; parentheses indicate a negative refund. The locale for `1.234,50` is unknown. Do not coerce unknown amounts to zero or infer missing currency. Trim surrounding name whitespace and uppercase cost-center codes; do not merge different people.

Rows 5 and 6 are an exact business-record duplicate apart from `source_row`; flag the second occurrence and retain both. Rows 7 and 8 have the same expense ID but different amounts; preserve both and request a decision. For scoped totals, include one first occurrence of a fully clear record and exclude rows requiring a decision. Report USD and EUR separately; do not convert currencies. Make the exclusions and row counts explicit.

Save `cleaned.csv`, `exceptions.csv` and `reconciliation.md`. Preserve this pack. No payment, accounting-system write or external sending is authorized.

## CSV export

```csv
source_row,expense_id,date,person,cost_center,currency,amount,category,note
1,001001,2026-10-01," Riley Chen ",OPS,USD,"1,250.00",Software,Annual software renewal
2,001002,2026-10-02,Casey Patel,ops,USD,85.50,Travel,Taxi receipt
3,001003,2026-10-03,Sam Taylor,FIN,EUR,240.00,Training,Workshop registration
4,001004,2026-10-04,Alex Morgan,OPS,USD,19.99,Meals,Team lunch
5,001005,2026-10-05,Jordan Lee,FIN,USD,65.00,Office,Printer supplies
6,001005,2026-10-05,Jordan Lee,FIN,USD,65.00,Office,Printer supplies
7,001006,2026-10-06,Casey Patel,OPS,USD,120.00,Travel,Hotel adjustment
8,001006,2026-10-06,Casey Patel,OPS,USD,140.00,Travel,Hotel adjustment
9,001007,03/04/2026,Riley Chen,OPS,USD,49.00,Software,Date locale not recorded
10,001008,2026-10-08,Sam Taylor,FIN,,95.00,Training,Currency not recorded
11,001009,2026-10-09,Alex Morgan,OPS,USD,(45.00),Travel,Refund shown in parentheses
12,001010,2026-10-10,Jordan Lee,FIN,EUR,180.00,Training,Separate currency from USD
13,001011,2026-10-11,Riley Chen,OPS,USD,TBC,Software,Amount awaiting invoice
14,001012,2026-10-12,Sam Taylor,FIN,EUR,"1.234,50",Training,Amount locale not recorded
```
