Skip to main content
Glama
QuickBooks Online MCP Server

QuickBooks Online MCP Server

by NightSquawk

report_customer_sales

Generate a Sales by Customer Summary report using date ranges, accounting methods, summarization, and filters to analyze customer sales.

Instructions

Run a Sales by Customer Summary report. Supports date range, accounting method, summarization, and filters.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "params": "<params>"
    },
    "name": "report_customer_sales"
  }
}

Input Schema

NameRequiredDescriptionDefault
paramsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden, yet it only lists the supported dimensions (date range, accounting method, summarization, filters). It never confirms this is a read-only, non-mutating operation, says nothing about result size, pagination, timeout, or rate limits, and gives no indication of what a summarized report returns. For a report tool with zero annotation coverage, that is a significant gap.

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?

Two short sentences, no filler, and the report identity is front-loaded ahead of the capability list. It is efficiently written but so terse that the second sentence is nearly a restatement of the schema's property names rather than added information.

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?

For a report tool with a deeply nested params object, no annotations, and no output schema, the description leaves out both selection guidance and any hint of the result shape (rows, totals, grouped columns). The schema does cover individual filter fields well, which keeps this at minimum-viable rather than inadequate.

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?

The single top-level parameter 'params' is undocumented (0% coverage at the declared parameter level), but the nested properties all carry their own schema descriptions with formats, enums, macros, and mutual-exclusion rules. The description only echoes those categories at a high level ("date range, accounting method, summarization, and filters") without adding syntax, defaults, or combination rules, so it does not compensate for the undocumented wrapper.

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?

The description names a specific verb and resource: "Run a Sales by Customer Summary report", which is concrete enough to distinguish it from report_transaction_list_by_customer or report_customer_balance. It does not, however, differentiate against the closest siblings such as report_customer_income, report_item_sales, or report_class_sales, so the agent must infer the boundary itself.

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?

There is no when-to-use or when-not-to-use guidance and no prerequisites (permissions, company setup, whether data must be posted first). Among ~15 sibling report_* tools, no alternative is named, and no scenario is given that would select this report over report_customer_income or report_item_sales.

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

Deploy Server

Other Tools