Skip to main content
Glama
lokesh-sparrow

PNPC-MCP-Tally-Prime

update_debit_note

DestructiveIdempotent

Update an existing TallyPrime debit note by replacing its item lines, party, and narration. Matched by date and voucher number, it alters only the intended voucher and avoids collisions.

Instructions

Update an existing item-invoice Debit Note in TallyPrime, replacing its item lines, party, and narration. Same fields as create_debit_note, plus voucherNumber. Matched by date + voucher number — use get_ledger_vouchers or get_vouchers first to confirm it exists and is unique. Refuses if another voucher type shares the same number on that date (confirmed live: Tally's Alter lookup ignores voucher type and can silently corrupt the wrong one) — resolve the collision in Tally first if that happens.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesExisting debit note's date in DD-MM-YYYY format
itemsYesOne entry per returned line — replaces all existing lines.
billNameNoBill reference to settle against, e.g. the original bill's name. Defaults to 'Agst Ref' billType.
billTypeNoDefaults to 'Agst Ref' — settling against the original purchase's bill, unlike create_purchase_invoice's 'New Ref' default.
buyerTrnNoYOUR OWN company's TRN on this debit note.
narrationNoNarration / description
referenceNoFree-text reference for this debit note.
vatLedgerNoDefault VAT ledger for items without their own override.
buyerStateNoYOUR OWN company's Emirate/state on this debit note's Party Details.
partyLedgerYesSupplier ledger name (the party being debited)
supplierTrnNoThe supplier's (party's) TRN on this debit note. Distinct from buyerTrn — same asymmetry as create_debit_note.
buyerCountryNoYOUR OWN company's country on this debit note's Party Details.
referenceDateNoDate for the reference above, in DD-MM-YYYY format.
voucherNumberYesExact voucher number of the debit note to update
vatRatePercentNoDefault VAT rate. Required if vatLedger is set.
placeOfSupplyCountryNoUAE VAT Place of Supply Country for this debit note.
placeOfSupplyEmirateNoUAE VAT Place of Supply Emirate for this debit note.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv1.11.2

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (destructiveHint=true, readOnlyHint=false), the description discloses that item lines are replaced, matching is by date + voucher number, and the tool refuses on voucher-type collisions to prevent silent corruption. It also names the confirmed unsafe behavior of Tally's Alter lookup, which is valuable safety context.

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

Conciseness5/5

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

The description is compact but information-dense, front-loading the core purpose and replacement behavior before preconditions and failure modes. Every sentence earns its place, with no filler or redundant restatement of the schema.

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 17-parameter destructive update with no output schema, the description covers purpose, matching, preconditions, and collision handling well. It could be slightly more explicit about what happens to optional fields not supplied in the update, but the schema and 'same fields as create_debit_note' reference mitigate this gap.

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 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining the matching key (date + voucherNumber), the collision-related refusal, and the relationship to create_debit_note's fields. The schema itself already documents formats, defaults, and dependencies, so the description need not repeat them.

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 states a specific verb ('Update'), resource ('existing item-invoice Debit Note in TallyPrime'), and exact scope ('replacing its item lines, party, and narration'). It also distinguishes itself from create_debit_note by noting the added voucherNumber field, so an agent can immediately tell update from create.

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

Usage Guidelines5/5

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

It explicitly instructs to call get_ledger_vouchers or get_vouchers first to confirm the voucher exists and is unique. It also tells the agent what to do when a collision is detected: resolve in Tally first. This is concrete, actionable guidance for when and how to use the tool safely.

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/lokesh-sparrow/PNPC-MCP-Tally-Prime'

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