Skip to main content
Glama
Mavengence

einvoice-mcp

by Mavengence

einvoice_generate_xrechnung

Idempotent

Generate XRechnung-compliant CII XML invoices and validate them automatically against the KoSIT validator to ensure EN 16931 compliance.

Instructions

Erstellt eine XRechnung-konforme CII-XML-Rechnung.

Die Rechnung wird automatisch gegen den KoSIT-Validator geprüft.

Args: invoice_id: Rechnungsnummer (z.B. "RE-2026-001"). issue_date: Rechnungsdatum im Format YYYY-MM-DD. seller_name: Name des Verkäufers / Rechnungsstellers. seller_street: Straße und Hausnummer des Verkäufers. seller_city: Stadt des Verkäufers. seller_postal_code: PLZ des Verkäufers. seller_country_code: Ländercode des Verkäufers (z.B. "DE"). seller_tax_id: USt-IdNr. des Verkäufers (z.B. "DE123456789"). buyer_name: Name des Käufers / Rechnungsempfängers. buyer_street: Straße und Hausnummer des Käufers. buyer_city: Stadt des Käufers. buyer_postal_code: PLZ des Käufers. buyer_country_code: Ländercode des Käufers (z.B. "DE"). items: JSON-Array der Positionen. seller_street_2: Adresszeile 2 des Verkäufers (BT-36). seller_street_3: Adresszeile 3 des Verkäufers (BT-37). seller_country_subdivision: Bundesland Verkäufer (BT-39, z.B. 'BY'). buyer_street_2: Adresszeile 2 des Käufers (BT-51). buyer_street_3: Adresszeile 3 des Käufers (BT-52). buyer_country_subdivision: Bundesland Käufer (BT-54, z.B. 'NW'). buyer_tax_id: USt-IdNr. des Käufers (optional). currency: Währungscode (Standard: "EUR"). payment_terms_days: Zahlungsziel in Tagen (optional). leitweg_id: Leitweg-ID (optional). buyer_reference: Käuferreferenz BT-10 (optional). profile: Rechnungsprofil. seller_electronic_address: Elektronische Adresse (BT-34). seller_electronic_address_scheme: EAS-Code (EM/9930). buyer_electronic_address: Elektronische Adresse (BT-49). buyer_electronic_address_scheme: EAS-Code (EM/9930). seller_contact_name: Ansprechpartner (BT-41). seller_contact_email: E-Mail (BT-43). seller_contact_phone: Telefon (BT-42). buyer_contact_name: Ansprechpartner Käufer (BT-44). buyer_contact_email: E-Mail Käufer (BT-47). buyer_contact_phone: Telefon Käufer (BT-46). seller_iban: IBAN (BT-84). seller_bic: BIC (BT-86). seller_bank_name: Bankname. type_code: Rechnungsart (BT-3): 380/381/384. seller_tax_number: Steuernummer (BT-32). delivery_party_name: Lieferort Name (BT-70). delivery_street: Lieferort Straße (BT-75). delivery_city: Lieferort Stadt (BT-77). delivery_postal_code: Lieferort PLZ (BT-78). delivery_country_code: Lieferort Land (BT-80). delivery_date: Lieferdatum (BT-71, YYYY-MM-DD). service_period_start: Leistungszeitraum Beginn (BT-73). service_period_end: Leistungszeitraum Ende (BT-74). due_date: Fälligkeitsdatum (BT-9, YYYY-MM-DD). invoice_note: Freitext-Bemerkung (BT-22). payment_terms_text: Zahlungsbedingungen (BT-20). purchase_order_reference: Bestellnummer (BT-13). sales_order_reference: Auftragsbestätigung (BT-14). contract_reference: Vertragsnummer (BT-12). project_reference: Projektreferenz (BT-11). preceding_invoice_number: Vorige Rechnungsnr. (BT-25). preceding_invoice_date: Datum der vorigen Rechnung (BT-26, YYYY-MM-DD). despatch_advice_reference: Lieferscheinnummer (BT-16). invoiced_object_identifier: Abrechnungsobjekt (BT-18). business_process_type: Geschäftsprozesstyp (BT-23). seller_registration_id: Handelsregister/GLN (BT-29). buyer_registration_id: GLN des Käufers (BT-46). buyer_iban: IBAN des Käufers (BT-91, SEPA-Lastschrift). mandate_reference_id: SEPA-Mandatsreferenz (BT-89). skonto_percent: Skonto-Prozentsatz (z.B. "2.00"). skonto_days: Skonto-Frist in Tagen. skonto_base_amount: Skonto-Basisbetrag (optional). payment_means_type_code: Zahlungsart (BT-81, Standard 58). remittance_information: Verwendungszweck (BT-83). allowances_charges: JSON-Array der Zu-/Abschläge (BG-20/BG-21). tax_exemption_reason: Befreiungsgrund Text (BT-120). tax_exemption_reason_code: Befreiungsgrund Code (BT-121). tender_or_lot_reference: Vergabe-/Losnummer (BT-17). seller_trading_name: Handelsname Verkäufer (BT-28). buyer_trading_name: Handelsname Käufer (BT-45). payee_name: Zahlungsempfänger Name (BT-59). payee_id: Kennung des Zahlungsempfängers (BT-60). payee_legal_registration_id: Handelsregister Zahlungsempfänger (BT-61). payment_card_pan: Kartennummer letzte Stellen (BT-87). payment_card_holder: Karteninhaber (BT-88). seller_tax_rep_name: Steuervertreter Name (BT-62). seller_tax_rep_street: Steuervertreter Straße (BT-64). seller_tax_rep_city: Steuervertreter Stadt. seller_tax_rep_postal_code: Steuervertreter PLZ. seller_tax_rep_country_code: Steuervertreter Land. seller_tax_rep_tax_id: Steuervertreter USt-IdNr. (BT-63). receiving_advice_reference: Wareneingangsreferenz (BT-15). delivery_location_id: Lieferort-Kennung (BT-71). payment_means_text: Zahlungsart Freitext (BT-82). supporting_documents: JSON-Array Belegdokumente (BG-24). prepaid_amount: Bereits gezahlter Betrag (BT-113, z.B. Abschlagszahlungen). vat_point_date_code: Steuerzeitpunkt-Code (BT-8, UNTDID 2005). 3=Rechnungsdatum, 35=Lieferdatum, 432=Zahlungsdatum. seller_additional_legal_info: Zusaetzliche rechtl. Info (BT-33). creditor_reference_id: Glaeubigeridentifikationsnr. (BT-90). buyer_accounting_reference: Kontierung Kaeufer (BT-19).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
profileNoXRECHNUNG
currencyNoEUR
due_dateNo
payee_idNo
type_codeNo380
buyer_cityYes
buyer_ibanNo
buyer_nameYes
invoice_idYes
issue_dateYes
leitweg_idNo
payee_nameNo
seller_bicNo
seller_cityYes
seller_ibanNo
seller_nameYes
skonto_daysNo
buyer_streetYes
buyer_tax_idNo
invoice_noteNo
delivery_cityNo
delivery_dateNo
seller_streetYes
seller_tax_idYes
buyer_street_2No
buyer_street_3No
prepaid_amountNo
skonto_percentNo
buyer_referenceNo
delivery_streetNo
seller_street_2No
seller_street_3No
payment_card_panNo
seller_bank_nameNo
buyer_postal_codeYes
project_referenceNo
seller_tax_numberNo
allowances_chargesNo
buyer_contact_nameNo
buyer_country_codeYes
buyer_trading_nameNo
contract_referenceNo
payment_means_textNo
payment_terms_daysNo
payment_terms_textNo
seller_postal_codeYes
service_period_endNo
skonto_base_amountNo
buyer_contact_emailNo
buyer_contact_phoneNo
delivery_party_nameNo
payment_card_holderNo
seller_contact_nameNo
seller_country_codeYes
seller_tax_rep_cityNo
seller_tax_rep_nameNo
seller_trading_nameNo
vat_point_date_codeNo
delivery_location_idNo
delivery_postal_codeNo
mandate_reference_idNo
seller_contact_emailNo
seller_contact_phoneNo
service_period_startNo
supporting_documentsNo
tax_exemption_reasonNo
business_process_typeNo
buyer_registration_idNo
creditor_reference_idNo
delivery_country_codeNo
sales_order_referenceNo
seller_tax_rep_streetNo
seller_tax_rep_tax_idNo
preceding_invoice_dateNo
remittance_informationNo
seller_registration_idNo
payment_means_type_codeNo58
tender_or_lot_referenceNo
buyer_electronic_addressNo
preceding_invoice_numberNo
purchase_order_referenceNo
buyer_country_subdivisionNo
despatch_advice_referenceNo
seller_electronic_addressNo
tax_exemption_reason_codeNo
buyer_accounting_referenceNo
invoiced_object_identifierNo
receiving_advice_referenceNo
seller_country_subdivisionNo
seller_tax_rep_postal_codeNo
payee_legal_registration_idNo
seller_tax_rep_country_codeNo
seller_additional_legal_infoNo
buyer_electronic_address_schemeNoEM
seller_electronic_address_schemeNoEM

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

