Skip to main content
Glama
uol-mcp

uol-mcp

by jakubbegera

Get issued invoice

get_sales_invoice
Read-onlyIdempotent

Retrieve an issued sales invoice by ID to review line items, VAT, payment details, bank account, and payments; use prior invoices as templates for new ones.

Instructions

One issued (sales) invoice with line items, VAT, payment symbols, own bank account and payments received. Use export_sales_invoice for the PDF or ISDOC. Earlier invoices to the same buyer show how they are usually issued (DUZP, due days, products, line texts, bank account) — a template for a new one.

Input Schema

NameRequiredDescriptionDefault
invoice_idYesinvoice_id from search_sales_invoices

Output Schema

NameRequiredDescriptionDefault
vatYesSum of VAT amounts
noteYes
textYesIntroductory text printed on the invoice
typeYes
buyerYes
itemsYes
totalYesTotal including VAT (Celkem s DPH)
numberYesEvidence number shown on the invoice
statusYesdraft = koncept (UOL "valid"), issued = vystavená ("confirmed"), cancelled = storno ("invalid")
paymentYes
currencyYes
due_dateYes
paymentsYes
tax_dateYesDUZP — taxable supply date
invoice_idYesInternal id, usable with get_sales_invoice
issue_dateYes
contract_idYesContract (zakázka), if any
external_idYes
vat_amountsYesUOL vat1..vat3 amounts in rate order
department_idYes
exchange_rateYes
payment_methodYes
bank_account_idYesOwn bank account the buyer pays to (list_codebook my_bank_accounts)
constant_symbolYes
specific_symbolYes
variable_symbolYes
linked_invoice_idYesE.g. the original invoice of a corrective invoice
total_without_vatYesTax base (Celkem bez DPH)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is handled. The description adds real behavioral context beyond them: the response payload composition (line items, VAT, payment symbols, bank account, payments received) and the downstream workflow it supports. It is silent on error behavior or cross-company scoping, which keeps it from a 5.

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 sentences, payload description front-loaded, then alternative-tool routing followed by the practical template use case. No filler or repetition of the title.

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?

With an output schema present and rich annotations, the description only needs to cover purpose, differentiation and when to reach for it - all of which it does. Minor omission: it does not say whether the lookup is scoped to the authenticated company or what happens for an unknown id.

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?

There is a single parameter with 100% schema description coverage, and the schema itself notes the id comes from search_sales_invoices. The description adds no further meaning about invoice_id, so the baseline of 3 applies.

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 resource (one issued sales invoice) and enumerates exactly what it carries: line items, VAT, payment symbols, own bank account and payments received. It also explicitly separates itself from export_sales_invoice, so an agent can distinguish it from the nearest sibling without inspecting the schema.

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 explicitly routes the PDF/ISDOC case to export_sales_invoice and states a concrete use case: review earlier invoices to the same buyer as a template for issuing a new one. It does not name search_sales_invoices as the way to obtain the id, but the input schema covers that link.

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