Skip to main content
Glama
lazyants

lexware-mcp-server

by lazyants

Pursue to an Invoice

lexware_pursue_invoice

Create an invoice from a quotation, order confirmation, or delivery note. Set finalize=true to create it as open, or false for a draft.

Instructions

Create a new invoice from a quotation, order confirmation, or delivery note via POST /invoices?precedingSalesVoucherId={id}[&finalize=true]; finalize=true creates status "open", false or omitted creates a draft. In introduction, lineItems[].description, and remark, use only Lexware formatting: bold, italic, and dash-prefixed list items separated by newlines.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesInvoice JSON body with required voucherDate, address, lineItems, totalPrice, and taxConditions. In introduction, lineItems[].description, and remark, use only Lexware formatting: **bold**, __italic__, and dash-prefixed list items separated by newlines.
finalizeNoWhen true, creates the invoice in finalized "open" status. When false or omitted, creates as draft. Maps to the documented ?finalize=true query parameter.
precedingSalesVoucherIdYesUUID of the preceding sales voucher (quotation, order confirmation, or delivery note) that this invoice is pursued from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv5.3.0
    • changedInput schema / properties / body / description
      Previous value: -"Invoice JSON body. Same shape as lexware_create_invoice. Required fields: voucherDate, address, lineItems, totalPrice, taxConditions. See Lexware API docs for full schema."New value: +"Invoice JSON body with required voucherDate, address, lineItems, totalPrice, and taxConditions. In introduction, lineItems[].description, and remark, use only Lexware formatting: **bold**, __italic__, and dash-prefixed list items separated by newlines."
  2. First observedv3.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only cover the safety profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false). The description adds genuine behavior: finalize=true yields status "open", false/omitted yields a draft. It stops short of disclosing whether the source voucher is consumed by the pursue operation or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and endpoint are front-loaded, which is good, but the trailing Lexware-formatting sentence duplicates the body schema description verbatim and does not earn its place. The single dense opening sentence also bundles purpose, endpoint, and flag semantics together.

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 a non-idempotent, open-world write with a nested body object and no output schema, the definition covers creation semantics, status outcomes, endpoint, and content formatting. It lacks any note on failure modes or whether the preceding voucher is affected, which is the main remaining gap.

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 baseline is 3. The description repeats the same formatting guidance already embedded in the body schema and restates the finalize semantics, so it adds little meaning beyond what structured fields already provide.

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?

States a specific verb and resource (create an invoice) plus the exact source objects (quotation, order confirmation, delivery note) and the underlying endpoint POST /invoices?precedingSalesVoucherId={id}. This clearly separates it from the sibling lexware_create_invoice (blank invoice) and from the parallel pursue_* tools for other voucher types.

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?

The source-voucher list gives an implied when-to-use rule, and the finalize flag's effect is explained, but the description never explicitly contrasts this with lexware_create_invoice or states prerequisites (e.g. that the preceding voucher must exist and be in a pursuable state). No exclusions or alternatives are named.

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