Skip to main content
Glama

Tradify MCP Server and API by Cotlet

Record payment

record_payment
Destructive

Record a payment received against an invoice and reduce the amount due. Adds a payment you already received to an approved invoice, as Add Payment does: amount, date, method (by name, from Settings > Payment Methods) and a reference. It charges nobody and emails nobody. The amount cannot exceed what is due; paying it all marks the invoice paid. If an accounting app is connected, Tradify syncs the payment to it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "invoice_id": "<invoice_id>",
      "amount": "<amount>"
    },
    "name": "record_payment"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNoPayment date. Default: today.
amountYesAmount received, at most the amount due.
methodNoPayment method name, e.g. Bank Deposit, Cash, Credit Card. Default: Unknown.
referenceNoe.g. the check number.
invoice_idYesInvoice ID from list_invoices.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Goes well past the annotations by disclosing side effects: no charge, no email, amount capped at the amount due, full payment marks the invoice paid, and a sync to any connected accounting app. It does not address what happens on repeated calls (idempotentHint=false) or how to correct a mistaken payment, which is a real gap given destructiveHint=true.

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

Conciseness5/5

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

Four short sentences, front-loaded with the core action and effect, then constraints, then the external side effect. The 'amount cannot exceed what is due' line repeats the schema slightly, but it reinforces a hard failure condition rather than wasting space.

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

Completeness4/5

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

For a destructive, non-idempotent mutation with no output schema, it covers preconditions, constraints and downstream sync well. The remaining hole is the return value and whether a recorded payment can be amended or voided, which the agent must know before invoking a destructive write.

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

Parameters4/5

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

With schema coverage at 100%, the schema already documents all five parameters, so baseline is 3. The description adds genuine value by specifying that the method is supplied by name from Settings > Payment Methods and that reference carries something like a check number, which the schema only gestures at.

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 and resource ('Record a payment received against an invoice') and the resulting effect ('reduce the amount due'), which no sibling tool does. The line 'as Add Payment does' anchors it to a known UI action, and 'charges nobody and emails nobody' implicitly separates it from send_invoice.

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?

Establishes the precondition clearly: a payment you already received, against an approved invoice. The 'charges nobody and emails nobody' remark steers the agent away from using this to bill a customer, but no sibling tool is named as the alternative for that case.

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.