Skip to main content
Glama
iseppo

e-arveldaja MCP Server

by iseppo

Create Purchase Invoice

create_purchase_invoice

Create a draft purchase invoice with exact VAT and gross amounts, supporting multiple currencies and automatic EUR conversion.

Instructions

Create a draft purchase invoice. Direct-call contract: pass exact invoice vat_price/gross_price; non-EUR requires cl_currencies_id + currency_rate (EUR per 1 foreign unit); base_* may lock actual EUR settlement.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesItems [{custom_title, cl_purchase_articles_id, purchase_accounts_id, purchase_accounts_dimensions_id?, total_net_price, amount, vat_rate_dropdown?, vat_accounts_id?, vat_accounts_dimensions_id?, cl_vat_articles_id?, project_no_vat_gross_price?, cl_fringe_benefits_id?}]. purchase_accounts_dimensions_id is REQUIRED when the expense account has dimensions; same for vat_accounts_dimensions_id on dimensioned VAT accounts.
notesNoNotes
numberYesInvoice number
term_daysYesPayment term in days
vat_priceYesTotal VAT amount from original invoice (EXACT, for payment matching). Required — confirm_purchase_invoice fails without it.
clients_idYesSupplier client ID
client_nameYesSupplier name
create_dateYesInvoice date (YYYY-MM-DD)
gross_priceYesTotal gross amount from original invoice (EXACT, for payment matching). Required — confirm_purchase_invoice fails without it.
journal_dateYesTurnover date (YYYY-MM-DD)
currency_rateNoExchange rate as EUR per 1 foreign currency unit. Required when cl_currencies_id != EUR.
base_net_priceNoEUR equivalent of net_price; auto-derived from currency_rate when omitted.
base_vat_priceNoEUR equivalent of vat_price; auto-derived from currency_rate when omitted.
bank_account_noNoSupplier bank account
bank_ref_numberNoPayment reference number
base_gross_priceNoActual settled EUR gross total; auto-derived from currency_rate when omitted.
cl_currencies_idNoCurrency (default EUR)
liability_accounts_idNoLiability account (default 2310)
Behavior4/5

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

The description reveals behaviors beyond annotations: it states that vat_price and gross_price are required because confirm_purchase_invoice fails without them, and that base_* values may lock actual EUR settlement. Annotations show readOnlyHint=false and destructiveHint=false, which are consistent with creating a draft.

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 concise, two sentences, front-loaded with the main purpose. It packs important guidelines efficiently, though the dense format may require careful parsing.

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

Completeness3/5

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

Given the tool's complexity (18 parameters, no output schema), the description covers the main contract conditions and dependencies. However, it does not explain the overall process (create draft then confirm) or what the return value is, leaving some context gaps.

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?

With 100% schema coverage, the description adds extra meaning: e.g., 'Required — confirm_purchase_invoice fails without it' for vat_price/gross_price, and 'auto-derived from currency_rate when omitted' for base_* fields. This goes beyond the schema's parameter descriptions.

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 clearly states 'Create a draft purchase invoice' and provides specific details about the direct-call contract, differentiating it from sibling tools like create_purchase_invoice_from_pdf (which creates from PDF) and confirm_purchase_invoice (which confirms).

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

Usage Guidelines4/5

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

The description gives explicit conditions: 'pass exact invoice vat_price/gross_price' and 'non-EUR requires cl_currencies_id + currency_rate'. It implies when to use this tool but does not explicitly mention alternatives like create_purchase_invoice_from_pdf for when PDF is available.

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/iseppo/e-arveldaja-mcp'

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