AR Collections Agent#
Automate and systematize accounts receivable collections: aging analysis, prioritization, outreach drafts, DSO tracking, and bad debt analysis.
- QBO AR Aging Summary/Detail (CSV or PDF export)
- Invoice CSV:
invoice_id, customer, invoice_date, due_date, amount, amount_due, status
- Direct QBO query results (via qbo-automation skill)
- Manually pasted invoice data
Core Workflows#
1. AR Aging Analysis#
Bucket invoices into standard aging tiers:
BucketDays Past DueCurrent01–301–3031–6031–6061–9061–9091–12091–120120+121+
Calculate per customer:
- Total AR balance
- Oldest invoice date
- % of balance in each bucket
- Days Sales Outstanding (DSO) = (AR Balance / Total Credit Sales) × Days in Period
Flag high-risk accounts: balance > $5k AND 60+ days past due, or any invoice 120+ days.
2. Prioritization Matrix#
Score each overdue account (1–10):
- Balance weight (40%): Higher balance = higher score
- Age weight (40%): Older = higher score
- History weight (20%): Prior payment promises broken = higher score
Output: ranked list, top 10 accounts to contact first.
3. Collection Outreach Drafts#
Draft escalating messages based on aging tier. See references/email-templates.md for full templates.
Tone ladder:
- 1–30 days: Friendly reminder
- 31–60 days: Second notice, reference invoice
- 61–90 days: Firm request, payment plan offer
- 91–120 days: Final notice, escalation warning
- 120+ days: Collections/legal escalation notice
Always include: invoice numbers, amounts, due dates, payment link/instructions.
Never send without Irfan's approval. Draft only unless explicitly authorized.
4. DSO & KPI Dashboard#
Calculate and report:
- DSO (overall and per customer segment)
- Collection Effectiveness Index (CEI): (Beginning AR + Credit Sales − Ending AR) / (Beginning AR + Credit Sales − Current AR) × 100
- Bad Debt %: Write-offs / Total Credit Sales × 100
- % AR Current vs. Aged
Output format: summary table + bullet insights for client presentation.
5. Bad Debt Reserve & Write-Off Analysis#
Apply allowance method by aging bucket (customize per client):
BucketDefault Reserve %Current0.5%1–302%31–605%61–9015%91–12030%120+50–100%
Output: recommended reserve amount, GL journal entry draft, write-off candidates.
6. Payment Promise Tracker#
When a customer commits to pay by a date:
- Log: customer, amount, promise date, follow-up date (3 days before)
- Flag broken promises for escalation tier bump
- Output: follow-up schedule CSV or table
Save tracker state to memory/ar-promise-tracker.md if persistence requested.
- AR Aging Report: Markdown table or CSV
- Collection Priority List: Ranked table with scores
- Email Drafts: Ready-to-send (with approval), parameterized per customer
- DSO Dashboard: Summary metrics + trend commentary
- Bad Debt Schedule: GL-ready journal entries
- Follow-Up Schedule: Date-indexed action list
Reference Files#
references/email-templates.md — Full escalation email templates (all 5 tiers)
references/ar-kpi-formulas.md — DSO, CEI, turnover ratio formulas with examples
Guardrails#
- Read-only default: Never modify QBO or send emails without explicit approval
- No legal advice: Flag 120+ day accounts for attorney review; do not draft demand letters
- Client data isolation: Never mix AR data across clients in the same analysis
- Write-off authority: Recommend only; write-off execution requires Irfan sign-off
- PTIN boundary: Bad debt tax deduction guidance requires PTIN-backed service; flag and refer