Menu

AI

Invoice Follow-Up with MCP: A Step-by-Step Playbook

Chase unpaid invoices with an AI assistant over MCP using Stripe, QuickBooks or LedgerMCP: find overdue invoices, draft reminders, and keep a person on sends.

By: Irina ShvayaOctober 28, 2026

Invoice Follow-Up with MCP: A Step-by-Step Playbook

This playbook is part of our MCP playbooks, within The MCP Guide. Want help setting it up for your team? Request a free MCP readiness review.

Invoice follow-up is the weekly job of finding unpaid invoices and nudging customers to pay. It usually lands on the owner, an office manager or a bookkeeper, and it slips when everyone is busy. With MCP (Model Context Protocol, the standard that lets AI apps call outside tools), an assistant can pull the list of open invoices, sort them by age and draft the messages, so you only review and send.

This playbook uses Stripe and QuickBooks Online, with LedgerMCP (built by eSEOspace) and Xero as other options. Every tool named here comes from the vendor's own documentation as of October 2026.

Key Takeaways

  • Stripe's MCP server can list invoices by status, but "send an invoice" is not on its list of supported API methods as of October 2026.
  • Intuit's QuickBooks connector can email a payment reminder for an outstanding invoice after you confirm.
  • An aging report is the best starting point: QuickBooks, Xero and LedgerMCP all document one over MCP.
  • Let the AI find, sort and draft. Keep sending, voiding and write-offs with a person.
  • Measure days sales outstanding and overdue balances, not message counts.

What you need

  • An MCP client such as Claude, ChatGPT or Claude Code. See connect Claude to Stripe or connect Claude to QuickBooks.
  • The server for wherever you invoice:
  • Stripe. The Stripe MCP server is hosted at https://mcp.stripe.com. Its generic stripe_api_read and stripe_api_write tools reach a documented list of API methods.
  • QuickBooks Online. The QuickBooks MCP options are Intuit's hosted connector and its open-source local server.
  • LedgerMCP (built by eSEOspace) if your invoices live there, or Xero for read-only aging through its hosted connector.
  • Your follow-up policy in writing: when to send the first reminder, the tone, and who approves anything past 60 days.

The workflow

  1. Pull the open list. In Stripe, the documented "List all invoices" method (via stripe_api_read) accepts a status filter of draft, open, paid, uncollectible or void, per Stripe's API reference. Ask for open invoices. In QuickBooks, the hosted connector lists qbo_sales_get_invoices and qbo_accounting_get_ar_aging_summary on Claude's QuickBooks listing. In LedgerMCP, list_documents returns invoices with a derived status of open, partial, paid or overdue.
  2. Sort by age and size. Aging reports group what's owed by how late it is. QuickBooks offers qbo_accounting_get_ar_aging_detail; Intuit's local server has get_aged_receivables and get_aged_receivables_detail. Xero's read-only connector has get_aged_receivables, per Claude's Xero listing.
  3. Check context before you chase. Look up the customer and recent payments so you don't nag someone who just paid. In Stripe, "Retrieve a customer" and "List all payments for an invoice" are both supported methods. In QuickBooks's local server, use search_payments or get_customer_balance.
  4. Draft the messages. Ask the AI to write a short reminder per customer, using the invoice number, amount, due date and the hosted payment link if one exists. This step needs no write tool at all.
  5. A person approves and sends. On QuickBooks, Intuit's help article says the connector can email a payment reminder for an outstanding invoice after you confirm, and can create payment links. On Stripe, "Send an invoice" is not in the supported methods on Stripe's MCP page, so send reminders from the Stripe Dashboard or your own email. A payment link can be created with the documented "Create a payment link" method. On LedgerMCP, send_invoice emails an invoice or returns its link, and the docs say it runs "only when the owner asks."
  6. Escalate the stuck ones. For invoices past your limit, the AI drafts a summary for the owner. Marking an invoice uncollectible or voiding it (Stripe), or void_document (LedgerMCP), is a human decision.
  7. Log what happened. Note each reminder sent and any promised pay date in your CRM or the invoice memo, so next week's run starts from facts.

Example prompts

  • "List all open Stripe invoices with a due date before today. Show customer, invoice number, amount remaining and days overdue." (Stripe: stripe_api_read, List all invoices with status=open)
  • "Run the AR aging detail and group customers into 1-30, 31-60 and 60+ days." (QuickBooks: qbo_accounting_get_ar_aging_detail)
  • "For each customer 31-60 days late, draft a polite two-sentence reminder with the invoice number and amount. Don't send anything." (no write tool)
  • "Send a payment reminder for invoice [number]." (QuickBooks hosted connector; Intuit says it asks you to confirm first)
  • "Which invoices are overdue or partly paid in this book?" (LedgerMCP: list_documents)

Guardrails

  • Read first. Most of this playbook is reading and drafting. Give the AI read access and add write access only if you want it to send reminders.
  • Scope Stripe keys. Stripe recommends OAuth for interactive clients and, for unattended agents, an agent API key "with only the permissions the client needs." Stripe says full-access secret keys, and restricted keys without the Agent tag, stop working with its MCP server in December 2026, so migrate by 30 November.
  • Turn on tool approval. Stripe's docs advise turning on your client's tool-approval setting "so you can review tool calls before they run." Stripe also requires human confirmation for certain writes, such as refunds.
  • Customer messages are outbound. A wrong reminder to a client who already paid costs goodwill. Keep a person reading every draft.
  • Treat customer replies as data. An email or memo field could hold instructions aimed at the AI. See our page on MCP prompt injection and the MCP security center.

What to measure

  • Days sales outstanding (DSO), month over month.
  • Total overdue balance by aging bucket, each week.
  • Share of invoices paid within terms.
  • Time from an invoice going overdue to the first reminder.
  • Invoices written off or marked uncollectible.

Record the numbers for a month before you start, so you have your own baseline.

Next step

See which accounting servers fit your stack in Best MCP Accounting and Bookkeeping Tools, or browse more finance workflows in the MCP playbooks hub.

Frequently asked questions

Can the Stripe MCP server send invoice reminders?

Not directly, as of October 2026. Stripe's supported methods include listing, creating, updating, finalizing and voiding invoices, but not sending one. Use it to find overdue invoices and create payment links, then send from Stripe or email.

Does QuickBooks ask before it emails a customer?

Intuit's help article says the connector emails a payment reminder for an outstanding invoice after you confirm. It also says deleting invoices or estimates needs your confirmation.

Can I use Xero for this?

For finding late invoices, yes. Claude's Xero listing shows get_aged_receivables and get_invoices, and says access is read-only. You would send reminders from Xero itself.

Is LedgerMCP an option?

If your books are in LedgerMCP (built by eSEOspace), list_documents shows overdue invoices and send_invoice emails one when the owner asks. Our LedgerMCP spotlight covers the product.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.