
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 genericstripe_api_readandstripe_api_writetools 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
- Pull the open list. In Stripe, the documented "List all invoices" method (via
stripe_api_read) accepts astatusfilter ofdraft,open,paid,uncollectibleorvoid, per Stripe's API reference. Ask foropeninvoices. In QuickBooks, the hosted connector listsqbo_sales_get_invoicesandqbo_accounting_get_ar_aging_summaryon Claude's QuickBooks listing. In LedgerMCP,list_documentsreturns invoices with a derived status of open, partial, paid or overdue. - 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 hasget_aged_receivablesandget_aged_receivables_detail. Xero's read-only connector hasget_aged_receivables, per Claude's Xero listing. - 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_paymentsorget_customer_balance. - 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.
- 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_invoiceemails an invoice or returns its link, and the docs say it runs "only when the owner asks." - 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. - 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 withstatus=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.











