Unpaid invoice nudge: find overdue Stripe invoices and draft a follow-up for each deal owner

Stripe + HubSpot

IntermediateAEs

Who it's for

AEs whose customers pay through Stripe and who want to know which sent invoices are still unpaid, matched to the HubSpot deal and owner, with a polite nudge drafted for each. Everything stays read-only. HubSpot can be swapped for Salesforce, Attio or Pipedrive.

What you get

Unpaid invoices matched to deals, with one draft nudge. Sample output: every company and person in it is fictional.

Stripe invoices sent and still open after 14 days: 4. Nothing has been changed in Stripe or HubSpot.

| Customer | Invoice | Amount | Sent | Days open | HubSpot deal | Owner |
|---|---|---|---|---|---|---|
| Mossgate Labs (fictional) | INV-0412 | $18,000 | Sep 22 | 24 | Mossgate annual plan, Closed won | Jordan |
| Fernhill Software (fictional) | INV-0398 | $6,500 | Sep 15 | 31 | Fernhill seat expansion, Closed won | Alex Rivera |
| Quarry Lane Analytics (fictional) | INV-0405 | $2,400 | Sep 30 | 16 | No match on domain quarrylane.example | ? |
| Larkspur Freightworks (fictional) | INV-0391 | $12,000 | Sep 12 | 34 | Larkspur renewal, Closed won. Note on Oct 9: "PO in procurement" | Jordan |

Skipped: Larkspur (a note says the PO is in procurement, so it's already being handled). Quarry Lane has no matching deal, so check it yourself.

Draft for Jordan to send (text only, not sent):
To: [email protected]
Subject: Invoice INV-0412 for your annual plan

Hi Dana,

A quick check on invoice INV-0412 for $18,000, sent on Sep 22. I don't see it as paid yet. Is it waiting on anything from our side, like a PO number or a W-9?

Happy to resend it to whoever handles payables.

Thanks,
Jordan

Time and cost

Estimate About 10–15 minutes a week, most of it reading the drafts.

Assumptions: One weekly run over about 5 open invoices and their matching deals.

Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.

MCP servers

Every server is confirmed in: ClaudeChatGPT

Set up in a chat app

Every server in this recipe is confirmed for Claude and ChatGPT. Connect each one, then paste the prompts below into one conversation.

Developer setup

Auth setup and mcp.json for Claude Code and Cursor
  • Stripe: Sign in with OAuth, or pass an API key as a Bearer token for headless use.
  • HubSpot: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.

Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.

{
  "mcpServers": {
    "stripe": {
      "url": "https://mcp.stripe.com"
      // headless alternative: "headers": { "Authorization": "Bearer YOUR_STRIPE_API_KEY" }
    },
    "hubspot": {
      "url": "https://mcp.hubspot.com"
    }
  }
}

Step-by-step prompts

  1. In Stripe, list my open invoices that were sent more than {days} days ago and are still unpaid: customer, customer email, invoice number, amount, status, sent date and days open. Leave out draft invoices. Read only. Don't change anything in Stripe.
  2. For each invoice, find the matching company and deal in HubSpot by the customer's email domain. Show the deal name, stage, owner and any note from the last 30 days. List invoices with no match separately. Don't change any records.
  3. Skip any invoice where a recent note says payment or a PO is in progress. For the rest, write a short, polite follow-up from the deal owner to the billing contact: invoice number, amount, sent date, and a question about what's blocking it. Show me the text only. Don't send anything.
  4. Give me a summary by owner: how many invoices, total amount open, and which drafts are ready. If I ask for a new payment link or any Stripe change, show me exactly what you'll do and do it only after I approve it.

Run it on a schedule (optional)

Where this goes wrong

Gotchas

Download

Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.

Download unpaid-invoice-nudge.md

Vendor sites: HubSpot. If we join an affiliate program, these links will be labeled as affiliate links.