Skip to main content
Glama
lokesh-sparrow

PNPC-MCP-Tally-Prime

create_stock_item

Add a new stock item to TallyPrime with group, unit, GST/HSN, valuation, and opening balance details. Use it to create inventory masters programmatically through the MCP server.

Instructions

Create a new stock item in TallyPrime

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new stock item
unitYesUnit of measure, e.g. 'Nos', 'Kg', 'Box'
groupYesStock group, e.g. 'Primary' (use 'Primary' if there are no custom stock groups)
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 not covered above — pass exact Tally XML tag names as keys. Not validated; use exact field names from a master export.
openingRateNoOpening rate per unit (optional, defaults to 0)
costingMethodNoStock valuation method for this item, e.g. 'Avg. Cost', 'FIFO', 'LIFO Perpetual', 'Std.Cost'. Plain text matching Tally's own dropdown options exactly.
openingBalanceNoOpening quantity (optional, defaults to 0)
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. First observedv1.0.3

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, covering the safety profile. The description adds nothing beyond that — no note on the side effects of GST Details entries, no mention that 'Primary' group fallback exists, and no disclosure of what gets created.

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

Conciseness3/5

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

A single front-loaded sentence with zero waste, but it is arguably too terse for a 17-parameter creation tool with nested objects and GST-versioned behavior; the terseness reflects under-specification rather than discipline.

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?

No output schema exists, and the schema itself is rich, so most call-time detail lives there. However, for a complex write tool the description conveys no behavioral context (side effects, GST entry creation, error/validation expectations), leaving a gap the description should help close.

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 description coverage is 100%, so the schema fully documents all 17 parameters (including GST versioning behavior and the extraFields escape hatch). The description adds no parameter meaning beyond what the schema already provides, so the baseline 3 applies.

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 states a specific verb ('Create') and resource ('stock item') plus the target system (TallyPrime), which is unambiguous and distinguishable from siblings like create_stock_group or update_stock_item. It does not, however, explicitly differentiate itself from those siblings in the text.

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 guidance on when to use this versus create_stock_group, update_stock_item, or the many other creation tools. No prerequisites or context are stated beyond the bare action.

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