Skip to main content
Glama
ninetails-io

gnucash-mcp

get_outstanding_invoices

Retrieve all posted invoices and bills with outstanding balances, ordered by due date to surface overdue payments. Supports filtering by customer or vendor and detailed amount breakdowns.

Instructions

Get all posted invoices/bills with outstanding balances.

Leads with a Showing X-Y of Z invoices (date range) line, then a compact one-line-per-doc format by default with action columns (due date, days past due, currency, BILL tag, owner). Sorted most-overdue-first so the bookkeeper sees the urgent items at the top. Page with offset; limit=0 returns the count only.

Use verbose=true for full JSON with original_amount / amount_paid / amount_due breakdown — the shape pay_invoice workflows expect.

Args: owner_type: Filter by "customer" or "vendor". Omit for all. customer_id: Filter by specific customer ID. vendor_id: Filter by specific vendor ID. verbose: If true, return full JSON details. limit: Page size (default 50, max 250). 0 = count only. offset: 0-indexed first row to return (default 0).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
verboseNo
vendor_idNo
owner_typeNo
customer_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description carries full burden and largely meets it. It discloses the response format (lead line, compact rows), sorting behavior (overdue-first), pagination semantics, and the limit=0 count-only behavior. It could add detail on whether it returns posted-only by default or any filtering nuances, but overall it's transparent about its operation.

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?

Well-structured with a clear purpose statement, behavioral detail, and an Args section that's easy to scan. Slightly verbose with the markdown formatting examples, but every sentence earns its place. The leading behavior summary is front-loaded before the Args detail.

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

Completeness5/5

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

This is a complex tool with 6 parameters and no annotations, yet the description covers the output format, sorting, pagination, count-only mode, and verbose flag's downstream use in pay_invoice workflows. It's essentially complete for an agent to select and invoke correctly. An output schema exists, reducing the need to describe return values.

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 description coverage is 0%, so the description must fully document parameters, and it does. Every parameter (owner_type, customer_id, vendor_id, verbose, limit, offset) has an explicit one-line explanation with defaults and semantics (e.g., 'limit=0 returns the count only', '0-indexed first row'). This fully compensates for the zero schema coverage.

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?

Clear verb+resource+scoping: 'Get all posted invoices/bills with outstanding balances.' Distinguishes from list_invoices by emphasizing 'outstanding balances' and mentioning the verbose mode that feeds pay_invoice workflows. The description adds meaningful detail about sorting (most-overdue-first) and default formatting (compact one-line-per-doc) that differentiates this from siblings.

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?

Provides strong usage context: describes the output format, count-only behavior via limit=0, pagination with offset, and explicitly states verbose=true is the shape pay_invoice workflows expect. However, it doesn't explicitly contrast this with list_invoices or say when NOT to use it, leaving some sibling-differentiation implicit.

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