Record invoice payment
Record an offline payment, such as a bank transfer, on an open invoice.
MCP tool chargebee_write → record_invoice_payment
write Confirm
Records a payment received outside Chargebee on a payment_due or not_paid invoice. A partial amount reduces the amount due; an amount above it becomes excess payments on the customer. Amounts are in the smallest currency unit. It marks money as received, so by default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| invoice_id string required | string | Invoice ID from list_invoices, for example INV-1042. |
| amount integer required | integer | Amount received in the smallest currency unit. |
| payment_method string required | string | Offline method as named in the Record payment dialog, for example Bank transfer. |
| date date | date | Day the money arrived. Default: today. |
| reason_code string | string | A reason code configured in Chargebee, if your site uses them. |
| comment string | string | Internal note, for example the bank reference. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "chargebee_write",
"arguments": {
"operation": "record_invoice_payment",
"arguments": {
"invoice_id": "invoice_8c41d2",
"amount": 1,
"payment_method": "payment method"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"invoice": {
"invoice_id": "INV-1044",
"status": "paid",
"total": 29900,
"amount_paid": 29900,
"amount_due": 0
},
"payment": {
"amount": 29900,
"method": "Bank transfer",
"date": "2026-10-14"
}
},
"isError": false
}