Skip to main content
Glama
lokesh-sparrow

PNPC-MCP-Tally-Prime

update_stock_item

DestructiveIdempotent

Update an existing TallyPrime stock item's unit, group, GST, valuation, or custom fields by exact item name; all other fields are optional.

Instructions

Update an existing stock item in TallyPrime — same fields as create_stock_item, all optional except name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesExact name of the existing stock item
unitNoNew unit of measure
groupNoNew stock group
hsnCodeNoIndia HSN/SAC code for this item, e.g. '85071000'. Lives in Tally's own date-versioned GST Details list (confirmed live) — setting this or taxability writes a new GST Details entry effective from gstDetailsApplicableFrom.
rateOfVatNoVAT rate percentage for this item, e.g. 5.
partNumberNoPart number for this item, e.g. a manufacturer's catalogue number.
taxabilityNoIndia GST taxability for this item — 'Taxable', 'Exempt', or 'Nil Rated'. Same GST Details entry as hsnCode.
descriptionNoFree-text description of the item.
extraFieldsNoEscape hatch for any other native Tally stock item field, same as on create_stock_item.
costingMethodNoStock valuation method for this item, e.g. 'Avg. Cost', 'FIFO', 'LIFO Perpetual', 'Std.Cost'. Plain text matching Tally's own dropdown options exactly.
gstTypeOfSupplyNoIndia GST type of supply for this item — 'Goods' or 'Services'. Confirmed live as a real, independently settable field (flat, not part of the GST Details list).
gstIneligibleItcNoWhether input tax credit on this item is ineligible under GST. Same date-versioned GST Details entry as hsnCode/taxability — setting this alone also creates/updates that entry.
ignoreNegativeStockNoAllow this item's stock to go negative without a warning/block.
gstDetailsApplicableFromNoDate in DD-MM-YYYY format from which this hsnCode/taxability entry is effective. Defaults to today if either field is set and this is omitted — required internally by Tally for the entry to persist (it's a date-versioned list).
isReverseChargeApplicableNoWhether reverse-charge GST applies to this item. Same date-versioned GST Details entry as hsnCode/taxability — setting this alone also creates/updates that entry.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.12.0
    • addedInput schema / properties / costingMethod
      Added value: +{
      +  "description": "Stock valuation method for this item, e.g. 'Avg. Cost', 'FIFO', 'LIFO Perpetual', 'Std.Cost'. Plain text matching Tally's own dropdown options exactly.",
      +  "type": "string"
      +}
    • addedInput schema / properties / gstDetailsApplicableFrom
      Added value: +{
      +  "description": "Date in DD-MM-YYYY format from which this hsnCode/taxability entry is effective. Defaults to today if either field is set and this is omitted — required internally by Tally for the entry to persist (it's a date-versioned list).",
      +  "type": "string"
      +}
    • addedInput schema / properties / gstIneligibleItc
      Added value: +{
      +  "description": "Whether input tax credit on this item is ineligible under GST. Same date-versioned GST Details entry as hsnCode/taxability — setting this alone also creates/updates that entry.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / gstTypeOfSupply
      Added value: +{
      +  "description": "India GST type of supply for this item — 'Goods' or 'Services'. Confirmed live as a real, independently settable field (flat, not part of the GST Details list).",
      +  "type": "string"
      +}
    • addedInput schema / properties / hsnCode
      Added value: +{
      +  "description": "India HSN/SAC code for this item, e.g. '85071000'. Lives in Tally's own date-versioned GST Details list (confirmed live) — setting this or taxability writes a new GST Details entry effective from gstDetailsApplicableFrom.",
      +  "type": "string"
      +}
    • addedInput schema / properties / isReverseChargeApplicable
      Added value: +{
      +  "description": "Whether reverse-charge GST applies to this item. Same date-versioned GST Details entry as hsnCode/taxability — setting this alone also creates/updates that entry.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / partNumber
      Added value: +{
      +  "description": "Part number for this item, e.g. a manufacturer's catalogue number.",
      +  "type": "string"
      +}
    • addedInput schema / properties / taxability
      Added value: +{
      +  "description": "India GST taxability for this item — 'Taxable', 'Exempt', or 'Nil Rated'. Same GST Details entry as hsnCode.",
      +  "type": "string"
      +}
  2. Changed5 schema fields changedv1.11.2
    • addedInput schema / properties / description
      Added value: +{
      +  "description": "Free-text description of the item.",
      +  "type": "string"
      +}
    • addedInput schema / properties / extraFields
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "description": "Escape hatch for any other native Tally stock item field, same as on create_stock_item.",
      +  "type": "object"
      +}
    • addedInput schema / properties / ignoreNegativeStock
      Added value: +{
      +  "description": "Allow this item's stock to go negative without a warning/block.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / rateOfVat
      Added value: +{
      +  "description": "VAT rate percentage for this item, e.g. 5.",
      +  "type": "number"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "group",
      -  "unit"
      -]New value: +[
      +  "name"
      +]
  3. First observedv1.0.3

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, so the safety profile is partly covered. The description adds nothing about what destruction this tool can cause (overwriting existing field values) or the date-versioned GST Details side effect, which the schema covers but the top-level description does not. It under-delivers for a destructive mutation.

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?

A single front-loaded sentence that states the operation, target system, and partial-update contract with zero waste.

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 15-parameter destructive update against TallyPrime, the description is minimal. The schema does heavy lifting on field semantics, but there is no coverage of update semantics (merge vs replace), GST Details side effects, or the preview/confirm workflow that siblings suggest, leaving real gaps at the description level.

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?

Schema coverage is 100% with rich per-field documentation, so baseline is 3. The description adds only a pointer ('same fields as create_stock_item') and the required/optional distinction, both of which are already visible in the schema's required array and property descriptions.

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 ('Update an existing stock item') and distinguishes scope by delegating to create_stock_item ('same fields as create_stock_item'). It does not explicitly differentiate from delete_stock_item or get_stock_items, but the update-vs-create framing is specific enough to place it correctly.

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 phrase 'same fields as create_stock_item, all optional except name' gives partial usage context (partial update semantics), but there is no when-to-use-vs-alternatives guidance, no mention of delete_stock_item, preview_write/confirm_write, or the read tool get_stock_items.

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