Skip to main content
Glama

Compute 234A/234B/234C interest

compute_interest_234
Read-only

Compute income tax interest under sections 234A, 234B, and 234C for late filing or advance tax shortfalls using statutory rules and Rule 119A rounding.

Instructions

Deterministic sections 234A, 234B and 234C interest. 234A: 1%/month for filing after the due date, on tax outstanding after all prepaid tax. 234B: 1%/month on assessed-minus-advance when advance < 90% (from 1 April of the AY), reduced by self-assessment payments under s.140A. 234C: per-installment shortfalls with the statutory 12%/36% safe harbors for June/September, measured on tax due on RETURNED income. Rule 119A rounding applied (principal floored to Rs 100, part month = full month). Each section is computed only when its own inputs are supplied; anything skipped is named in skipped.

Input Schema

NameRequiredDescriptionDefault
fyNoFiscal year, e.g. '2025-26' (AY 2026-27)2025-26
assessedTaxYes234B base: tax on total income minus TDS/TCS and reliefs, in INR (advance tax is NOT deducted here)
presumptiveNo44AD/44ADA presumptive: a single 100% installment by Mar 15 instead of four
monthsFor234BYesMonths from 1 April of the AY to the date of payment or assessment (part month = full month). Filing on 20 July of the AY is 4.
advanceTaxPaidNoTotal advance tax paid during the FY, in INR
cumulativePaidNoCumulative (running-total) advance tax paid by Jun 15 / Sep 15 / Dec 15 / Mar 15, in INR. Required for 234C.
monthsLateFilingNo234A: months from the day after the due date to the date of filing (part month = full month). 0 means filed on time.
taxOutstandingFor234ANo234A base: tax outstanding after TDS/TCS, advance tax, AND reliefs, in INR. Defaults to assessedTax minus advanceTaxPaid.
selfAssessmentPaymentsNoSelf-assessment tax paid under s.140A before assessment: each payment stops 234B interest on that amount from its own month (s.234B(2))
taxDueOnReturnedIncomeNo234C base: tax due on RETURNED income minus TDS/TCS/reliefs, in INR. Defaults to assessedTax when omitted.
taxOutstandingForms234ANoDeprecated misspelling of taxOutstandingFor234A; still accepted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv0.5.3
    • changedInput schema / properties / advanceTaxPaid / description
      Previous value: -"Total advance tax paid during the FY"New value: +"Total advance tax paid during the FY, in INR"
    • addedInput schema / properties / advanceTaxPaid / maximum
      Added value: +1000000000000
    • changedInput schema / properties / assessedTax / description
      Previous value: -"Tax on total income minus TDS/TCS and reliefs, in INR"New value: +"234B base: tax on total income minus TDS/TCS and reliefs, in INR (advance tax is NOT deducted here)"
    • addedInput schema / properties / assessedTax / maximum
      Added value: +1000000000000
    • changedInput schema / properties / cumulativePaid / description
      Previous value: -"Cumulative advance tax paid by Jun 15 / Sep 15 / Dec 15 / Mar 15, for 234C"New value: +"Cumulative (running-total) advance tax paid by Jun 15 / Sep 15 / Dec 15 / Mar 15, in INR. Required for 234C."
    • addedInput schema / properties / cumulativePaid / items / maximum
      Added value: +1000000000000
    • addedInput schema / properties / fy / description
      Added value: +"Fiscal year, e.g. '2025-26' (AY 2026-27)"
    • removedInput schema / properties / monthsFor234B / default
      Removed value: -4
    • changedInput schema / properties / monthsFor234B / description
      Previous value: -"Months from 1 April of the AY to payment/assessment (part month = full month)"New value: +"Months from 1 April of the AY to the date of payment or assessment (part month = full month). Filing on 20 July of the AY is 4."
    • changedInput schema / properties / monthsFor234B / maximum
      Previous value: -24New value: +36
    • addedInput schema / properties / monthsLateFiling
      Added value: +{
      +  "default": 0,
      +  "description": "234A: months from the day after the due date to the date of filing (part month = full month). 0 means filed on time.",
      +  "maximum": 36,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedInput schema / properties / presumptive / description
      Previous value: -"44AD/44ADA: single 100% installment by Mar 15"New value: +"44AD/44ADA presumptive: a single 100% installment by Mar 15 instead of four"
    • addedInput schema / properties / selfAssessmentPayments
      Added value: +{
      +  "description": "Self-assessment tax paid under s.140A before assessment: each payment stops 234B interest on that amount from its own month (s.234B(2))",
      +  "items": {
      +    "properties": {
      +      "amount": {
      +        "description": "Amount paid, in INR",
      +        "maximum": 1000000000000,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "monthsFromApril": {
      +        "description": "Months from 1 April of the AY to this payment (part month = full month)",
      +        "maximum": 36,
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "monthsFromApril",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
    • addedInput schema / properties / taxDueOnReturnedIncome
      Added value: +{
      +  "description": "234C base: tax due on RETURNED income minus TDS/TCS/reliefs, in INR. Defaults to assessedTax when omitted.",
      +  "maximum": 1000000000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / taxOutstandingFor234A
      Added value: +{
      +  "description": "234A base: tax outstanding after TDS/TCS, advance tax, AND reliefs, in INR. Defaults to assessedTax minus advanceTaxPaid.",
      +  "maximum": 1000000000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / taxOutstandingForms234A
      Added value: +{
      +  "description": "Deprecated misspelling of taxOutstandingFor234A; still accepted.",
      +  "maximum": 1000000000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "assessedTax"
      -]New value: +[
      +  "assessedTax",
      +  "monthsFor234B"
      +]
  2. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare read-only and closed-world behavior, but the description adds substantial context: deterministic computation, Rule 119A rounding, part-month-equals-full-month treatment, and the conditional 'skipped' output. It does not contradict the annotations and goes well beyond them, though the full return shape is not described.

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 dense but front-loaded by section, with each sentence carrying statutory information. It could be more scannable with bullets, but it does not waste words and is appropriately sized for a complex tax calculation.

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 an 11-parameter computational tool with no output schema, the description explains the legal logic well but leaves the response structure largely unspecified beyond the existence of a `skipped` list. An agent would still need to infer the shape of returned interest amounts and totals.

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 interpretation not present in the schema: the 90% advance-tax threshold for 234B, the 12%/36% safe harbors for 234C, and the Rule 119A rounding convention. These details help an agent understand how the supplied parameters are actually applied.

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 names the exact resource (sections 234A, 234B and 234C interest) and a specific verb (compute), and distinguishes itself from generic siblings through statutory detail. An agent can tell this is a specialized interest calculator rather than a general tax or scheduling tool.

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?

Usage is implied by the section-specific rules and the note that each section runs only when its inputs are supplied. However, it never explicitly says when to choose this over compute_tax, schedule_advance_tax, or filing_checklist, nor does it state any when-not conditions.

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