Flexi Pay Tax Simulator · Schema

Raw schema.

Same JSON the GET /v1/india-specific/flexi-pay-tax-simulator/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.

flexi-pay-tax-simulator.schema.json
{
  "tool": "flexi-pay-tax-simulator",
  "domain": "india-specific",
  "version": "1.0.0",
  "name": "Flexi Pay Tax Simulator",
  "description": "Compare Old vs New tax regime for FY 2025-26 (Finance Act 2025). Handles HRA, flexi bucket (food, NPS, LTA, mobile, uniform, prof-dev), 80C/80D/80CCD1B/24B, 87A rebate and surcharge tiers. Returns total tax, monthly TDS, effective rate, and a regime pick.",
  "standard": "Finance Act 2025 · IT Act 1961",
  "inputs": [
    {
      "key": "basic_annual",
      "label": "Basic Salary · Annual",
      "required": true,
      "unit": "₹",
      "type": "number",
      "min": 0,
      "max": 100000000,
      "step": 1000,
      "default": 480000
    },
    {
      "key": "hra_annual",
      "label": "HRA · Annual",
      "unit": "₹",
      "type": "number",
      "min": 0,
      "max": 100000000,
      "step": 1000,
      "default": 192000
    },
    {
      "key": "special_allowance_annual",
      "label": "Special Allowance · Annual",
      "unit": "₹",
      "type": "number",
      "min": 0,
      "max": 100000000,
      "step": 1000,
      "default": 240000
    },
    {
      "key": "variable_pay_annual",
      "label": "Variable Pay / Bonus · Annual",
      "unit": "₹",
      "type": "number",
      "min": 0,
      "max": 100000000,
      "step": 1000,
      "default": 120000
    },
    {
      "key": "other_allowances_annual",
      "label": "Other Allowances · Annual",
      "unit": "₹",
      "type": "number",
      "min": 0,
      "max": 100000000,
      "step": 1000,
      "default": 0
    },
    {
      "key": "rent_paid_monthly",
      "label": "Rent Paid · Monthly",
      "unit": "₹",
      "help": "Actual rent paid. Set to 0 if you don't pay rent — HRA exemption becomes 0.",
      "type": "number",
      "min": 0,
      "max": 1000000,
      "step": 500,
      "default": 15000
    },
    {
      "key": "is_metro",
      "label": "Metro city (Mumbai/Delhi/Kolkata/Chennai)",
      "help": "50% of basic exempt in metros, 40% elsewhere.",
      "type": "boolean",
      "default": true
    },
    {
      "key": "food_coupons",
      "label": "Flexi · Food Coupons · Annual",
      "unit": "₹",
      "help": "Capped at ₹26,400/year (₹50/meal × 22 working days × 12 months).",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 100,
      "default": 26400
    },
    {
      "key": "mobile_internet",
      "label": "Flexi · Mobile + Internet · Annual",
      "unit": "₹",
      "help": "Capped at ₹12,000/year.",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 100,
      "default": 12000
    },
    {
      "key": "uniform",
      "label": "Flexi · Uniform Allowance · Annual",
      "unit": "₹",
      "help": "Capped at ₹12,000/year.",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 100,
      "default": 0
    },
    {
      "key": "prof_development",
      "label": "Flexi · Professional Development · Annual",
      "unit": "₹",
      "help": "Books, courses, conferences. Capped at ₹24,000/year.",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 100,
      "default": 24000
    },
    {
      "key": "lta",
      "label": "Flexi · LTA · Annual",
      "unit": "₹",
      "help": "Old regime only. Capped at ₹20,000/year typical.",
      "type": "number",
      "min": 0,
      "max": 1000000,
      "step": 1000,
      "default": 20000
    },
    {
      "key": "nps_employer_percent",
      "label": "Flexi · NPS Employer Contribution",
      "unit": "% of basic",
      "help": "Old regime cap 10% of basic. New regime cap 14% of basic.",
      "type": "number",
      "min": 0,
      "max": 14,
      "step": 0.5,
      "default": 10
    },
    {
      "key": "section_80c",
      "label": "80C · Annual (PPF, ELSS, LIC, EPF…)",
      "unit": "₹",
      "help": "Hard-capped at ₹1,50,000 by law.",
      "type": "number",
      "min": 0,
      "max": 200000,
      "step": 1000,
      "default": 150000
    },
    {
      "key": "section_80d_self",
      "label": "80D · Health Insurance (Self+Family)",
      "unit": "₹",
      "help": "Capped at ₹25,000 (self), ₹50,000 if 60+.",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 500,
      "default": 25000
    },
    {
      "key": "section_80d_parents",
      "label": "80D · Health Insurance (Parents)",
      "unit": "₹",
      "help": "Capped at ₹50,000 if parents are senior citizens, else ₹25,000.",
      "type": "number",
      "min": 0,
      "max": 100000,
      "step": 500,
      "default": 0
    },
    {
      "key": "section_80ccd1b_nps_self",
      "label": "80CCD(1B) · NPS Self · Annual",
      "unit": "₹",
      "help": "Additional NPS deduction over and above 80C. Capped at ₹50,000.",
      "type": "number",
      "min": 0,
      "max": 50000,
      "step": 500,
      "default": 50000
    },
    {
      "key": "home_loan_interest_24b",
      "label": "24(b) · Home Loan Interest · Annual",
      "unit": "₹",
      "help": "Self-occupied property. Capped at ₹2,00,000.",
      "type": "number",
      "min": 0,
      "max": 1000000,
      "step": 1000,
      "default": 0
    },
    {
      "key": "age_bracket",
      "label": "Age",
      "help": "Below 60 → ₹2.5L basic exemption (old). 60–80 → ₹3L. Above 80 → ₹5L. New regime: ₹4L for everyone.",
      "type": "enum",
      "options": [
        "below_60",
        "60_to_80",
        "above_80"
      ],
      "default": "below_60"
    }
  ],
  "outputs": [
    {
      "key": "comparison_table",
      "label": "Old vs New · Side-by-side",
      "type": "string",
      "render": "code"
    },
    {
      "key": "recommendation_summary",
      "label": "Verdict",
      "type": "string"
    },
    {
      "key": "gross_income",
      "label": "Gross Income",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "recommendation",
      "label": "Recommended Regime",
      "type": "string"
    },
    {
      "key": "annual_savings",
      "label": "Annual Savings",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "monthly_savings",
      "label": "Monthly Savings",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "old_taxable_income",
      "label": "Old · Taxable Income",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "old_total_tax",
      "label": "Old · Total Tax",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "old_monthly_tds",
      "label": "Old · Monthly TDS",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "old_effective_rate",
      "label": "Old · Effective Rate",
      "type": "number",
      "unit": "%",
      "precision": 2
    },
    {
      "key": "new_taxable_income",
      "label": "New · Taxable Income",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "new_total_tax",
      "label": "New · Total Tax",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "new_monthly_tds",
      "label": "New · Monthly TDS",
      "type": "number",
      "unit": "₹",
      "precision": 0
    },
    {
      "key": "new_effective_rate",
      "label": "New · Effective Rate",
      "type": "number",
      "unit": "%",
      "precision": 2
    },
    {
      "key": "breakdown_table",
      "label": "Deductions Breakdown",
      "type": "string",
      "render": "code"
    },
    {
      "key": "fy",
      "label": "Financial Year",
      "type": "string"
    }
  ],
  "endpoint": "/v1/india-specific/flexi-pay-tax-simulator"
}