Finalize a customer invoice
Turn a draft invoice into a final one with an invoice number.
MCP tool pennylane_write → finalize_customer_invoice
write Confirm
Finalizes a draft invoice and returns its invoice number. Once finalized, the invoice can no longer be edited. The call fails with an error when the entry lines are not balanced, and it does not send the invoice to the customer; use send_customer_invoice for that. Finalizing issues a legal document, so it asks for your OK. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice_id integer required | integer | Invoice ID from list_customer_invoices or create_customer_invoice. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pennylane_write",
"arguments": {
"operation": "finalize_customer_invoice",
"arguments": {
"invoice_id": 1
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"invoice_id": 118390,
"invoice_number": "F-2026-0151",
"status": "upcoming",
"draft": false,
"amount": "1368.00",
"deadline": "2026-11-30"
},
"isError": false
}