The description discloses a key behavioral trait: automatic validation against the KoSIT validator ('Die Rechnung wird automatisch gegen den KoSIT-Validator geprüft'). This goes beyond the annotations (idempotentHint=true, readOnlyHint=false) and provides useful context about expected validation behavior. No contradictions with annotations.

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 main purpose and validation notice, then provides an organized and comprehensive parameter list. While very long, each parameter entry is concise and necessary given the 96-parameter schema with zero schema-level descriptions. There is minimal fluff, though the sheer length is a burden.

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?

Given the high complexity (96 params) and the presence of an output schema, the description is largely complete. It covers all parameters with semantic details and discloses validation behavior. It does not explicitly address failure cases or output format, but the output schema covers return values, so this is sufficient.

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

Parameters5/5

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

With schema description coverage at 0%, the description fully compensates by explaining every parameter with examples, formats, and BT codes. It clarifies that fields like 'items', 'allowances_charges', and 'supporting_documents' are JSON arrays, which the schema does not specify. This is rich semantic addition beyond the input schema.

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 states 'Erstellt eine XRechnung-konforme CII-XML-Rechnung' (Creates an XRechnung-compliant CII-XML invoice), which is a specific verb + resource. It clearly distinguishes from sibling tools like validation, parsing, and ZUGFeRD generation by specifying the XRechnung/CII format and the generation action.

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 for generating XRechnung invoices but does not explicitly state when to use this tool versus the ZUGFeRD variant or validation tools. No exclusions or alternatives are mentioned. The context is clear from the name and purpose, but guidance is only implied.

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/Mavengence/einvoice-mcp'

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