# The Invoice-Chase Skill, Opened Up: What&#39;s Inside Anthropic&#39;s Launch-Hero Workflow and How to Bend It to Your Business

Anthropic&#39;s invoice-chase skill became the marketing hero of the Claude for Small Business launch. Here&#39;s the instruction template behind it, the eight failure modes most owners hit in the first week, and the customizations that matter for service vs. product businesses.

Author: J.A. Watte
Published: May 14, 2026
Source: https://jwatte.com/blog/blog-invoice-chase-skill-deep-dive/

---

The "invoice-chase" skill is the one Anthropic put on the box.

The origin story is that Lina Ochman, who heads U.S. SMB at Anthropic, built it for her solopreneur mom over the Christmas break. Mom had a pile of unpaid invoices and was spending an hour every Friday chasing them. The skill, sketched out in an afternoon, did most of the chasing instead. Ochman polished the version, the team turned it into one of the 15 launch skills, and the story became the hero anecdote for the May 13, 2026 launch.

It's the right hero. Invoice chase is the universal SMB grunt-work workflow: every service business has it, every owner hates it, and the cost of not doing it is real money. If AI can take this one off your plate, the whole "AI is for big companies" myth dissolves.

But the version that ships in the box is a starting point, not a finished product. Tuning the invoice-chase skill to your actual business is the difference between "an annoying robot pesters my customers" and "I get paid faster and my customers like the polite reminders."

Here's what's inside, how it fails, and how to make it work for you.

## What the invoice-chase skill actually does

The skill is a Claude instruction file: a few hundred words of plain text that tells Claude how to handle the invoice-followup workflow. The default version, paraphrased from the public skill catalog, does this:

1. Reads your QuickBooks or Stripe to find invoices with status `unpaid` and `due_date` in the past.
2. Sorts them into buckets by days overdue: 1-14, 15-30, 31-60, 60+.
3. For each invoice, drafts a follow-up email matched to the bucket. Polite for 1-14, firmer at 15-30, escalation at 31-60, final-notice at 60+.
4. Checks the customer's most recent email thread to confirm there isn't already a back-and-forth in progress (e.g., the customer asked for an extension).
5. Sends the drafts (or queues them for human approval, depending on how the skill is configured).
6. Logs which invoices were chased, what was sent, and the response back to QuickBooks as a note on the invoice record.

The whole skill fits in maybe 400 words of instructions. The model does the heavy lifting; the skill mostly tells Claude what to look at, what order to do things in, and what to never touch.

## The eight failure modes you'll hit in week one

Every new operator hits at least three of these. They're not bugs in the skill; they're places where the skill's defaults don't match a specific business's reality.

**1. The already-paid customer who gets nagged.** Customer paid by check three days ago; the check is in your mailbox but not in QuickBooks. The skill sends them a "your invoice is overdue" email. They reply annoyed.

Fix: add a clause to the skill that pauses if the customer's most recent email thread mentions "check," "mailed," "payment," "paid," or "today" within the last 14 days. Surface those for human review instead of auto-sending.

**2. The partial-payment case.** Customer paid half. QuickBooks shows the invoice as still `unpaid`. The follow-up emails treat it as if nothing was paid.

Fix: add: "If the invoice has any payments applied that don't fully clear it, treat as 'partial payment' and use the partial-payment template, which acknowledges the partial and asks about the balance."

**3. The customer who's mid-dispute.** Customer has an unresolved support ticket or complaint. The invoice-chase skill doesn't know about the dispute and dunns them anyway.

Fix: add a check against your support inbox (or your help-desk system if you have one) for open tickets from this customer. If there's an open ticket, pause and surface the conflict.

**4. The grandfathered net-60 customer.** You have one or two big customers who pay on net-60 terms even though your standard is net-15. QuickBooks doesn't always carry the per-customer term cleanly. The skill applies the standard-due-date math and dunns them on day 30 instead of day 65.

Fix: maintain a small list of customer IDs with non-standard terms inside the skill itself, or in a Google Doc the connector can read. The skill checks this list before dunning.

**5. The wrong-email-on-file case.** Customer email bounces. The skill thinks it sent successfully because Gmail accepted the message. Real delivery failed.

