> Drafts overdue-invoice reminder emails from QuickBooks and PayPal data, matched to each customer's payment history and tone (gentle for good customers, firm for repeat late payers). Sends via PayPal with owner approval; non-PayPal invoices queue as mail drafts. Use when the user asks "who owes me money," mentions overdue invoices, or wants to follow up on unpaid invoices.
3k tokens
context cost
the whole folder, loaded on every use
5
files
instructions only
0
copies elsewhere
how many repositories repackaged it
23273
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
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:
Mail connector: "Do you use Gmail or Apple Mail for drafts?" — store the answer; use it for all non-PayPal draft queuing.
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
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.
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.
Score each customer. Read reference/tone-matching.md for scoring logic. Result: good-payer, occasionally-late, or repeat-late.
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.
Present drafts to owner. Show a summary table first:
| Customer | Amount Due | Days Late | Tone | Send via |