# Afton Cleanup Session — 2026-05-22 Summary
**For:** Jimmie | **From:** Ledger | **Date:** 2026-05-22

---

## Bottom line

We spent the session attempting Step 4 (duplicate-payment cleanup). The approach failed for a reason QBO doesn't document well, we recovered without data loss, and we're back at the original "duplicate invoice + duplicate payment" state for the 11 customers we touched.

**Net progress on Afton's books: ~5-10%.** The customer master is slightly cleaner; everything else is unchanged.

---

## What actually worked today

- **58 of 61** customer null-name records fixed (Step 1 — small but real win)
- Learned the **dup-payment pattern has a dup-invoice behind it** in all 32 clean pairs — this changes the whole cleanup approach
- Confirmed **QBO auto-reminders aren't firing** on Afton (so any future void/credit work won't email customers automatically)
- Built and battle-tested the recovery workflow — proved we can un-do bad cleanup attempts via the queue

## What didn't work

- **Track A void approach failed completely.** QBO API blocks voiding any Payment that was processed via credit card (Merchant Services) or already grouped into a Deposit. 11 invoice voids succeeded but 0 payment voids succeeded → 11 orphan-credit situations.
- **Worker double-fired** during recovery (you clicked the desktop shortcut while I was also running it) → duplicate recovery invoices created → you manually voided the extras in QBO UI.
- **Mike Stegall got auto-tax** on his recreated invoice ($980.75 vs original $906) → you fixed in UI.

---

## What's on YOUR plate before next session

### Required to close out today (~10 min)
For each of these 11 customers, open them in QBO and apply the unapplied payment to the new invoice:

| Customer | New invoice DocNum | Amount |
|---|---|---|
| Debra Hazle | #2505 | $1,082.50 |
| Ralph Marcantonio | #2509 | $1,199.00 |
| Mike Frontz | #2513 | $620.00 |
| Kassandra Gesse | #2514 | $225.00 |
| Amy Erwin | #2515 | $375.00 |
| Scott Ferguson | #2516 | $232.74 |
| Dan Malone | #2517 | $290.00 |
| Mike Stegall | #2518 | $906.00 |
| Linda Hughes | #2519 | $481.00 |
| Joyce Yannuzzi | #2520 | $344.00 |
| Bena Videsa | #2521 | $180.00 |

After all 11 done → customer balances $0, books back to pre-attempt state.

### Decision needed before we can resume cleanup
**Track B tax-strategy call.** 24 of the 32 dup-pairs ($16,128 phantom revenue) are in 2024 — closed period, return already filed.

Three options, your call (Rex can advise):
- **A. Amend 2024 return** → recover tax overpayment as refund (~$4-6K). Costs preparer fee.
- **B. Current-period (2026) correction** → reduce 2026 taxable income by $16,128. No refund, but tax savings show up in 2026 return.
- **C. GAAP-strict prior-period adjustment** to Retained Earnings — clean accounting, no tax benefit. Probably overkill.

---

## What's next session

When you're back, in this order:
1. **Pick the tax-strategy option** (A/B/C) — unblocks the rest
2. **Redesign the 32-pair cleanup as Credit Memos** — avoids the void trap entirely; works via API for all customers regardless of payment method
3. **Execute** the new approach
4. **Then** tackle Make Deposits (Step 5 — the big UF reconciliation) → then the $800K rec adj reversal (Step 6)

---

## Continuity

| Artifact | Where |
|---|---|
| Canonical state file | `Team Inbox/_Deliverables/afton_qbo_cleanup_checkpoint.md` |
| Full pair-by-pair analysis (use for Credit Memo design) | `Owner Inbox/afton_payment_pairs_invoice_analysis.json` |
| Task list | TaskList (13 tasks, durable across sessions) |
| Learnings | auto-memory: `reference_qbo_dup_payment_invoice_pattern`, `reference_qbo_void_api_limitations`, `reference_qbo_autoreminder_empirical_check` |

Next session pickup is clean — invoke `/ledger`, ask "where are we on Afton?", I'll re-load from the checkpoint and the analysis JSON. No re-investigation needed.
