Skip to main content
Glama
ComplyEaze

ComplyEaze Bridge: TallyPrime MCP server for Claude Desktop

Official

gst_uncertain_vouchers

Read-only

Lists vouchers Tally marks uncertain in GSTR-1 and those accepted as-is, adding party and invoice total, to review GST filing status for one voucher type and date window.

Instructions

Return the vouchers of ONE voucher type (a Sales type is what was measured; the type's class is not checked) in a date window that Tally marks Uncertain in its GSTR-1, and the vouchers a person accepted as they stand (Accept As Is), read from the status flags Tally keeps on each voucher as gst_status reads them, with the party and the invoice total added. Each item says which list it is on: uncertain, or overridden (its acceptance flag reads Yes, with its gst_status as Tally reads it now; a voucher can be on both; that nothing but Accept As Is sets the flag to Yes is not measured), and holds the voucher number, date, party (the party ledger), amount (the invoice total without its sign, exact) with party_side (debit or credit, from Tally's sign), master_id and alter_id. pre_filing_line is the line a CA reads before filing, with the number of uncertain vouchers; it names the voucher type it covers (it does not say the type is a Sales type), and is withheld, with the result partial, when a voucher's flags or acceptance flag were not read or a listed voucher's party or amount was not, so its number is never short; it is also withheld, the result staying complete, when no voucher was read or none is uncertain. It adds nothing to Tally. The reason for uncertainty is not read, and bills missing an HSN/SAC are not split out: they need re-saving with the code, not Accept As Is. To confirm an acceptance after someone accepts vouchers in Tally, run it again and compare by master_id: the acceptance is confirmed only if an earlier run listed the voucher uncertain and this run lists it overridden and included with the same amount. That shows only that the acceptance flag was set and the voucher reads included with the same amount, not that the voucher is correct or complete; nothing is kept between runs. Unlike gst_status this answer carries party names and amounts: the party masking setting masks the names and not the amounts. Limits: one voucher type by its exact name, at most 93 days, a book whose voucher mark is above 25,000 is refused, and a window holding more than 1,000 vouchers is refused (gst_uncertain_window_too_large, provisional) before the amounts are read; rows above this server's row limit are refused with their counts; an answer is not paged, so one over this server's response byte cap is refused whole (agent_response_too_large): ask for a shorter window; a second read that returns fewer vouchers than the count read found is refused (gst_uncertain_wide_read_short). The party is the party ledger (a cash sale shows the cash ledger) and the amount is the invoice total on the party's entry, tax and round-off included, not the taxable value of the GSTR-1 tables. Measured on one synthetic book of TallyPrime 7.1 Silver, for the unregistered buyer of its Sales invoices, before and after one Accept As Is; not measured: item invoices, a registered buyer, credit notes or other Sales-class types, foreign currency, the amount of a post-dated voucher, an Accept As Is of several vouchers at once, Gold and other releases. Take company_guid from list_companies and the type name from masters. This reads the book's voucher mark, counts the window's vouchers with the status read, and then reads them with party and amount (about 7.5 KB a voucher). Each call appends metadata-only receipt lines (tool, company, counts, request and response fingerprints; no book content) to ComplyEaze Bridge's local log on this computer; it writes nothing to Tally.

Input Schema

NameRequiredDescriptionDefault
toYesThe last day of the date range, included (YYYYMMDD or YYYY-MM-DD).
fromYesThe first day of the date range, included (YYYYMMDD or YYYY-MM-DD).
company_guidYesThe company's company_guid, as list_companies returns it.
voucher_type_nameYesThe exact name of ONE voucher type in the book, as masters lists it (for example the name of a Sales type). A type of the same class under another name is not read. At most 100 characters, with no double quote, backslash, & < > ' or control character and no space at either end (gst_status_type_name_invalid).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.5

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations (which already declare read-only, non-destructive), the description discloses hard limits (one type, 93 days, 25,000 voucher-mark refusal, 1,000-voucher window, row limit, byte cap), the specific error codes raised, that no state is kept between runs, the party-masking behavior, per-voucher cost (~7.5 KB), and the metadata-only local log write. This is unusually thorough behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the body is a sprawling wall of nested clauses, negations, and measurement caveats that would be hard for an agent to parse. Much of it (what was and was not measured, in one synthetic book) is low-density hedging rather than decision-relevant signal.

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 complex, high-risk analytical tool with no output schema, the description covers return-value shape (per-item fields, pre_filing_line, list membership) and failure modes comprehensively. Completeness is high; the cost is verbosity rather than missing information.

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 coverage is already 100%, so the baseline is 3. The description adds a real constraint not in the schema (the at-most-93-day window) and reinforces that voucher_type_name must be one exact name whose class is not checked, plus points at list_companies and masters for sourcing values. Marginal but genuine added meaning above the schema.

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 opening sentence names a specific verb (return), resource (vouchers), and scope (one voucher type, date window, GSTR-1 'Uncertain' plus 'Accept As Is' vouchers) with party and amount added. It distinguishes itself from gst_status by stating it carries party names and amounts. The purpose is clear but arrives buried in an extremely dense first sentence with nested parentheticals.

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?

It gives a concrete usage procedure ('to confirm an acceptance... run it again and compare by master_id') and explicitly contrasts with gst_status. It also steers away from a misdiagnosis ('bills missing an HSN/SAC... need re-saving with the code, not Accept As Is'). No explicit 'do not use this when' statement, but context is strong.

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