Update invoice
update_invoiceUpdate an existing invoice: status, paid date, lines, customer, dates, amounts, appearance and other fields. Find the invoice ID with list_invoices first, and resolve new customers or products with list_customers/list_products. Fields left out keep their current values. Passing items replaces every line with the given list, in that order. pdfUrl is a private, signed download link that expires at pdfUrlExpiresAt (1 hour). Give it to the user to open or download the PDF; don't put it in emails, notes, or anything that has to keep working.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "update_invoice"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Invoice ID to update (from list_invoices) | |
| items | No | The complete new list of lines, in print order. Replaces all current lines, so include the ones to keep. | |
| footer | No | Footer printed at the bottom of every page. Plain text or simple HTML (p, br, h1-h3, strong, em, u, s, a, ul, ol, li, span with color or text-align); other markup and scripts are removed. An empty string means no footer. | |
| status | No | New invoice status. When only status and/or paidDate are given, the PDF is not regenerated. | |
| dueDate | No | New due date (ISO string or null to clear) | |
| taxRate | No | New tax rate | |
| taxType | No | New tax type | |
| currency | No | New currency code | |
| discount | No | New discount as a fixed amount | |
| language | No | Language of the printed labels and title. One of: en (English), de (German), fr (French), es (Spanish), pt (Portuguese), it (Italian), ar (Arabic), zh (Chinese), ja (Japanese), kr (Korean), tr (Turkish), az (Azerbaijani) | |
| paidDate | No | Date the invoice was paid (ISO string). Setting this automatically marks the invoice as PAID. Pass null to clear. | |
| template | No | PDF design: regular (Regular), bold-professional (Bold Professional), tech-minimal (Mono), startup-modern (Startup Modern) | |
| issueDate | No | New issue date (ISO string) | |
| projectId | No | Project ID to link the invoice to, or null to unlink | |
| customerId | No | New customer ID (replaces the current customer) | |
| dateFormat | No | How dates print. 'Month DD, YYYY' prints December 31, 2025; 'Mon DD, YYYY' prints Dec 31, 2025; 'DD Mon YYYY' prints 31 Dec 2025 | |
| endMessage | No | New note to the customer printed after the totals (empty string clears) | |
| invoiceMode | No | New invoice mode | |
| taxIncluded | No | Whether tax is included in prices | |
| assignedToId | No | Employee ID to assign the invoice to, or null to unassign | |
| customFields | No | Replace all custom fields with these, in print order (empty array clears) | |
| invoiceTitle | No | Document title printed at the top. Omit to keep the current title; an empty string resets it to the translated word for 'Invoice'. | |
| shippingCost | No | New shipping cost | |
| invoiceNumber | No | New invoice number | |
| currencyFormat | No | How amounts print: NARROW_SYMBOL ($1,234.50), SYMBOL (US$1,234.50), CODE (USD 1,234.50), NAME (1,234.50 US dollars), ACCOUNTING (($1,234.50) for negatives) | |
| termsOfPayment | No | New payment terms (empty string clears) | |
| paymentMethodIds | No | Replace the printed payment methods with these saved payment method IDs (empty array prints none) | |
| acceptOnlinePayments | No | Turn online payment from the shared invoice link on or off |