Skip to main content
Glama
stornoro

Storno CLI

Official
by stornoro

storno_xml_generate

Read-onlyIdempotent

Generate e-Factura (UBL 2.1, CIUS-RO) storno XML without an account to correct SPV-accepted invoices or test output before integration.

Instructions

Generate an e-Factura (UBL 2.1, CIUS-RO) XML for a storno / credit invoice without an account. Public endpoint: nothing is stored, no authentication needed, rate limited per IP. Returns the XML, the XSD + Schematron validation report, and totals. The result is an Invoice (type 380) with negated quantities and a BillingReference to the original document, exactly what Storno issues for stornos. RON only. Use it to correct an invoice already accepted in SPV, or to test XML output before integrating.

Input Schema

NameRequiredDescriptionDefault
buyerYes
linesYes
sellerYes
stornoNo
currencyNo
originalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.28

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, it discloses that nothing is stored, no authentication is needed, rate limiting is per IP, and it returns XML plus XSD/Schematron validation report and totals. It also explains the output structure as type 380 with negated quantities and BillingReference, which is substantial behavioral context for a tool with no output schema.

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 core purpose and then packs auth, storage, output, format, business meaning, currency, and usage into a compact block. There is no significant filler, though 'exactly what Storno issues for stornos' is slightly redundant but still clarifying.

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 complex nested generator with no output schema, the description covers what it returns, that it validates against XSD and Schematron, what business document it produces, its currency limitation, and the expected use cases. Remaining field-level detail is appropriately delegated to the input schema.

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 description adds some meaning: currency is RON only, the storno references an original document, and output quantities are negated. However, it does not compensate for low schema coverage by explaining seller, buyer, line-item, or required-field semantics; the nested schema must carry most parameter documentation.

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 states a precise verb and resource: generate an e-Factura UBL 2.1 CIUS-RO XML for a storno / credit invoice. It clearly distinguishes this from normal invoice tools by noting it works without an account and produces an Invoice type 380 with negated quantities and a BillingReference to the original.

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?

It gives explicit use cases: correct an invoice already accepted in SPV, or test XML output before integrating. It also clarifies the public no-auth context. It does not name sibling alternatives or explicit when-not conditions, so it falls short of the top usage-guidance level.

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