Legacy invoice write-off convention (established 2026-08-04)

Decision (Dustin, 2026-08-04): five legacy Manassas blkhse-era invoices written off as uncollectible during review of Lily’s BC-loaded invoice list:

InvoiceAmountAddressProject
INV-41077$250.0024739 Black Willow Dr, Aldie VAblkhse.44483
INV-0656$250.0043220 Lindsay Marie Dr, Ashburn VAblkhse.1242
INV-0613$2,350.0014402 Filly Ct, Centreville VAblkhse.1100
INV-0551$250.003387 Ardley Court, Falls Church VAblkhse.1130
INV-0428$950.0011235 Sorrel Ridge Ln, Oakton VAblkhse.1671

Total written off: $4,050.00 — no cash received.

Convention (first use — this is now the pattern)

  • invoice_statusPaid via write_guard + supabase_write_service (only enum value that exits every unpaid/outstanding view; the payments page outstanding filters are .neq('Paid'), so a novel “Written Off” status would still show as outstanding).
  • One row per invoice in payment_tracking.db payments with match_method='write_off', amount=invoice_total, reference “WRITE-OFF”, counterparty “N/A — write-off (no cash received)”, notes carrying the authorization. Rows 195–199.
  • Cash/receipts reports MUST exclude match_method='write_off' — these rows balance the per-invoice ledger but are not cash.

Script: /home/claude/writeoff_mana_legacy_20260804.py (dry-run/APPLY pattern, modeled on close_blkhse_ach_20260501.py). Consistent with tests/test_shepherd_unpaid_rule.py which anchors blkhse.44483 as “the write-off” among Paid-but-not-Closed projects.