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:
| Invoice | Amount | Address | Project |
|---|---|---|---|
| INV-41077 | $250.00 | 24739 Black Willow Dr, Aldie VA | blkhse.44483 |
| INV-0656 | $250.00 | 43220 Lindsay Marie Dr, Ashburn VA | blkhse.1242 |
| INV-0613 | $2,350.00 | 14402 Filly Ct, Centreville VA | blkhse.1100 |
| INV-0551 | $250.00 | 3387 Ardley Court, Falls Church VA | blkhse.1130 |
| INV-0428 | $950.00 | 11235 Sorrel Ridge Ln, Oakton VA | blkhse.1671 |
Total written off: $4,050.00 — no cash received.
Convention (first use — this is now the pattern)
invoice_status→ Paid 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.dbpaymentswithmatch_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.