Fix: monitor your Gmail for bounce messages from `mailer-daemon@googlemail.com` in the hours after the skill runs. Surface bounced sends as failures. Better, run [the DNS Email Audit](/tools/dns-email-audit/) on every domain you send to and flag any that fail SPF/DKIM checks before the skill writes to them.

**6. The angry-reply spiral.** Customer replies "stop emailing me, I dispute this charge." The skill, if poorly configured, may treat that as a generic reply and continue to escalate the dunning cadence.

Fix: add: "If the customer's reply contains 'stop,' 'dispute,' 'unsubscribe,' 'lawyer,' or 'attorney,' immediately pause all further follow-ups on this invoice and surface to the human."

**7. The over-reminders case.** Customer is on a payment plan you negotiated by phone three weeks ago. There's no QuickBooks record of the plan. The skill keeps dunning.

Fix: every payment plan, every promise-to-pay, every "let me get back to you next week" needs to be logged as a note on the invoice in QuickBooks. The skill should read the notes and pause if any contain "payment plan," "agreed to," or a future date.

**8. The wrong-template-for-relationship case.** The skill's default 60+ days template uses language like "this invoice is now significantly overdue." For a customer you've worked with for ten years, that tone reads as a rupture, not a reminder. For a one-off project customer, it's appropriate.

Fix: track customer "relationship age" by looking up their first transaction date. For customers with three or more years of history, downshift the template tone by one bucket (the 60+ template becomes the 31-60 template, etc.). The relationship is worth more than the late fee.

## Service business vs. product business customizations

The default skill assumes a service-business cadence. For product businesses, you need to swap two things.

**Cadence is faster for products.** Product invoices are usually paid on receipt or net-15. The default 1-14 / 15-30 / 31-60 buckets are too generous. Tighten to 1-7 / 8-14 / 15-30 / 31+, and consider an automated first reminder at day 3 instead of day 7.

**Templates reference shipment, not delivery.** Service-business templates say "thank you for your continued business" or reference the project. Product-business templates need to reference the order, the shipment, and any return/refund policy that's in flight.

For service businesses specifically, the default works pretty well. Two adjustments to consider:

**Mention the next-engagement hook.** Most service businesses are repeat-engagement. The 1-14 days reminder can soft-cross-sell: "while you're here, want to schedule the spring tune-up?" only if the relationship is strong (3+ years). For new customers, keep it strictly about the invoice.

**Reference the specific service.** Generic "your invoice is overdue" is colder than "your invoice for the May 3 driveway sealcoat is overdue." The default skill should pull the line items from QuickBooks and reference the most recent one in the reminder. If yours doesn't, add a clause: "Reference the most recent line-item description in the reminder if available."

## The skill text itself

Here's roughly what the customized version looks like for a small service business. I'd treat this as a starting template and tune for your specifics. Drop it into Claude's skill editor, save, and run the linter (link below) before turning it on.

```
# Skill: Invoice Chase (customized for service businesses)

Purpose: chase overdue invoices in QuickBooks. Send polite reminders matched to how overdue.

Connector permissions: read-only on QuickBooks invoices/customers/payments; read-only on Gmail; create-draft only in Gmail (no auto-send for the first 30 days).

Process:

1. Pull every QuickBooks invoice where status is 'unpaid' and due_date < today.

2. For each invoice, compute days_overdue = today - due_date. Bucket: 1-14 (gentle), 15-30 (firm), 31-60 (escalation), 60+ (final notice).

3. Before drafting, check three things:
   - Customer's recent Gmail thread (last 14 days) for words: check, mailed, paid, payment, refund, dispute, stop, lawyer, attorney. If any present, pause and surface to human.
   - QuickBooks invoice notes for: payment plan, agreed to, promise to pay, or any future date. If present, pause.
   - Customer relationship age (years since their first transaction). If 3+ years, downshift the template tone by one bucket.

4. For partial-paid invoices, use the partial-payment template (acknowledge the partial; ask about the balance).

5. Reference the most recent line-item description if available.

6. Draft the reminder in the customer's Gmail thread as a reply (not a new thread). Sign with the owner's name, not "AI assistant."

7. Save the draft. Do NOT send. Surface the batch to the human for review.

8. Log to the QuickBooks invoice note: 'Reminder drafted [date], bucket [X], pending human approval.'

Failure mode: if any step errors (API timeout, missing data, etc.), log to a 'errors' note on the invoice and skip it. Do not retry more than twice. Surface failed invoices to the human at the end of the run.

Loop detection: if you find yourself drafting the same template for the same invoice twice in one run, stop and surface. Something is wrong.
```

