Fictional demonstration • Sample data only • October 2026

Monthly Spending Report — October 2026

Version 2 — correction note: The Groceries subtotal in the “How the totals work” breakdown was corrected from $130 to $180 (S01 $80 + S07 $50 + S08 $50). The v1 category-totals table already showed $180 and the v1 CSV rows already summed to $180, so no rows changed. Gross expense ($285) and adjusted expense excluding the unresolved possible duplicate ($235) are unchanged.

Fictional tutorial sample. All 8 source rows (S01–S08) are preserved. Spending, transfers and refunds are reported separately. No rows were deleted.

Gross expense — including both grocery rows (S07 + S08)$285Label: Gross expense (including possible duplicate)
Expense — excluding unresolved possible duplicate$235Label: Adjusted expense (excluding one $50 possible duplicate, S08)
Refunds (separate from spending)$40S06 Course refund
Savings transfer — NOT spending$200S04 Transfer to savings — excluded from both expense totals

Download cleaned CSV

How the totals work

Gross expense $285 = Groceries $180 (S01 $80 + S07 $50 + S08 $50) + Internet $60 + Online course $40 + Coffee $5 — i.e. $80 + $60 + $5 + $40 + $50 + $50 = $285.
Adjusted expense $235 = $285 − $50 for one copy of the unresolved possible duplicate pair S07/S08. Both rows remain in the data until resolved.
Net cash effect of the sample if you combine them: −$285 spending − $200 transfer + $40 refund = −$445, but that combined figure is not a spending total.

Category totals — spending only (gross)

CategoryTotal
Groceries$180
Internet$60
Online course$40
Coffee$5
Total spending (gross)$285
Online course net after its $40 refund (for reference only)$0
Savings transfer (not spending)$200
Refunds (separate)$40

All transactions

Currently showing: Gross expense — including both grocery rows: $285

IDDateDescriptionAmount USDTypeCategorySpending USDFlag
S012026-10-02Groceries-80spendingGroceries80
S022026-10-04Internet-60spendingInternet60
S032026-10-05Coffee-5spendingCoffee5
S042026-10-06Transfer to savings-200transferSavings transfer
S052026-10-08Online course-40spendingOnline course40
S062026-10-09Course refund40refundOnline course
S072026-10-10Groceries-50spendingGroceries50POSSIBLE_DUPLICATE
S082026-10-10Groceries-50spendingGroceries50POSSIBLE_DUPLICATE

Exceptions table

IDsIssueDetailStatus / treatment
S07, S08Possible duplicateSame date (2026-10-10), same description (Groceries), same amount (−$50)Unresolved — both preserved. Gross total includes both ($285); adjusted total excludes one copy ($235).
S04Transfer, not spendingTransfer to savings, −$200 on 2026-10-06Excluded from spending totals; reported separately as a $200 transfer.
S05, S06Refund offsetOnline course −$40 (S05) followed by Course refund +$40 (S06)Refund reported separately ($40); spending stays at gross $40 for this category, net $0 for reference.
Duplicate rule: Do not silently delete possible duplicates. S07 and S08 are both kept in the cleaned CSV with exception_flag = POSSIBLE_DUPLICATE so a reviewer can resolve them.