Skip to main content
Glama
amin-ale

QuickBooks Online MCP Server

by amin-ale

Delete payment

delete_payment
Destructive

Permanently remove a mistakenly recorded payment from QuickBooks, returning any invoice it settled to unpaid. Use only for payments entered in error.

Instructions

Delete a payment permanently from the company file. Use it only for a payment recorded in error, and expect any invoice it settled to go back to unpaid for that amount. This server cannot undo the deletion. Write operation and not idempotent: it needs the SyncToken from a fresh get_payment, and a repeat call for the same Id fails because the payment no longer exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
payment_idYesQuickBooks Payment Id, as returned by search_payments, list_payments, or create_payment.
sync_tokenYesSyncToken from a fresh get_payment call for this Id. QuickBooks rejects a stale token with error 5010, so re-read the payment instead of reusing an older token.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
errorNo
paymentNo
Install Server

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the annotations. While annotations mark the operation as destructive and non-idempotent, the description adds that the server cannot undo deletion, that settled invoices revert to unpaid, and that repeat calls fail because the payment no longer exists. These are valuable behavioral disclosures not visible in structured metadata.

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?

Three sentences deliver the core action, usage condition, irreversible consequence, effect on invoices, and non-idempotent concurrency requirement. There is no redundancy or filler; each sentence adds distinct information and the most critical facts are front-loaded.

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 destructive write operation, the description covers what happens on success, the consequences to related data, the impossibility of undo, and the required precondition for a successful call. With output schema present and annotations already conveying safety flags, nothing an agent needs to invoke this tool correctly is missing.

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%, with both payment_id and sync_token already documented in detail, including the 5010 stale-token warning. The description reinforces the need for a fresh SyncToken and notes the repeat-call failure, but it does not introduce genuinely new parameter-level meaning beyond what the schema provides, so the baseline of 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?

The description opens with 'Delete a payment permanently from the company file,' combining a specific verb, resource, and permanence scope. It also narrows the purpose with 'Use it only for a payment recorded in error,' which distinguishes it from update-oriented siblings and clearly frames the deletion as a corrective, irreversible action.

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?

Explicitly states when to use the tool ('only for a payment recorded in error') and warns about the effect on settled invoices. It also gives a technical prerequisite (fresh SyncToken) and behavior on repeat calls, but it does not explicitly name an alternative such as update_payment for non-error corrections, leaving that routing implicit.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/amin-ale/mcp-quickbooks'

If you have feedback or need assistance with the MCP directory API, please join our Discord server