一键导入
一键导入
Find and play music/videos via youtube_search + open_url
Censys lookups: hosts, certificates, services on the public internet
CVE lookup via MITRE + NVD: severity, CVSS, affected products, refs
Windows Defender: scans, threat history, signatures (PowerShell)
Pull request lifecycle: create, review, merge, manage (gh CLI)
GitHub repos: create, clone, fork, archive (gh CLI + git)
| name | indian-tax-calc |
| description | India tax calc: income, STCG/LTCG, advance tax, TDS (FY 2025-26) |
| category | india |
| version | 1.0.0 |
| tags | tax, india, income-tax, capital-gains, stcg, ltcg, itr, advance-tax, tds, fy2526 |
| license | Apache-2.0 |
Calculate Indian income tax liability, STCG/LTCG on equity and F&O trades, advance tax installments, and TDS for FY 2025-26 — under both old and new tax regimes.
function Get-TaxNewRegime {
param([double]$Income)
# FY 2025-26 new regime slabs (post Budget 2025)
$slabs = @(
@{UpTo=400000; Rate=0},
@{UpTo=800000; Rate=0.05},
@{UpTo=1200000; Rate=0.10},
@{UpTo=1600000; Rate=0.15},
@{UpTo=2000000; Rate=0.20},
@{UpTo=2400000; Rate=0.25},
@{UpTo=[double]::MaxValue; Rate=0.30}
)
$tax = 0; $prev = 0
foreach ($slab in $slabs) {
if ($Income -le $prev) { break }
$taxable = [math]::Min($Income, $slab.UpTo) - $prev
$tax += $taxable * $slab.Rate
$prev = $slab.UpTo
}
# Rebate u/s 87A: nil tax if income <= 12,00,000
if ($Income -le 1200000) { $tax = 0 }
$cess = $tax * 0.04
return [PSCustomObject]@{ Tax=$tax; Cess=$cess; Total=[math]::Round($tax+$cess,2) }
}
Get-TaxNewRegime -Income 1500000
function Get-TaxOldRegime {
param([double]$Income, [double]$Deductions = 0)
$taxableIncome = $Income - $Deductions
$slabs = @(
@{UpTo=250000; Rate=0},
@{UpTo=500000; Rate=0.05},
@{UpTo=1000000; Rate=0.20},
@{UpTo=[double]::MaxValue; Rate=0.30}
)
$tax = 0; $prev = 0
foreach ($slab in $slabs) {
if ($taxableIncome -le $prev) { break }
$taxable = [math]::Min($taxableIncome, $slab.UpTo) - $prev
$tax += $taxable * $slab.Rate
$prev = $slab.UpTo
}
if ($taxableIncome -le 500000) { $tax = [math]::Min($tax, 12500) }
$cess = $tax * 0.04
return [PSCustomObject]@{ TaxableIncome=$taxableIncome; Tax=$tax; Cess=$cess; Total=[math]::Round($tax+$cess,2) }
}
Get-TaxOldRegime -Income 1500000 -Deductions 150000 # 80C deduction
function Get-STCG {
param([double]$BuyPrice, [double]$SellPrice, [int]$Qty)
$gain = ($SellPrice - $BuyPrice) * $Qty
$tax = if ($gain -gt 0) { $gain * 0.20 } else { 0 } # 20% STCG from FY25-26
return [PSCustomObject]@{ Gain=$gain; STCGTax=[math]::Round($tax,2) }
}
Get-STCG -BuyPrice 500 -SellPrice 750 -Qty 100
function Get-LTCG {
param([double]$BuyPrice, [double]$SellPrice, [int]$Qty)
$gain = ($SellPrice - $BuyPrice) * $Qty
$exempt = 125000 # ₹1.25 lakh LTCG exemption per FY (FY25-26)
$taxable = [math]::Max(0, $gain - $exempt)
$tax = $taxable * 0.125 # 12.5% LTCG from FY25-26
return [PSCustomObject]@{ Gain=$gain; TaxableGain=$taxable; LTCGTax=[math]::Round($tax,2) }
}
Get-LTCG -BuyPrice 200 -SellPrice 400 -Qty 1000
# F&O profits/losses are added to regular income and taxed at slab rate
# No special rate — it's ordinary business income
function Get-FnOTax {
param([double]$FnOProfit, [double]$OtherIncome = 0)
$totalIncome = $FnOProfit + $OtherIncome
$tax = Get-TaxNewRegime -Income $totalIncome
return [PSCustomObject]@{
FnOProfit = $FnOProfit
TotalIncome = $totalIncome
TaxLiability = $tax.Total
Note = "F&O taxed at slab rate; maintain books; ITR-3 required"
}
}
Get-FnOTax -FnOProfit 200000 -OtherIncome 800000
"How much tax do I pay on ₹15 lakh salary under new regime?"
→ Get-TaxNewRegime -Income 1500000 — returns tax, cess, and total liability.
"I bought 500 shares at ₹200 and sold at ₹350 after 8 months. What's my STCG tax?"
→ Get-STCG -BuyPrice 200 -SellPrice 350 -Qty 500 — 20% on gain.
"Compare old vs new regime for ₹12 lakh income with ₹1.5 lakh 80C deductions" → Run both functions and display side-by-side.