Skip to main content
Glama
ninetails-io

gnucash-mcp

create_bill

Records a vendor bill payable in GnuCash, specifying vendor, date, currency, and optional notes, terms, bill number, or job.

Instructions

Create a vendor bill.

Args: vendor_id: Vendor ID (e.g., "000001"). date_opened: Date in ISO format (YYYY-MM-DD). Defaults to today. notes: Optional notes. currency: ISO currency code. Defaults to the vendor's currency, falling back to the book's default. Pass explicitly to override. term: Billterm name (e.g., "Net 30"). Optional. bill_id: Custom bill number (e.g., "BILL-2026-001"). If omitted, auto-generates from the book's bill counter. job_id: Optional Job ID. When set, groups the bill under the named job. The job must belong to the same vendor and be a vendor-job.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termNo
notesNo
job_idNo
bill_idNo
currencyNo
vendor_idYes
date_openedNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

Since no annotations are provided, the description carries the burden of behavioral disclosure. It does explain fallback behavior for currency ('Defaults to the vendor's currency, falling back to the book's default') and default auto-generation of bill_id. However, it doesn't disclose side effects, whether bills must be posted separately, required permissions, or what the response (output schema) contains.

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?

Structured with a leading one-line summary followed by an Args block. Each parameter is one or two lines with examples and defaults. Slightly verbose with some wrapping, but every sentence adds value. Reasonably efficient for a 7-parameter tool.

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 7-parameter creation tool with no annotations and zero schema description coverage, the description covers all parameters thoroughly with defaults and examples. An output schema exists, so return values need not be documented. Missing aspects are when-to-use guidance and any preconditions or side effects, but the parameter docs are strong.

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 0% schema description coverage, the description fully compensates by documenting every parameter with examples, defaults, fallback behavior, and formatting requirements (ISO date, ISO currency code, billterm format). This is exactly what a high-coverage-gap description should provide.

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?

Clear verb+resource ('Create a vendor bill') and the description enumerates all key parameters with concrete examples. It distinguishes from 'create_invoice' and 'create_credit_note' by the explicit 'vendor bill' target, though it doesn't explicitly differentiate from the closely related sibling 'add_bill_entry'.

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 'Args' format indirectly signals which parameters are used for what purpose, and gives practical examples like 'BILL-2026-001' and 'Net 30'. However, it doesn't explicitly state when to use this vs sibling tools (e.g., when to use create_voucher vs create_bill, or the relationship to add_bill_entry for adding line items). No exclusions or alternatives are mentioned.

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/ninetails-io/gnucash-mcp'

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