Skip to main content
Glama

MYOB: Record invoice payment

myob_record_invoice_payment

MYOB: Record money received from a customer against one or more open invoices. 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. Reaches other people: confirm with the user before each call. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoPayment date. Default: today.
paymentsYesObjects with invoice_number, amount and optional discount.
referenceNoReference number. Default: the next number MYOB suggests.
customer_idYesCustomer card ID from list_customers, e.g. CUS000012.
descriptionNoDescription of transaction.
bank_accountYesAccount code from list_bank_accounts, the account the money came in to or goes out of.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the annotations (destructiveHint=false, openWorldHint=true): fully-settled invoices close, smaller amounts leave them open, overpayments create a customer credit, and reconciled payments cannot be changed later. It also discloses the confirmation workflow and the required Cotlet API key access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and sequences prerequisites and consequences logically. It is somewhat long, with the confirmation and API-key sentences reading as boilerplate, but nearly every sentence carries behavioral value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers return values (amount applied, new balance, status), edge-case outcomes, reversibility limits, and auth requirements. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters including the payments object shape and field defaults. The description adds only the overpayment/credit consequence rather than clarifying individual parameter formats, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (record), resource (invoice payment / money received from a customer), and scope (against one or more open invoices). It is clearly distinguishable from the sibling myob_record_bill_payment by naming customer receipts explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong when-to-use context: tells the agent to check the balance with get_invoice first to avoid creating a customer credit, and explains the full/partial/overpayment outcomes. It lacks explicit exclusions or a named alternative for other receipt types, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources