Skip to main content
Glama

India advance tax instalments

advance_tax
Read-onlyIdempotent

Calculate Indian advance tax instalments and the interest for late or short payment (Sections 234A, 234B and 234C; sections 207-211). Instalment deadlines: 15% by 15 June, 45% by 15 September, 75% by 15 December, 100% by 15 March (presumptive 44AD/44ADA: 100% by 15 March). Pass the payments actually made and the filing date to get the interest; without them every instalment is treated as unpaid.

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": {
      "assessed_tax": "<assessed_tax>",
      "as_of_date": "<as_of_date>"
    },
    "name": "advance_tax"
  }
}

Input Schema

NameRequiredDescriptionDefault
as_of_dateYesCivil date YYYY-MM-DD. Selects the rule pack in force on that date. Required: the engine will not assume a date.
assessed_taxYesTotal tax on the year's income in INR (₹), before advance tax and before TDS/TCS credit. Advance tax applies when the balance after TDS/TCS is ₹10,000 or more.
tds_tcs_creditNoTax already deducted or collected at source for the year (₹). Default 0.
filing_categoryNoSets the return due date. non_audit_individual (ITR-1/ITR-2): 31 July. non_audit_business (business or profession, accounts not audited, and such firms' partners): 31 August from tax year 2026-27, 31 July before. audit_corporate_and_business: 31 October. transfer_pricing_international: 30 November.non_audit_individual
advance_tax_paidNoAdvance tax payments made, each with its date. Omit if none were made.
capital_gains_taxNoPart of assessed_tax that arises on capital gains (₹); excluded from instalments due before the gain arose.
date_of_filing_or_paymentNoDate the return was (or will be) filed, YYYY-MM-DD. Ends the Section 234B period and decides whether Section 234A applies. Default: the return due date for filing_category.
is_presumptive_44ad_44adaNoTrue if income is declared under presumptive taxation (44AD/44ADA): one instalment of 100% by 15 March. Default false (the four instalments).
is_senior_citizen_no_businessNoTrue for a resident senior citizen (60+) with no business or professional income: exempt from advance tax. Default false (advance tax applies).

Output Schema

NameRequiredDescriptionDefault
traceNo
statusNo
currencyNo
as_of_dateNo
disclaimerNo
minor_unitsNo
rule_ids_usedNo
financial_yearNo
is_presumptiveNo
tds_tcs_creditNo
assessment_yearNo
return_due_dateNo
gross_assessed_taxNo
instalment_detailsNo
total_amount_payableNo
unpaid_tax_principalNo
advance_tax_applicableNo
filing_or_payment_dateNo
total_advance_tax_paidNo
total_interest_payableNo
section_234a_applicableNo
section_234b_applicableNo
net_advance_tax_base_s208No
section_234a_months_chargedNo
section_234b_months_chargedNo
total_section_234a_interestNo
total_section_234b_interestNo
total_section_234c_interestNo
exemption_or_applicability_reasonNo
section_234b_threshold_90_percentNo
section_234a_shortfall_base_rule119aNo
section_234b_shortfall_base_rule119aNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / is_presumptive_44ad_44ada / default
      Added value: +false
    • changedInput schema / properties / is_presumptive_44ad_44ada / description
      Previous value: -"True if income is declared under presumptive taxation (44AD/44ADA): one instalment of 100% by 15 March."New value: +"True if income is declared under presumptive taxation (44AD/44ADA): one instalment of 100% by 15 March. Default false (the four instalments)."
    • addedInput schema / properties / is_senior_citizen_no_business / default
      Added value: +false
    • changedInput schema / properties / is_senior_citizen_no_business / description
      Previous value: -"True for a resident senior citizen (60+) with no business or professional income: exempt from advance tax."New value: +"True for a resident senior citizen (60+) with no business or professional income: exempt from advance tax. Default false (advance tax applies)."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "advance_tax_applicable": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "as_of_date": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "assessment_year": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "currency": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "disclaimer": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "exemption_or_applicability_reason": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "filing_or_payment_date": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "financial_year": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "gross_assessed_tax": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "instalment_details": {
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "is_presumptive": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "minor_units": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "net_advance_tax_base_s208": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "return_due_date": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "rule_ids_used": {
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "section_234a_applicable": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "section_234a_months_charged": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "section_234a_shortfall_base_rule119a": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "section_234b_applicable": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "section_234b_months_charged": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "section_234b_shortfall_base_rule119a": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "section_234b_threshold_90_percent": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "tds_tcs_credit": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_advance_tax_paid": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_amount_payable": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_interest_payable": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_section_234a_interest": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_section_234b_interest": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "total_section_234c_interest": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "trace": {
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "unpaid_tax_principal": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed8 schema fields changed
    • addedInput schema / properties / advance_tax_paid
      Added value: +{
      +  "description": "Advance tax payments made, each with its date. Omit if none were made.",
      +  "items": {
      +    "properties": {
      +      "amount": {
      +        "description": "Amount paid (₹).",
      +        "pattern": "^\\d+\\.\\d{2}$",
      +        "type": "string"
      +      },
      +      "date": {
      +        "description": "Payment date, YYYY-MM-DD.",
      +        "format": "date",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "date",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / assessed_tax / description
      Previous value: -"Estimated total annual net tax liability after TDS/TCS credits in INR (₹). Advance tax mandatory if >= ₹10,000."New value: +"Total tax on the year's income in INR (₹), before advance tax and before TDS/TCS credit. Advance tax applies when the balance after TDS/TCS is ₹10,000 or more."
    • addedInput schema / properties / capital_gains_tax
      Added value: +{
      +  "description": "Part of assessed_tax that arises on capital gains (₹); excluded from instalments due before the gain arose.",
      +  "pattern": "^\\d+\\.\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / date_of_filing_or_payment
      Added value: +{
      +  "description": "Date the return was (or will be) filed, YYYY-MM-DD. Ends the Section 234B period and decides whether Section 234A applies. Default: the return due date for filing_category.",
      +  "format": "date",
      +  "type": "string"
      +}
    • addedInput schema / properties / filing_category
      Added value: +{
      +  "default": "non_audit_individual",
      +  "description": "Sets the return due date. non_audit_individual (ITR-1/ITR-2): 31 July. non_audit_business (business or profession, accounts not audited, and such firms' partners): 31 August from tax year 2026-27, 31 July before. audit_corporate_and_business: 31 October. transfer_pricing_international: 30 November.",
      +  "enum": [
      +    "non_audit_individual",
      +    "non_audit_business",
      +    "audit_corporate_and_business",
      +    "transfer_pricing_international"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / is_presumptive_44ad_44ada
      Added value: +{
      +  "description": "True if income is declared under presumptive taxation (44AD/44ADA): one instalment of 100% by 15 March.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / is_senior_citizen_no_business
      Added value: +{
      +  "description": "True for a resident senior citizen (60+) with no business or professional income: exempt from advance tax.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tds_tcs_credit
      Added value: +{
      +  "description": "Tax already deducted or collected at source for the year (₹). Default 0.",
      +  "pattern": "^\\d+\\.\\d{2}$",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • addedInput schema / properties / as_of_date
      Added value: +{
      +  "description": "Civil date YYYY-MM-DD. Selects the rule pack in force on that date. Required: the engine will not assume a date.",
      +  "example": "2026-09-26",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "assessed_tax"
      -]New value: +[
      +  "assessed_tax",
      +  "as_of_date"
      +]
  5. Changed3 schema fields changed
    • addedInput schema / properties / assessed_tax / example
      Added value: +"150000.00"
    • addedInput schema / properties / assessed_tax / pattern
      Added value: +"^\\d+\\.\\d{2}$"
    • changedInput schema / properties / assessed_tax / type
      Previous value: -"number"New value: +"string"
  6. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the instalment schedule, presumptive taxation treatment, and the important default behavior that unpaid instalments are assumed when payment details are absent. This adds substantive behavioral context for a read-only, idempotent calculation tool.

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?

The description is front-loaded and information-dense, with the core purpose first and then the deadlines. It is slightly repetitive in stating 100% by 15 March twice for the normal and presumptive cases, but that redundancy is small and does not obscure the main point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and full parameter descriptions, the definition provides everything an agent needs: purpose, statutory context, deadline percentages, presumptive mode, interest trigger, and omission behavior. Nothing material is missing for correct invocation.

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, but the description adds meaning by explaining that advance_tax_paid and date_of_filing_or_payment drive the interest computation and that omission has a specific consequence. It does not need to re-document every parameter because the schema does that thoroughly.

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 and resource: calculate Indian advance tax instalments and interest for late or short payment. It cites the relevant sections and deadline percentages, so an agent can tell this is the advance-tax calculator rather than a generic income tax, TDS, or TCS tool.

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 clear operational guidance by telling the caller to pass actual payments and the filing date to get interest, and it warns that omitting them means every instalment is treated as unpaid. It does not explicitly name alternative sibling tools or when not to use this one, so it stops short of full routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources