Precision: every engine, every time
Every MoneyKit calculator uses high-precision decimal arithmetic so 30-year EMI totals or ₹100 crore retirement corpora match the bank’s and the regulator’s figures to the rupee. Native floating-point numbers are never used for monetary math — they drift by thousands of rupees over long horizons.
Input validation
Every engine validates its input against a strict schema (type, range, required fields). Invalid input throws a typed error rather than returning a silently-wrong result. Boundary values and out-of-range inputs are exhaustively covered by the test suite.
How we cross-check
- EMI: Published BankBazaar, SBI, HDFC, ICICI tables must agree within ₹1 on principal, interest, and monthly EMI across 22 fixture scenarios.
- Income Tax: Matches the Income Tax India website calculator output and the explanatory-memorandum worked examples across 11 scenarios (new regime, old regime, senior citizen, HUF, surcharge marginal relief, Section 87A rebate edges, cess).
- GST: Matches CBIC published rate notifications and the ClearTax HSN finder across 16 scenarios covering every slab (0 / 0.25 / 3 / 5 / 12 / 18 / 28%) and cess types.
- PPF: Maturity values match India Post NSI published tables within ₹5 across 9 scenarios at varying deposit cadences.
- Capital Gains: CII values match CBDT published indices; asset-class rates match the FY 2026-27 regime (introduced Budget 2024) across 10 fixture scenarios.
- Home Loan: State stamp-duty tables sourced from each state’s Revenue department / IGR website; registration fees from the state registrar circulars.
Test pyramid
- Happy-path, boundary, formula-edge, regulatory-edge tests — every slab boundary, every rebate trigger, every marginal- relief point is asserted explicitly.
- Property-based tests (fast-check): 300-1,000 randomised invariants per calculator (e.g., “tax never negative”, “tax monotone-increasing in income”, “Salary components sum to CTC within ₹1”).
- Published-fixture regression tests: every cross-checked scenario above is frozen in JSON and compared to the engine output on every commit.
- 100% branch coverage gate on
src/lib/calculators/**. The build fails if a line of engine code is not exercised by a test.
Regulatory references & update cadence
Every rate, slab, or threshold has a citation and a _next_review date. When the review date passes, the fixture test fails until a maintainer confirms the number is still current (or updates it). This prevents silent regulatory drift. The current reference set covers:
- Income Tax slabs + rebates — Finance Act 2024, FY 2026-27.
- Capital Gains — Finance Act 2024 rationalisation, FY 2026-27.
- GST — CBIC rate notifications through latest GST Council meeting.
- PPF & small-savings — Department of Economic Affairs quarterly notification.
- LRS TCS — Section 206C(1G), post-1-Oct-2023 amendments.
- Forex mid-market — RBI / FBIL reference rates, refreshed quarterly.
What this isn’t
MoneyKit output is a reference figure, not advice. Taxes, penalties, and bank offers vary with individual circumstances that no calculator can capture (DTAA treatment, legacy grandfathering, specific bank’s floor rate, etc.). Before acting on a material decision, consult a Chartered Accountant or a SEBI-registered Investment Adviser. See our financial disclaimer.