Skip to main content
Glama

Create receipt PDF

create_receipt_pdf

Generate a payment receipt PDF from structured JSON. Same schema as invoices (use number for the receipt number). Returns a 24-hour download URL and computed totals.

Input Schema

NameRequiredDescriptionDefault
dataYes
api_keyNoOptional Slipstack API key (psk_...). With a key, usage bills against your plan quota. Without one, the shared demo quota applies (10 documents/day per IP). Get a key at https://slipstack.dev/pricing
optionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / properties / data / properties / buyerReference
      Added value: +{
      +  "description": "Buyer reference, e.g. a German Leitweg-ID (e-invoice BT-10; required by XRechnung)",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / from / properties / city
      Added value: +{
      +  "description": "City name (improves e-invoice address quality)",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / from / properties / countryCode
      Added value: +{
      +  "description": "ISO 3166-1 alpha-2 country code, e.g. FR (required for e-invoices)",
      +  "maxLength": 2,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / from / properties / postalCode
      Added value: +{
      +  "description": "Postal code",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / from / properties / vatId
      Added value: +{
      +  "description": "VAT identifier, e.g. FR12345678901 (needed for e-invoices with VAT)",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / paymentIban
      Added value: +{
      +  "description": "Payment IBAN for SEPA credit transfer (e-invoices)",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / paymentReference
      Added value: +{
      +  "description": "Remittance/payment reference (e-invoice BT-83)",
      +  "type": "string"
      +}
    • addedInput schema / properties / data / properties / to / properties / city
      Added value: +{
      +  "$ref": "#/properties/data/properties/from/properties/city"
      +}
    • addedInput schema / properties / data / properties / to / properties / countryCode
      Added value: +{
      +  "$ref": "#/properties/data/properties/from/properties/countryCode"
      +}
    • addedInput schema / properties / data / properties / to / properties / postalCode
      Added value: +{
      +  "$ref": "#/properties/data/properties/from/properties/postalCode"
      +}
    • addedInput schema / properties / data / properties / to / properties / vatId
      Added value: +{
      +  "$ref": "#/properties/data/properties/from/properties/vatId"
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Adds real behavioral context beyond the annotations: the call returns a 24-hour download URL plus computed totals, which tells the agent the output is ephemeral and that it does not need to calculate tax/discount itself. Annotations already cover the safety profile (not read-only, not destructive, non-idempotent), so the remaining gaps (validation failure behavior, whether repeated calls produce distinct URLs) are minor.

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, front-loaded with the action, then the schema-compatibility note, then the return contract. No filler and nothing buried.

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?

There is no output schema, and the description adequately covers the return value (download URL with expiry, computed totals). For a nested, non-idempotent generation tool it could say more about what 'computed totals' includes and how receipt content differs from an invoice, but an agent has enough to invoke it correctly.

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?

With only 33% schema description coverage and a deeply nested payload, the description must compensate; it does so partially by stating 'same schema as invoices (use `number` for the receipt number)', which resolves the misleading 'INV-2026-001' example on the number field. However, it adds no guidance on the many e-invoice fields (paymentIban, buyerReference, paymentReference), the options.format parameter, or which nested fields are ignored for receipts.

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 specific verb and resource ('Generate a payment receipt PDF from structured JSON') and notes it shares the invoice schema, which tells an agent this is the receipt-producing counterpart to create_invoice_pdf. It never explicitly contrasts itself with the invoice or e-invoice siblings, so the differentiation is implied rather than stated.

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 description implies usage by naming the input format (structured JSON, invoice-compatible schema) but gives no when-to-use or when-not guidance relative to create_invoice_pdf or create_einvoice_xml. An agent must infer that this tool is for receipts specifically and the others for invoices/e-invoices.

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.

Resources