Skip to main content
Glama
Storno CLI

Storno CLI

Official
by stornoro

payments_create

Record a payment received for an invoice, update amount paid and balance, and automatically set status to partially paid or paid. Supports partial payments with method, reference, and notes.

Instructions

Record a payment received for an invoice. Updates the invoice amountPaid and balance, and automatically changes invoice status to "partially_paid" or "paid" as appropriate. Supports partial payments with full details (method, reference, notes).

Input Schema

NameRequiredDescriptionDefault
notesNoAdditional notes about this payment
amountYesPayment amount (must be greater than 0)
currencyNoCurrency code (ISO 4217). Defaults to invoice currency. Include if payment is in a different currency.
companyIdNoCompany UUID override (uses active company if not set)
invoiceIdYesInvoice UUID to record payment for
referenceNoPayment reference number (e.g., bank transfer reference, receipt number)
paymentDateYesDate payment was received in ISO 8601 format (YYYY-MM-DD)
paymentMethodNoPayment method: bank_transfer (default), cash, card, cheque, or other

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.17

TDQS

A3.7/5.0
Behavior4/5

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

Goes well beyond the annotations (readOnly=false, destructive=false, idempotent=false) by disclosing the side effects on the invoice: amountPaid, balance, and automatic status transition to partially_paid or paid. It does not warn that retries create duplicate payments despite idempotentHint=false, nor mention permission or validation constraints beyond the schema.

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?

Three short sentences, front-loaded with the purpose and immediate side effects. The final sentence largely repeats schema field documentation and could be trimmed without losing meaning.

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 an 8-parameter create tool with full schema coverage and annotations present, the description covers the essential behavior and downstream invoice mutation. Gaps are minor: no statement about duplicate prevention on retry, error conditions, or what the created payment record returns (there is no output schema to defer to).

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 every parameter including amount, currency, companyId override, and the paymentMethod enum. The description only restates that method, reference, and notes exist and that partial amounts are allowed, adding little beyond the schema baseline.

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?

States a concrete verb and resource ('Record a payment received for an invoice') plus the resulting state changes on the invoice, so the action is unambiguous. It does not distinguish itself from adjacent siblings such as payments_receipt_issue or invoices_bulk_mark_paid, so an agent cannot tell whether a receipt is also generated.

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

Usage Guidelines3/5

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

Usage is only implied: the mention of partial payments and detail fields hints at when this is appropriate, but there is no explicit when-to-use guidance, no prerequisite (e.g., invoice must be issued/unpaid), and no pointer to the sibling for receipt issuance or bulk marking paid.

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