
Invoice Chase
- 1.3k installs
- 23.3k repo stars
- Updated August 5, 2026
- anthropics/knowledge-work-plugins
invoice-chase is an agent skill that drafts tone-matched overdue invoice reminders from QuickBooks and PayPal data with owner approval before sending.
About
The invoice-chase skill pulls QuickBooks AR aging for invoices past due, cross-references PayPal settled transactions in a seven-day window, and scores each customer as good-payer, occasionally-late, or repeat-late for tone-matched reminder drafts. On first run it asks whether the owner uses Gmail or Apple Mail for drafts and whether Stripe invoicing should be included. PayPal queries use transaction_status settled only with a seven-day window; 429 errors retry with a three-day window or skip PayPal with a manual verification flag. One consolidated email per customer covers multiple overdue invoices. The owner sees a summary table with amount due, days late, tone, and send channel before any send or draft queue. PayPal invoices send via PayPal; non-PayPal queue as mail drafts. Nothing sends without explicit approval and customers with recent payments are flagged possibly paid.
- QuickBooks AR aging plus PayPal seven-day settlement cross-check.
- Tone scoring: good-payer, occasionally-late, repeat-late.
- Owner approval gate before any send or draft queue.
- PayPal 429 retry with three-day fallback window.
- One consolidated reminder email per customer.
Invoice Chase by the numbers
- 1,335 all-time installs (skills.sh)
- +82 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #111 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
invoice-chase capabilities & compatibility
- Capabilities
- quickbooks ar aging pull · paypal settlement cross reference · customer tone scoring · approval gated send or draft queue · stripe overdue inclusion
- Use cases
- email · planning
What invoice-chase says it does
Nothing sends until the owner says so.
Score each customer: good-payer / occasionally-late / repeat-late
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill invoice-chaseAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.3k |
|---|---|
| repo stars | ★ 23.3k |
| Last updated | August 5, 2026 |
| Repository | anthropics/knowledge-work-plugins ↗ |
Who owes me money and what reminder emails should I send based on each customer payment history?
Draft overdue-invoice reminder emails from QuickBooks and PayPal data matched to each customer payment history and tone with owner approval before sending.
Who is it for?
Developers and operators managing QuickBooks AR with PayPal payment cross-reference for collections.
Skip if: Skip when you need full accounting close workflows instead of overdue invoice reminders.
When should I use this skill?
User asks who owes me money, mentions overdue invoices, or wants to follow up on unpaid invoices.
What you get
Tone-scored reminder drafts with a summary table, sent or queued only after explicit owner approval.
- Reminder email drafts
- Automated chase messages
By the numbers
- Listed with 1 install on Skills.sh catalog
Files
Invoice Chase
Quick start
Pull the AR aging report, score each customer by payment history, draft a tone-matched reminder for each overdue invoice, and present them to the owner. Nothing sends until the owner says so.
User: "who owes me money"
→ Pull AR aging from QuickBooks
→ Cross-reference PayPal settlements (last 14 days)
→ Score each customer: good-payer / occasionally-late / repeat-late
→ Draft tone-matched reminders
→ Show summary table + drafts. Wait for "send these."Setup (first run only)
Ask the owner two questions before running for the first time:
1. Mail connector: "Do you use Gmail or Apple Mail for drafts?" — store the answer; use it for all non-PayPal draft queuing. 2. Stripe: "Do you use Stripe for invoicing? I can include Stripe invoices in the overdue sweep." — if yes, pull Stripe overdue invoices alongside QuickBooks.
Do not ask again on subsequent runs.
Workflow
1. Pull overdue receivables. Query QuickBooks AR aging for all invoices more than 1 day past due. If Stripe is enabled (owner confirmed at setup), also pull Stripe overdue invoices.
2. Cross-reference payment history. For each overdue customer, query PayPal for settled transactions using these parameters:
transaction_status: S(settled only — filters out pending and denied transactions that inflate result size and increase rate-limit risk)- Date window: last 7 days ending today (not 14 or 30 — wider windows are the primary cause of PayPal 429 rate limit errors)
If PayPal returns a 429 rate limit error:
- Retry once immediately with a 3-day window instead.
- If the retry also returns 429, skip the PayPal cross-reference entirely for this run. Flag all customers in the batch as "PayPal unavailable — verify manually" in the summary table. Proceed to scoring using QuickBooks history only. Do not silently drop the caveat.
If a customer shows a settled payment within the query window, flag as "possibly paid — verify" and exclude from the draft queue.
3. Score each customer. Read reference/tone-matching.md for scoring logic. Result: good-payer, occasionally-late, or repeat-late.
4. Draft reminder emails. One email per customer — consolidate multiple overdue invoices into one email. Match tone to score. See reference/examples/gentle-reminder.md and reference/examples/firm-reminder.md.
5. Present drafts to owner. Show a summary table first:
| Customer | Amount Due | Days Late | Tone | Send via |
|---|---|---|---|---|
| Acme Corp | $1,200 | 18 days | Gentle | PayPal |
| Smith LLC | $450 | 47 days | Firm | Gmail draft |
Then show each draft email in full. Wait for owner to say "send these" or approve individually.
6. Send or queue — only after approval.
- PayPal invoices: send the reminder via PayPal.
- Non-PayPal invoices: queue as a draft in the owner's configured mail app.
- Never send without explicit approval.
7. Report what happened. List what was sent, what was queued as draft, and what was flagged (possibly paid, excluded).
Approval gates
- Never send or queue a draft without explicit owner approval. Present all drafts first; wait for the go-ahead.
- Never include a customer who paid in the last 14 days. Flag as "possibly paid — verify" instead.
- Never send to a customer not in the QuickBooks AR report (or Stripe, if enabled). No reminders from memory alone.
- One approval covers one batch. Adding a customer or changing a draft after approval starts a new round.
Reference
- reference/tone-matching.md — scoring logic, tone guidelines, subject line formulas
- reference/gotchas.md — known failure modes
- reference/examples/gentle-reminder.md — good-payer email example
- reference/examples/firm-reminder.md — repeat-late-payer email example
Firm Reminder — Repeat Late Payer Example
Scenario: Smith LLC, $450 invoice, 47 days past due. Paid late in 3 of last 4 invoices.
Score: repeat-late · Tone: Firm
---
Subject: Past due notice: Invoice #1038 — $450 (47 days overdue)
Hi Tom,
Invoice #1038 for $450 is now 47 days past due. The original due date was March 11.
Please remit payment by May 2. You can pay online here: [Pay Invoice #1038 — $450]
If there's a question about this invoice, reply to this email and I'll sort it out quickly.
[Owner name]
---
Why this works:
- States the facts directly: amount, invoice number, days overdue, original due date
- One clear deadline in the body
- Leaves a professional out ("if there's a question") without being apologetic
- Single call to action — one payment link
- Firm but professional — no threats, no caps
Gentle Reminder — Good Customer Example
Scenario: Acme Corp, $1,200 invoice, 18 days past due. Paid on time in 5 of 5 prior invoices.
Score: good-payer · Tone: Gentle
---
Subject: Quick reminder: Invoice #1042 for $1,200
Hi Sarah,
Just a quick note — Invoice #1042 for $1,200 was due on April 9 and I haven't seen payment come through yet.
I know things get busy — if it's already on its way, please disregard! If not, here's the link to pay online: [Pay Invoice #1042 — $1,200]
Thanks so much, and let me know if anything looks off on the invoice.
[Owner name]
---
Why this works:
- Opens with assumption of oversight, not accusation
- Gives an easy out ("if it's already on its way")
- Single call to action — one payment link
- Short. No lecture, no policy statement.
Gotchas
Known failure modes for invoice-chase.
---
Customer paid via check or bank transfer — not visible in PayPal.
The PayPal cross-reference only catches PayPal payments. A customer who paid by check or ACH may still appear as overdue in AR. Note this in the summary: "PayPal history only — check/ACH payments not verified." Let the owner confirm before sending.
---
QuickBooks AR includes internal or test accounts.
Some setups include internal billing accounts or test records in AR. Before drafting, filter out customers whose email domain matches the owner's domain, and flag any customer name containing "Test," "Internal," or "Demo."
---
Multiple overdue invoices from the same customer — send one email only.
Never draft two separate reminders to the same customer in one batch. Consolidate all overdue invoices into one email with a total amount and a list of invoice numbers. Two emails to the same person in one batch looks disorganized and may trigger a spam filter.
---
PayPal reminder send fails for customers without a PayPal account.
PayPal reminders only work if the customer has an active PayPal account. If PayPal returns a send error, fall back to queuing a mail draft and report the fallback: "PayPal send failed for [customer] — queued as [mail app] draft instead." Do not silently drop the reminder.
---
Stripe and QuickBooks may both carry the same invoice.
If Stripe is enabled and a customer appears in both QuickBooks AR and Stripe overdue, it may be the same invoice in two systems. Match on invoice number first; if no number match, match on amount + due date. When uncertain, flag to the owner and send only one reminder rather than two.
---
PayPal API returns 429 rate limit errors.
PayPal's MCP connector rate-limits aggressively when the requested date window is wide. The most common cause is querying 14–30 days of transactions in a single call.
Fix: Always query with transaction_status: S (settled only) and a 7-day window ending today. This is the default in the workflow.
Retry pattern: If a 7-day query returns 429, retry immediately with a 3-day window. A narrower window reduces the response payload and usually succeeds.
Fallback: If the 3-day retry also returns 429, skip the PayPal cross-reference for this run entirely. Flag every customer in the batch as "PayPal unavailable — verify manually" in the summary table. Proceed with QuickBooks-only scoring. Do not silently drop the caveat — the owner needs to know the cross-reference was skipped before approving any sends.
Tone Matching
Scoring logic and email tone guidelines for invoice-chase.
Scoring
Score each customer using QuickBooks payment history for the last 12 months. Require a minimum of 3 invoices to score; fewer than 3 defaults to occasionally-late.
| Score | Criteria |
|---|---|
good-payer | Paid on time or early in ≥ 75% of invoices |
occasionally-late | Paid late in 25–50% of invoices, or fewer than 3 invoices on record |
repeat-late | Paid late in > 50% of invoices |
"On time" means payment received on or before the invoice due date.
Tone by score
| Score | Tone | Character |
|---|---|---|
good-payer | Gentle | Friendly, assumes oversight. Opens with grace. |
occasionally-late | Neutral | Professional, no judgment. Factual follow-up. |
repeat-late | Firm | Direct, states a deadline. No warmth, no accusation. |
Subject lines
- Gentle:
Quick reminder: Invoice #[N] for $[amount] - Neutral:
Following up: Invoice #[N] — $[amount] past due - Firm:
Past due notice: Invoice #[N] — $[amount] ([X] days overdue)
Body structure (all tones)
Every reminder includes: invoice number(s), total amount due, original due date, days overdue, and payment link or instructions.
Tone-specific additions:
- Gentle: one acknowledgment sentence ("I know things get busy")
- Neutral: none — facts only
- Firm: one deadline sentence ("Please remit by [date]")
One call to action per email. Never two.
Consolidation rule
If a customer has multiple overdue invoices, combine into one email. List each invoice (number, amount, due date), then state the combined total. Use the customer's score, not the most overdue invoice's score.
Related skills
How it compares
Pick this for agent-driven receivables email automation rather than building custom dunning logic in application code.
FAQ
What does invoice-chase produce?
A summary table and tone-matched reminder drafts per overdue customer from QuickBooks and PayPal data.
When should I use invoice-chase?
When following up on overdue invoices with payment-history-aware tone and owner-gated sending.
Is invoice-chase safe to install?
Review the Security Audits panel on this page before installing in production.