Skip to main content
Glama
ohneben

Buchhaltungsbutler MCP

Receipts: get receipts

receipts_list
Read-onlyIdempotent

Retrieve inbound or outbound receipts by date range, payment status, or counterparty to find and review accounting records.

Instructions

🟢 READ-ONLY: Fetches data. Makes no changes to the accounting records.

get receipts

Get receipts for a specified customer account. The response includes the number of returned rows and an array of receipts data.

Use to search receipts by direction, date range or payment status.

To fetch one known receipt, use receipts_get_by_id.

list_direction is required and selects inbound or outbound receipts. Supports limit and offset; observed rows counts only the returned page. Continue paging until empty, deduplicate IDs and check progress.

Endpoint: POST /receipts/get

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoA limit of returned data. If no limit is given, the default will be 500. Also the maximum limit is 500. If specified, the field will be validated.
orderNoPossible fields are: date amount invoicenumber (invoice_number) invoicingparty (counterparty) Allowed values are 'ASC' and 'DESC' Example: {"date": "ASC"} {"date": "ASC", "amount": "DESC"}
offsetNoThe offset for paging returned data. If no offset is given, the default will be 0. If specified, the field will be validated.
date_toNoThe receipt's issuing date in format 'YYYY-MM-DD' (e.g. '2017-04-26'). All receipts with issuing date including and before given value will be returned. If specified, the field will be validated. An empty string is not considered a valid date.
deletedNoIf true, only deleted receipts will be returned. If specified, the field will be validated.
due_dateNoThe receipt's issuing due date in format 'YYYY-MM-DD' (e.g. '2017-04-26'). All receipts with the same due date given value will be returned. If specified, the field will be validated. An empty string is not considered a valid due date.
date_fromNoThe receipt's issuing date in format 'YYYY-MM-DD' (e.g. '2017-04-26'). All receipts with issuing date including and after given value will be returned. If specified, the field will be validated. An empty string is not considered a valid date.
counterpartyNoThe counterparty of the receipt, i.e. the invoicing party for type 'inbound' or the recipient for type 'outbound' (e.g. 'Peter Maier'). If specified, the field will be validated.
invoicenumberNoThe invoicenumber for the invoice. If specified, the receipts with the same invoicenumber will be retrieved.
include_offersNoIf true, offers will be included. If specified, the field will be validated.
list_directionYesCan be either 'inbound' ("Eingangsbelege") or 'outbound' ("Ausgangsbelege").
payment_statusNoCan be either 'paid' ("bezahlt") or 'unpaid' ("unbezahlt"). If specified, the field will be validated.
date_since_last_modifiedNoA date and time in format 'YYYY-MM-DD HH:MM:SS' (e.g. '2017-04-26 13:45:00'). If only 'YYYY-MM-DD' is specified, the time defaults to '23:59:59'. All receipts whose date_updated value is later than the specified value will be returned. If specified, the field will be validated. An empty string is not considered a valid date.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoAn array of receipts data
rowsNoNumber of returned rows
messageNoblank
successYesSuccess boolean

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv1.1.3
    • addedInput schema / properties / order / additionalProperties
      Added value: +false
    • addedInput schema / properties / order / properties / amount
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order / properties / counterparty
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order / properties / date
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / order / properties / field
      Removed value: -{
      -  "enum": [
      -    "ASC",
      -    "DESC"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / order / properties / invoice_number
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order / properties / invoicenumber
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / order / properties / invoicingparty
      Added value: +{
      +  "enum": [
      +    "ASC",
      +    "DESC"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / order / required
      Removed value: -[
      -  "field"
      -]
    • changedOutput schema / properties / data / items / properties / account / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / amount / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / due_date / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / invoicenumber / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / link_to_receipt_id_by_customer / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / payment_date / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  2. Addedv1.1.2

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already carry readOnly/idempotent/destructive hints; the description adds operational behavior by explaining that rows counts only the returned page and that callers should page until empty, deduplicate IDs, and check progress. It stops short of covering auth or rate-limit context, but the annotation coverage lowers that burden.

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?

The description is front-loaded with the read-only status and core purpose, then gives use guidance, the alternative, and paging details. The repeated 'get receipts' heading and emoji are slight redundancies but do not bloat the text.

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 13-parameter list tool, the description supplies enough orientation: required direction, search use cases, an alternative for single lookups, pagination protocol, and response summary. The phrase 'specified customer account' is slightly vague since no customer account parameter exists, but the schema and paging guidance compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 13 parameters, so the baseline is 3. The description earns extra by calling out list_direction as required and giving limit/offset paging semantics beyond the schema's default/maximum details.

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 opens with a clear verb and resource ('get receipts') and immediately states the search dimensions: direction, date range, or payment status. It also distinguishes itself from receipts_get_by_id, so an agent can route a 'fetch one known receipt' request away from this list tool.

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

Usage Guidelines5/5

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

It explicitly says 'Use to search receipts by direction, date range or payment status' and names the sibling tool for single-receipt lookups. The READ-ONLY framing also signals that this is not the tool for mutations.

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