EMI Readback

Reads back a loan's EMI, total interest, fees and real yearly cost before signing, so a borrower doesn't agree to a costlier loan than they think.

StopsSigned for a loan costing more

Installation

pnpm dlx shadcn@latest add https://bollard-ui.vercel.app/r/emi-readback.json

The files land in your project. They're yours to edit.

Usage

emi-readback-usage.tsx
import { EmiReadback } from "@/components/ui/emi-readback"

<EmiReadback
  showOtherCharges
  defaultValue={{ amount: 500000, rate: 12, rateType: "flat", tenure: 60, tenureUnit: "years", fee: 2, feeUnit: "percent", otherCharges: 4500, prepay: 100000, prepayAfter: 12 }}
/>

What it catches

  • Tenure typed in months when years were meant, or the reverse
  • A monthly rate typed as yearly
  • Flat rates that hide a much higher reducing rate
  • Fees and GST that cut what actually reaches the account
  • The APR, including upfront charges

Props

EmiReadback props
PropTypeDefault
value

Controlled loan terms.

LoanTerms—
defaultValue

Initial terms when uncontrolled.

Partial<LoanTerms>—
onValueChange

Called with the new terms on every edit or fix.

(terms: LoanTerms) => void—
locale

Locale for numbers.

string"en-IN"
currency

Currency code for amounts.

string"INR"
announceDelay

Pause in ms before the readback is announced to screen readers.

number800
showOtherCharges

Show the "Other upfront charges" field (insurance, stamp duty…), which RBI's KFS counts in the APR.

booleanfalse
messages

Any visible string.

Partial<EmiReadbackMessages>—

* required. Also accepts the native props of <div> (className, aria-*, data-*…), passed through to it.

Accessibility

  • Each term has a <label>, aria-invalid and aria-describedby to its issues
  • Focus moves to the first fix
  • Issues use icons plus text

Only what the source does. Test with your own screen reader and content before shipping.

Limitations

  • A reducing-balance estimate; lenders' day counts and rounding differ slightly
  • GST on the processing fee defaults to 18%
  • Not financial advice; the lender's KFS is the binding document

Rules

Rules last verified:

Informational; check the official source. Checked that APR must include all charges levied by the lender. The Annex B worked example (17.07%) was not re-checked: the annex PDF could not be fetched. GST rate on fees not checked. Copied components don't update themselves, so re-check after rule changes (see updating a component).

What it stops

Signed for a loan costing more

Also known as

emi · loan · emi calculator · apr · key facts statement · personal loan · home loan · processing fee

Field type

Dependencies

Pairs well with