Skip to main content
Glama
WYRE-AI

QuickBooks Online MCP Server

by WYRE-AI

qbo_payments_update

Sparse-update an existing Payment record. Only provided fields are changed; Id and SyncToken are required.

Instructions

Sparse-update an existing Payment record. Only provided fields are changed; Id and SyncToken are required.

Input Schema

NameRequiredDescriptionDefault
LineNoLinked transactions applying this payment, e.g. [{Amount: 100, LinkedTxn: [{TxnId: '5', TxnType: 'Invoice'}]}]. On update, Line replaces existing applications. QuickBooks keeps one line per invoice: a second line for an invoice that is already linked replaces that amount instead of adding to it. To increase an application, send one line with the combined amount.
TxnDateNoTransaction date (YYYY-MM-DD format)
TotalAmtNoTotal payment amount
SyncTokenYesCurrent SyncToken of the record (required by QBO for sparse updates; fetch the record first to obtain it)
paymentIdYesThe Payment ID to update
CustomerRefNoCustomer reference object, e.g. {"value": "123"} where value is the customer ID
PaymentMethodRefNoPayment method reference object, e.g. {"value": "1"}
DepositToAccountRefNoBank or asset account to deposit this payment into, e.g. {"value": "35"}. Omit on create to use Undeposited Funds. Omit on update to leave the existing deposit account unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.6

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses sparse-update semantics ('Only provided fields are changed') and the requirement for Id and SyncToken, which signals a read-before-write concurrency pattern. However, it omits permissions, side effects on linked transactions, error behavior, and reversibility.

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?

Two short sentences, front-loaded with the operation and scope. Every clause earns its place and there is no filler.

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?

The schema is rich (full description coverage, nested object details) and there is no output schema, so the description need not explain return values. It covers the core sparse-update behavior and required fields, but it could do more to guide when this mutation should be used instead of sibling alternatives.

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 parameters including nested objects. The description only repeats the required fields (Id and SyncToken), which are already declared required in the schema, and adds no new parameter syntax or meaning.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Sparse-update an existing Payment record.' 'Existing' and 'sparse-update' distinguish it from create and full-update operations. It does not explicitly name sibling alternatives such as qbo_payments_create or qbo_payments_void, so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over alternatives like qbo_payments_void, qbo_payments_get, or qbo_payments_create. The description states a constraint ('Id and SyncToken are required') but does not explain when or why an agent should perform an update versus another operation.

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

Deploy Server

Other Tools