Record invoice payment
Record money received from a customer against one or more open invoices.
MCP tool myob_write → record_invoice_payment
Records the payment as Sales > Record invoice payment does and returns the amount applied to each invoice with its new balance and status. A payment that settles an invoice in full closes it; a smaller amount leaves it open. An amount above the open invoices makes MYOB create a customer credit, so check the balance with get_invoice first. Payments already reconciled cannot be changed later. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| customer_id string required | string | Customer card ID from list_customers, e.g. CUS000012. |
| bank_account string required | string | Account code from list_bank_accounts, the account the money came in to or goes out of. |
| date date | date | Payment date. Default: today. |
| reference string | string | Reference number. Default: the next number MYOB suggests. |
| payments array required | array | Objects with invoice_number, amount and optional discount. |
| description string | string | Description of transaction. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "myob_write",
"arguments": {
"operation": "record_invoice_payment",
"arguments": {
"customer_id": "CUS000012",
"bank_account": "1-1110",
"date": "2026-10-13",
"reference": "00000087",
"payments": [
{
"invoice_number": "00000142",
"amount": 1100
}
]
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"payment_reference": "00000087",
"customer_id": "CUS000012",
"bank_account": "1-1110",
"date": "2026-10-13",
"amount_received": 1100,
"applied": [
{
"invoice_number": "00000142",
"amount": 1100,
"balance_due": 0,
"status": "closed"
}
]
},
"isError": false
}