Skip to main content
Glama

Field Service Business Platform by Doing Work

invoices_void

Void an invoice nobody has paid yet (owner or office), with a reason. Pay links stop working and an open card checkout is expired. Refused when any money was collected, a card charge is pending or a bank payment is clearing: refund instead. A void invoice cannot be reopened; create a new one if needed. Change orders and maintenance terms on it can be billed again.

Input Schema

NameRequiredDescriptionDefault
reasonYesWhy the invoice is void, 1 to 500 characters. Kept with the invoice and in the event.
invoice_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses side effects (pay links stop working, open card checkout expires), refusal conditions, irreversibility, and that change orders and maintenance terms can be billed again. It also implies an authorization boundary with 'owner or office'.

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?

The description is front-loaded with the operation and eligibility, then layers side effects, refusal cases, irreversibility, and downstream billing implications. Every sentence adds useful operational context without repetition.

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 financial mutation with no annotations, the description covers what is changed, when it is refused, what alternative to use, and that the action is irreversible. An output schema exists, so return-value explanation is unnecessary.

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?

The schema documents the reason parameter in detail, while invoice_id has no schema description and the tool description does not add semantics for it beyond the obvious target invoice. With 50% schema coverage, the description is adequate but does not compensate for the undocumented invoice_id parameter.

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 names a specific operation and resource: void an unpaid invoice, with a reason. It clearly distinguishes this from refunding by stating that refund is the alternative when money has been collected or a payment is pending/clearing.

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

Usage Guidelines5/5

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

It gives explicit eligibility conditions, refusal conditions, and the correct alternative: use refund instead when any money was collected, a card charge is pending, or a bank payment is clearing. It also notes that a void cannot be reopened and that a new invoice must be created if needed.

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