This is approximately what the lint-clean version of a real invoice-chase skill looks like. About 300 words. Specific. No vague clauses. Explicit failure mode. Permission scope stated.

## What to do this week

If you've already turned on Claude for Small Business and you've run the default invoice-chase a few times:

1. Open the skill in Cowork's skill editor.
2. Paste the version above (or your own customization of it).
3. Run it through the [Claude Skill Linter](/tools/claude-skill-linter/) before saving.
4. Run on a single overdue invoice as a test. Read the draft. Adjust the template tone until it sounds like you.
5. Run on the next 5 invoices. Spot-check each draft.
6. Only after a week of clean drafts, consider promoting from "draft, human approves" to "auto-send."

The first month is for calibration. The second month is when the skill starts paying for itself.

## The audit tools that catch this for you

- **[Claude Skill Linter](/tools/claude-skill-linter/).** 14 pattern checks on every skill, including the "no human approval on send-money" and "vague instructions" patterns that are the most common ways an invoice-chase skill goes wrong.
- **[Invoice Generator](/tools/invoice-generator/).** Builds clean QuickBooks-compatible invoice templates. Pair this with the skill so the skill is chasing well-formed invoices that don't get rejected by accounting software on the other side.
- **[DNS Email Audit](/tools/dns-email-audit/).** Run on your sending domain. If SPF, DKIM, or DMARC are misconfigured, half your invoice reminders go to spam and the skill thinks it's working.
- **[AI Vendor Cost Reverse-Calculator](/tools/ai-vendor-cost-reverse-calculator/).** If you've been quoted by a vendor offering "AI accounts receivable automation" for $1,500/month, run the numbers. The actual API cost of running invoice-chase on your volume is almost certainly under $5/month.

## The deeper version

The full argument for building your own SMB skill catalog rather than buying a vertical-AI vendor's wrapper is in [The $97 Launch](https://www.amazon.com/dp/B0F65Y8XJ7) (Digital Empire series, $9.99 on Kindle). The invoice-chase skill is the first chapter of the broader pattern. The rest of the book is the next 20 skills.

## Related reading

- [Claude for Small Business walkthrough](/blog/blog-claude-for-small-business-walkthrough/), the launch announcement and setup guide.
- [Connector permission cheat sheet](/blog/blog-connector-permissions-claude-smb/), the security companion to this customization.
- [How a small business runs AI agents without a $47K surprise bill](/blog/blog-ai-agent-cost-controls-smb/), the cost-control layer underneath every skill.
- [Email infrastructure for small business](/blog/blog-email-infrastructure-small-business/), the deliverability prerequisite for invoice-chase.
- [Invoice Generator](/blog/blog-tool-invoice-generator/), the tool that makes the invoices the skill is chasing.

## Fact-check notes and sources

- Claude for Small Business launch and the invoice-chase origin story (Lina Ochman, Christmas break) per Inc.com's [coverage of the May 13, 2026 announcement](https://www.inc.com/ben-sherry/anthropics-newest-claude-feature-is-here-to-help-small-business-owners-with-their-pain-points/91343926).
- Claude Skill architecture (text-file instructions, connectors as data bridges) per Anthropic's public documentation at [anthropic.com](https://www.anthropic.com).
- Anthropic [Claude billing controls](https://docs.anthropic.com) for the daily-spend-cap recommendation.
- QuickBooks invoice schema (status, due_date, line_items, notes) per the [QuickBooks Online API reference](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/invoice).

*This post is informational, not legal, financial, or accounting advice. The skill text shown is illustrative and should be reviewed by someone familiar with your business before turning on. Mentions of Anthropic, QuickBooks, Stripe, and Gmail are nominative fair use. No affiliation is implied.*


---

Canonical HTML: https://jwatte.com/blog/blog-invoice-chase-skill-deep-dive/
RSS: https://jwatte.com/feed.xml
JSON Feed: https://jwatte.com/feed.json
Hero image: https://jwatte.com/images/blog-invoice-chase-skill-deep-dive.webp
