Skip to main content
Glama

Credit note

o2c_create_credit_note

Raise a credit note: the universal downward correction. Pricing errors, short-pay resolution, goodwill — anything past draft is corrected downward this way and only this way (INV-11). A credit note has its own open balance: apply it to invoices like a payment, or refund it. Standalone credits (no invoice reference) are allowed but the reason is mandatory and it will be read back. Effects: credit note raised as unapplied credit.

Input Schema

NameRequiredDescriptionDefault
kindYesWhat kind of correction this is. Returns and write-offs have their own commands.
amountYesCredit amount, tax-inclusive. In cents (integer minor units) — 1250 means $12.50.
reasonYesWhy. Mandatory — this is money.
invoice_idNoThe invoice being corrected, when there is one. An existing invoice id.
customer_idYesWhose balance this relieves. An existing customer id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Adds real behavioral context beyond annotations: the note becomes an unapplied credit with its own open balance that can be applied like a payment or refunded, and that the reason is mandatory and read back. Annotations already cover the safety profile (not readOnly, not idempotent, closed world), so this is useful added detail rather than load-bearing.

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-loaded with the core action and an 'Effects:' trailer that states the outcome. Mostly efficient, though the INV-11 jargon and 'universal downward correction' phrasing add minor noise without much payoff.

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?

No output schema exists, and the description compensates by stating the resulting state ('raised as unapplied credit') and downstream options (apply or refund). Sufficient for an agent to call it correctly, though it could tie explicitly to the apply/refund sibling tools.

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?

Schema coverage is 100%, so the schema carries the parameter burden, but the description adds meaning: it explains invoice_id is optional ('standalone credits... allowed') and that reason is mandatory. This gives semantic framing beyond the field-level descriptions.

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?

Specific verb+resource ('Raise a credit note') with a strong scoping claim ('the universal downward correction... only this way'). It differentiates the concept from returns/write-offs indirectly, but never names the actual sibling commands (o2c_write_off, o2c_record_return) that compete for the same intent.

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?

Gives concrete use cases (pricing errors, short-pay resolution, goodwill) and clarifies that standalone credits without an invoice are allowed. It stops short of explicit when-not-to-use guidance against sibling tools like o2c_write_off or o2c_record_return, leaving that to the schema's 'kind' description.

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.