create_recurring_invoice
Create a recurring invoice profile. Generates an invoice automatically on each period (weekly/monthly/etc.). Use generate_recurring_invoice_now to fire one immediately.
What create_recurring_invoice does
Creates a new recurring invoice in the organization. Required fields are validated server-side; optional fields default sensibly.
This tool is part of InvoiceCave's open MCP server — the most MCP-complete invoicing platform on the market with 102 tools covering invoices, customers, quotes, expenses, payments, recurring schedules, accounting, and reports. Every tool is callable from any MCP-compatible AI client without writing a single line of integration code.
How an AI uses create_recurring_invoice
Use when the AI needs to record something new — typically as the final step of a "set this up for me" workflow. The call is idempotency-key aware: if the AI accidentally retries, it won't create a duplicate. The created record's ID is returned for follow-up actions like sending or invoicing.
You don't call this tool directly — you ask the AI in plain English and the MCP client decides which tool to invoke based on your request. The example prompts below were lifted from real Claude Desktop sessions, so you can use them verbatim or adapt them to your data.
Parameters
create_recurring_invoice accepts 18 parameters — 1 required, 17 optional. The AI fills these in from your natural-language prompt; you never write them by hand.
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | required | First invoice date YYYY-MM-DD |
| customerName | string | optional | Customer name (will auto-create if not found) |
| customerId | string | optional | Existing customer ID |
| profileName | string | optional | Display name (e.g. "Monthly Hosting - Acme") |
| frequency | string | optional | Billing frequency (default: monthly) |
| customDays | number | optional | Days between invoices (required if frequency=custom) |
| lineItems | array | optional | Line items |
| endDate | string | optional | Optional end date YYYY-MM-DD |
| currency | string | optional | — |
| terms | string | optional | — |
| customerNotes | string | optional | — |
| termsAndConditions | string | optional | — |
| subject | string | optional | — |
| salesperson | string | optional | — |
| discountType | enum | optional | —fixedpercentage |
| discountValue | number | optional | — |
| shippingCharges | number | optional | — |
| adjustment | number | optional | — |
Request example
Under the hood, your AI client sends a JSON-RPC 2.0 tools/call request to InvoiceCave's MCP endpoint at https://www.invoicecave.com/api/mcp/mcp. Here's what a create_recurring_invoice call looks like:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_recurring_invoice",
"arguments": {
"startDate": "2026-06-01",
"customerName": "Acme Corp",
"customerId": "cus_a1b2c3d4",
"profileName": "Acme Corp",
"frequency": "example"
}
}
}You won't write this yourself — it's shown so developers can see exactly what the MCP client generates. The arguments object maps 1:1 to the parameters above. Authentication is handled by the Authorization: Bearer header with your API key.
Example AI prompts
Type any of these into Claude Desktop, Claude Code, or Cursor — InvoiceCave's MCP server will route them to create_recurring_invoice automatically.
“Set up a $2,500/month retainer for Acme Corp starting January 1.”
Use it in 30 seconds
Related tools
More from the Recurring Invoices category.
list_recurring_invoicesList recurring invoice profiles. Optionally filter by status.
update_recurring_invoiceUpdate a recurring invoice profile. Note: line item changes require deleting and recreating the profile. Use this for metadata, frequency, end date, and discount/shipping/adjustment.
delete_recurring_invoiceDelete a recurring invoice profile. Already-generated invoices are NOT deleted.
pause_recurring_invoicePause a recurring invoice profile so the cron stops generating invoices for it. Resume later with resume_recurring_invoice.
resume_recurring_invoiceResume a paused recurring invoice profile.
generate_recurring_invoice_nowManually trigger generation of an invoice from a recurring profile right now. Advances the profile's nextInvoiceDate.
FAQ — create_recurring_invoice
What is create_recurring_invoice?▾
create_recurring_invoice is one of 102 tools in InvoiceCave's MCP server. Creates a new recurring invoice in the organization. Required fields are validated server-side; optional fields default sensibly. It's invoked automatically when an AI client like Claude or Cursor decides the user's request maps to this action.
Which AI clients can call create_recurring_invoice?▾
Any MCP-compatible client. We've tested it with Claude Desktop, Claude Code, Cursor, Windsurf, and Codex. The MCP protocol is open, so any AI tool that speaks MCP can call this endpoint with a valid InvoiceCave API key.
Is calling create_recurring_invoice secure?▾
Yes. Every call is authenticated by the API key you mint in the dashboard, scoped to a single organization, rate-limited per key, and recorded in the audit log with source='mcp'. Sensitive fields (SMTP passwords, encryption keys) are never returned to the AI client.
What parameters does create_recurring_invoice take?▾
create_recurring_invoice accepts 18 parameters — 1 required (startDate) and 17 optional. The AI populates these from your plain-English prompt — see the parameter table and request example above.
Does create_recurring_invoice count against any quota?▾
MCP tool calls are unmetered on the free plan up to a generous monthly limit. Once you connect Stripe and start charging your customers, every call still counts against the same per-key rate limit but doesn't add to your bill.
Ready to wire this up?
Free plan — no credit card. 102 tools at your AI's disposal.