Record payment
Record money received against an invoice, with date, type and bank reference.
MCP tool invoice_ninja_write → record_payment
Records a payment for the invoice client and applies it to the invoice. Without an amount it covers the full balance. A smaller amount leaves the invoice in Partial status, and an amount above the balance leaves the extra on the payment as an unapplied balance. Payment date defaults to today; set it to the day the money arrived, because reports use it. Send email is on by default, as in Invoice Ninja, and sends the client a payment confirmation. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| company string | string | Company name, for accounts with several companies. Default: the company open when you signed in. |
| invoice_number string required | string | Invoice number from list_invoices or create_invoice, e.g. INV-0038. |
| amount number | number | Amount received. Default: the full invoice balance. |
| payment_date date | date | Day the money arrived. Default: today. |
| payment_type string | string | Payment type as listed in Invoice Ninja, e.g. Bank Transfer, Cash or Cheque. |
| transaction_reference string | string | Bank reference or cheque number. |
| private_notes string | string | Internal note, never shown to the client. |
| send_email boolean | boolean | Send the client a payment confirmation. Default: true. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "invoice_ninja_write",
"arguments": {
"operation": "record_payment",
"arguments": {
"invoice_number": "INV-0034",
"amount": 1200,
"payment_date": "2026-10-12",
"payment_type": "Bank Transfer",
"transaction_reference": "INV-0034 Oct"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"payment_number": "0021",
"client": "Northwind Studio",
"payment_date": "2026-10-12",
"payment_type": "Bank Transfer",
"transaction_reference": "INV-0034 Oct",
"amount": 1200,
"status": "Paid",
"applied_to": [
{
"invoice_number": "INV-0034",
"amount": 1200
}
],
"invoice_status": "paid",
"invoice_balance": 0,
"confirmation_email": true
},
"isError": false
}