All 102 tools
Invoices

create_invoice

Create a new invoice with line items, optional discount, shipping, adjustment. If the customer does not exist, they will be auto-created. Line item descriptions support multi-line: first line = bold title, lines after \\n = sub-description in lighter text.

Write · New record

What create_invoice does

Creates a new 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_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_invoice accepts 17 parameters. The AI fills these in from your natural-language prompt; you never write them by hand.

ParameterTypeRequiredDescription
customerNamestringoptionalCustomer name. Will auto-create if not found.
customerIdstringoptionalExisting customer ID (use instead of customerName)
lineItemsarrayoptionalMULTI-LINE: First line = bold item title. Use \\n for sub-description lines. Example: "Graphics Package\\nProject: ClientName"
currencystringoptionalCurrency code (default: org currency)
termsenumoptionalDue on ReceiptNet 15Net 30Net 45Net 60
dueDatestringoptionalDue date in YYYY-MM-DD format
invoiceDatestringoptionalInvoice date in YYYY-MM-DD (default: today)
customerNotesstringoptionalNotes visible to customer
termsAndConditionsstringoptionalTerms and conditions text
subjectstringoptionalInvoice subject line
salespersonstringoptionalSalesperson name
discountTypeenumoptionalDiscount typefixedpercentage
discountValuenumberoptionalDiscount value (amount or percentage)
shippingChargesnumberoptionalShipping charges
adjustmentnumberoptionalAdjustment amount (positive or negative)
invoiceTemplateenumoptionalPDF template style for this invoice (overrides org default).classicmodernminimalboldelegant
selectedPaymentMethodsarrayoptionalArray of payment method IDs to display on this invoice. Use list_payment_methods to get IDs. Empty/omitted = show all configured methods.

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_invoice call looks like:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_invoice",
    "arguments": {
      "customerName": "Acme Corp",
      "customerId": "cus_a1b2c3d4",
      "lineItems": [
        {
          "description": "Consulting — March",
          "quantity": 10,
          "rate": 150
        }
      ],
      "currency": "USD",
      "terms": "Due on Receipt"
    }
  }
}

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_invoice automatically.

Create a $5,000 invoice for Acme Corp using the modern template, due Net 30.

Bill Globex Industries for 40 hours at $150/hr — Net 15, USD.

Make a draft invoice to Initech with two line items: Web Design $3,000 and Hosting $50/mo.

Related tools

More from the Invoices category.

FAQ — create_invoice

What is create_invoice?

create_invoice is one of 102 tools in InvoiceCave's MCP server. Creates a new 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_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_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_invoice take?

create_invoice accepts 17 parameters, all optional. The AI populates these from your plain-English prompt — see the parameter table and request example above.

Does create_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.