Skip to main content
Glama
ohneben

Buchhaltungsbutler MCP

by ohneben

Invoices: create invoice

invoices_create

Create invoices, credit notes, or offers for customers. Specify type, pricing, items, and recipient details to generate a new document.

Instructions

🟡 WRITE · creates data — Creates new records (receipts, transactions, postings, invoices, master data). Not idempotent — calling twice may create duplicates. create invoice Add an invoice for the specified customer.

Endpoint: POST /invoices/create

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNoThe zip of the recipient company. If specified, the field will be validated.
cityNoThe city of the recipient company. If specified, the field will be validated.
dateYesThe date of the invoice.
typeYesCan be either 'invoice' ("Rechnung"), 'credit' ("Gutschrift") or 'offer' ("Angebot").
emailNoThe email for sending the invoice. If specified, the field will be validated.
streetNoThe street of the recipient company. If specified, the field will be validated.
api_keyNoOptional. The BB customer api_key to act on. Defaults to the BB_API_KEY configured on the server — only set this to target a different customer.
countryNoThe country of the recipient company. If specified, the field will be validated. Valid cases are only the German version of the country name [Dänemark] OR the two digit ISO code of the country [DK].
due_daysNoThe number of days between the invoice date and the due date. If specified, the field will be validated.
item_vatYesAn array of invoice item vats. Usage: "item_vat" : ['7', '19'] Valid vat rates are floating point numbers between 0 and 100.
item_nameYesAn array of invoice items. Usage: "item_name" : ['Item 1', 'Item 2']
item_unitYesAn array of invoice items units. Usage: "item_unit" : ['Std.', 'Stk.']
item_amountYesAn array of invoice item amounts. Usage: "item_amount" : ['10', '20']
company_nameYesThe company name of the recipient.
discount_typeNoThe type of the discount. Can be either 'percent' or 'EUR'. If specified, the field will be validated.
invoicenumberNoThe invoicenumber for the invoice. If not specified, the default BHB number will be created. If specified, the field will be validated.
show_bankdataNoShow the the bank data on the invoice. If specified, the field will be validated.
correspondenceNoThe optional correspondence to the invoice recipient. If specified, the field will be validated.
date_of_supplyNoDate or period of service/delivery. NOTE: The date_of_supply will be displayed on the PDF, but when the date AND the date_of_supply is specified in the format "YYYY-MM-DD", the date_of_supply will also be taken over as date_delivery of the receipt in the 'Belege' or 'Belege/Buchen' view. IMPORTANT: Due to the DATEV compatibility, we cannot accept a date_of_supply that is after the invoice date. In that case it will be ignored!
discount_valueNoThe value of granted discount. If specified, the field will be validated.
customer_numberNoThe customer number of the recipient. If specified, the field will be validated.
final_provisionsNoThe final comment of the invoice. If specified, the field will be validated.
item_descriptionNoAn array of invoice item description. Usage: "item_description" : ['Description Item 1', 'Description Item 2']. If specified, the field will be validated.
show_contactdataNoShow the contact data on the invoice. If specified, the field will be validated.
show_prices_typeYesCan be either 'net' ("Netto") or 'gross' ("Brutto").
item_single_priceYesAn array of invoice item single_prices. Usage: "item_single_price" : ['20', '19.99']
payment_referenceNoThe payment reference id. If specified correctly, the resulting receipt of the created invoice will match with the corresponding transaction. NOTE: Currently we support Amazon order id, PayPal transaction id and Stripe transaction id!
payment_conditionsNoThe payment conditions of the invoice. If specified, the field will be validated.
recurring_intervalNoAn interval for recurring invoices. Can be either 'weekly', 'monthly', 'quarterly' or 'yearly'. If specified, the field will be validated.
contact_person_nameNoThe name of the contact person of the recipient company. If specified, the field will be validated.
recurring_date_nextNoThe next date of a recurring invoice. IMPORTANT: The field is required, if "recurring_interval" is specified. If specified, the field will be validated.
additional_addresslineNoThe additional address information of the recipient company. If specified, the field will be validated.
Behavior3/5

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

Annotations already declare write (readOnlyHint=false) and non-idempotent (idempotentHint=false). The description reinforces these by noting it creates data and is not idempotent, adding the explicit warning about duplicates. This adds some context but does not disclose additional behaviors beyond what annotations provide.

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?

Relatively concise with two clear parts: a generic note and a specific statement. Uses emoji and bold for emphasis, but some redundancy exists (e.g., duplicates 'creates' and 'create'). Could be slightly trimmed without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 32 parameters, no output schema, and numerous sibling tools for invoice creation, the description lacks contextual completeness. It does not explain how this differs from draft or e-invoice tools, nor does it outline typical usage scenarios. The high schema coverage partially compensates, but the tool's role in the broader system is unclear.

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 coverage is 100%, so baseline is 3. The description does not elaborate on any parameter meaning beyond the schema; it only says 'Add an invoice for the specified customer', which does not add semantic value.

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?

Clearly states it creates an invoice for a specified customer. The bold 'create invoice' and 'Add an invoice' specifically identify the resource and action. However, the generic preamble 'Creates new records (receipts, transactions, postings, invoices, master data)' broadens the scope, potentially causing confusion with sibling tools that create other record types.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like invoices_create_draft or invoices_create_e_invoice. The description mentions idempotency but does not specify use cases, prerequisites, or exclusions. The endpoint is provided but not contextualized.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ohneben/Buchhaltungsbutler-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server