Become Our Member!

Edit Template
DBF & JAIIB Exam Countdown & Subjects Dashboard /* Balanced & Moderate Typography Scale */ html { font-size: 100%; } body { font-family: ‘Plus Jakarta Sans’, sans-serif; } /* Elegant Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f5f9; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 6px; } ::-webkit-scrollbar-thumb:hover { background: #94a3b8; } /* Interactive Accordion Panel Transitions */ .checklist-drawer { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1); } .checklist-drawer.open { max-height: 450px; }
Exam Prepp Countdown Hub Prepare 2X Faster & Smarter
Cycle Active: November 2026

DBF & JAIIB Exam Timeline Dashboard

Monitor your study countdowns and trace your syllabus milestones. Tap on any subject block below to check high-yield syllabus focus areas created by Sunderpal Dahiya Sir.

Countdown to Cycle Launch

Exam 1 (IE & IFS) kicks off on November 1, 2026

00Days
00Hours
00Mins
00Secs
// Configured subjects schema including targets, unique color patterns, and syllabus key points const examCardsConfig = [ { id: 1, code: “Paper 1”, title: “Indian Economy & Financial System (IE & IFS)”, targetDate: “November 1, 2026 09:00:00”, pillColor: “bg-teal-700 text-white”, bgClass: “bg-teal-50/90 hover:bg-teal-50/100 border-teal-200 text-teal-950 shadow-sm”, accentColor: “teal”, buttonStyle: “bg-teal-700 hover:bg-teal-800 focus:ring-teal-400 text-white”, youtubeLink: “https://youtube.com/playlist?list=PLbuiFsyiHBZwim8IPQVVbpp90G2Dkx1wL&si=xuNkIO9vzVoxb_Ep”, freeQuiz: “https://app.examprepp.com/quiz”, checklist: [ “Overview of Indian Economic Scenario (National Income, Business Cycles)”, “Sectors of the Economy (Agriculture, Industry, Services)”, “Financial Institutions & Regulators (RBI, SEBI, IRDAI)”, “Monetary Policy and Fiscal Policy Mechanics”, “Capital Markets, Stock Exchanges, and Mutual Funds” ] }, { id: 2, code: “Paper 2”, title: “Principles & Practices of Banking (PPB)”, targetDate: “November 22, 2026 09:00:00”, pillColor: “bg-amber-600 text-slate-950”, bgClass: “bg-amber-50/90 hover:bg-amber-50/100 border-amber-200 text-amber-955 shadow-sm”, accentColor: “amber”, buttonStyle: “bg-amber-600 hover:bg-amber-700 focus:ring-amber-400 text-slate-950”, youtubeLink: “https://www.youtube.com/playlist?list=PLbuiFsyiHBZw53MZ_tPNehI6XQv5E_Zca”, freeQuiz: “https://app.examprepp.com/quiz”, checklist: [ “Banker-Customer Relationship Dynamics & Operational Accounts”, “KYC, Anti-Money Laundering (AML) Rules, & Guidelines”, “Operational Retail and Corporate Banking Services”, “Risk Management and Basel Framework Pillars”, “Digital Banking, Payment Gateways, and Cybersecurity Protocols” ] }, { id: 3, code: “Paper 3”, title: “Accounting & Financial Management (AFM)”, targetDate: “November 28, 2026 09:00:00”, pillColor: “bg-rose-700 text-white”, bgClass: “bg-rose-50/90 hover:bg-rose-50/100 border-rose-200 text-rose-955 shadow-sm”, accentColor: “rose”, buttonStyle: “bg-rose-700 hover:bg-rose-800 focus:ring-rose-400 text-white”, youtubeLink: “https://www.youtube.com/@exam_prepp”, freeQuiz: “https://app.examprepp.com/quiz”, checklist: [ “General Ledger Posting, Trial Balances, and Double Entry rules”, “Preparation of Final Balance Sheet and Income Statements”, “Depreciation Calculations, Amortization, and Sinking Funds”, “Ratio Analysis (Liquidity, Leverage, Activity, Profitability)”, “Working Capital Management and Cash Flow Statements” ] }, { id: 4, code: “Paper 4”, title: “Retail Banking & Wealth Management (RBWM)”, targetDate: “November 29, 2026 09:00:00”, pillColor: “bg-indigo-700 text-white”, bgClass: “bg-indigo-50/90 hover:bg-indigo-50/100 border-indigo-200 text-indigo-950 shadow-sm”, accentColor: “indigo”, buttonStyle: “bg-indigo-700 hover:bg-indigo-800 focus:ring-indigo-400 text-white”, youtubeLink: “https://www.youtube.com/@exam_prepp”, freeQuiz: “https://app.examprepp.com/quiz”, checklist: [ “Retail Banking Product Architecture (Savings, Loans, Credit Cards)”, “Asset Classification and Recovery (NPA Management, SARFAESI Act)”, “Personal Financial Planning and Investment Strategies”, “Tax implications (Income Tax Rules and Capital Gain Calculations)”, “Estate Planning, Mutual Funds distribution, and Insurance Products” ] } ];const baselineDate = new Date(“July 1, 2026 00:00:00”).getTime(); // Start point of active prep windowfunction buildDashboard() { const container = document.getElementById(‘subjects-container’); examCardsConfig.forEach(subj => { // Build raw HTML structure for cards with colorful layouts, balanced text sizes and customized borders const cardHtml = `
${subj.code} Nov ${subj.targetDate.split(‘ ‘)[1]}, 2026

${subj.title}

00 Days
00 Hours
00 Mins
00 Secs
Preparation Window Elapsed 0%

Must-Prepare Chapters:

    ${subj.checklist.map(item => `
  • ${item}
  • `).join(”)}
`; container.insertAdjacentHTML(‘beforeend’, cardHtml); }); }// Toggle logic for Accordion draw panels window.toggleChecklist = function(id) { const drawer = document.getElementById(`drawer-${id}`); const icon = document.getElementById(`icon-${id}`); const isOpen = drawer.classList.contains(‘open’); // Close all drawers document.querySelectorAll(‘.checklist-drawer’).forEach(el => el.classList.remove(‘open’)); document.querySelectorAll(‘.fa-chevron-down’).forEach(el => el.classList.remove(‘rotate-180’));if (!isOpen) { drawer.classList.add(‘open’); icon.classList.add(‘rotate-180’); } };function startTimerCoreLoop() { const now = new Date().getTime();// Update General Main Countdown at top const masterTarget = new Date(examCardsConfig[0].targetDate).getTime(); const masterDiff = masterTarget – now;if (masterDiff > 0) { document.getElementById(‘main-days’).innerText = String(Math.floor(masterDiff / (1000 * 60 * 60 * 24))).padStart(2, ‘0’); document.getElementById(‘main-hours’).innerText = String(Math.floor((masterDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))).padStart(2, ‘0’); document.getElementById(‘main-minutes’).innerText = String(Math.floor((masterDiff % (1000 * 60 * 60)) / (1000 * 60))).padStart(2, ‘0’); document.getElementById(‘main-seconds’).innerText = String(Math.floor((masterDiff % (1000 * 60)) / 1000)).padStart(2, ‘0’); }// Update Individual countdown metrics and progress indicators examCardsConfig.forEach(subj => { const target = new Date(subj.targetDate).getTime(); const difference = target – now;const daysVal = document.getElementById(`days-${subj.id}`); const hoursVal = document.getElementById(`hours-${subj.id}`); const minsVal = document.getElementById(`minutes-${subj.id}`); const secsVal = document.getElementById(`seconds-${subj.id}`); const progressBar = document.getElementById(`bar-${subj.id}`); const progressVal = document.getElementById(`progress-val-${subj.id}`);if (difference < 0) { daysVal.innerText = "00"; hoursVal.innerText = "00"; minsVal.innerText = "00"; secsVal.innerText = "00"; progressBar.style.width = "100%"; progressVal.innerText = "100%"; progressBar.className = "h-2 rounded-full bg-emerald-500"; return; }// Calculate Days, Hours, Minutes, Seconds const days = Math.floor(difference / (1000 * 60 * 60 * 24)); const hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((difference % (1000 * 60)) / 1000);daysVal.innerText = String(days).padStart(2, '0'); hoursVal.innerText = String(hours).padStart(2, '0'); minsVal.innerText = String(minutes).padStart(2, '0'); secsVal.innerText = String(seconds).padStart(2, '0');// Math for Progress Meter (Time passed since baseline July 1st, 2026 vs Total duration) const totalDuration = target – baselineDate; const timeElapsed = now – baselineDate; const rawProgress = (timeElapsed / totalDuration) * 100; const progressPercentage = Math.min(100, Math.max(0, rawProgress)).toFixed(1);progressVal.innerText = `${progressPercentage}%`; progressBar.style.width = `${progressPercentage}%`;// Switch color scheme of progress bar dynamically based on percentage to show urgency if (progressPercentage < 50) { progressBar.className = `h-2 rounded-full bg-sky-500`; } else if (progressPercentage < 80) { progressBar.className = `h-2 rounded-full bg-amber-500`; } else { progressBar.className = `h-2 rounded-full bg-rose-500`; } }); }// Build visual components on load, then kick off core rendering loop buildDashboard(); startTimerCoreLoop(); setInterval(startTimerCoreLoop, 1000);DBF / JAIIB Exam Fee Estimator body { font-family: ‘Plus Jakarta Sans’, sans-serif; } /* Elegant dot grid pattern overlay replicating the exact screenshot design */ .bg-grid-dots { background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1.2px, transparent 1px); background-size: 16px 16px; }/* CRITICAL ELEMENTOR & THEME IMMUNIZATION CORRECTIONS Overriding WordPress/Elementor global heights & line-heights that cut off select text */ select { height: auto !important; min-height: 48px !important; /* Ensures comfortable touch target */ line-height: 1.25rem !important; /* Strict readable text bounds */ box-sizing: border-box !important; padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }/* Style the drop-down menu items themselves for absolute readability across all browsers */ select option { background-color: #121c44 !important; color: #ffffff !important; font-family: ‘Plus Jakarta Sans’, sans-serif; padding: 12px !important; }

DBF/ JAIIB Exam Fee Estimator

Instantly compute base fee, late penalties, and mandatory 18% GST

1st Attempt (New Registration) 2nd Attempt 3rd Attempt 4th Attempt 5th Attempt
Phase 1 (Normal Registration Period) Phase 2 (Late Period + Rs. 100 Penalty) Phase 3 (Late Period + Rs. 200 Penalty)
Live Billing Breakup

Estimated Statement

Base Attempt Fee: Rs. 3,500
Late Registration Penalty: Rs. 0
GST (18%): Rs. 630
Estimated Total (Inclusive of GST)
Rs. 4,130
let activeCourse = ‘dbf’; // Base tracking state (‘dbf’ or ‘jaiib’)document.addEventListener(‘DOMContentLoaded’, () => { const selectAttempt = document.getElementById(‘attempt-select’); const selectPhase = document.getElementById(‘phase-select’); const valBase = document.getElementById(‘val-base’); const valLate = document.getElementById(‘val-late’); const valGst = document.getElementById(‘val-gst’); const valTotal = document.getElementById(‘val-total’); const latePenaltyRow = document.getElementById(‘late-penalty-row’);// Course state controller function window.setCourseType = function(type) { if (activeCourse === type) return; // Prevent double trigger activeCourse = type; const toggleDbf = document.getElementById(‘toggle-dbf’); const toggleJaiib = document.getElementById(‘toggle-jaiib’);if (type === ‘dbf’) { // Select DBF design properties toggleDbf.className = “w-1/2 py-2.5 text-[11px] sm:text-xs font-bold rounded-lg transition-all duration-300 focus:outline-none bg-blue-600 text-white shadow-md shadow-blue-950/20”; toggleJaiib.className = “w-1/2 py-2.5 text-[11px] sm:text-xs font-bold rounded-lg transition-all duration-300 focus:outline-none text-blue-300 hover:text-white”; } else { // Select JAIIB design properties toggleJaiib.className = “w-1/2 py-2.5 text-[11px] sm:text-xs font-bold rounded-lg transition-all duration-300 focus:outline-none bg-blue-600 text-white shadow-md shadow-blue-950/20”; toggleDbf.className = “w-1/2 py-2.5 text-[11px] sm:text-xs font-bold rounded-lg transition-all duration-300 focus:outline-none text-blue-300 hover:text-white”; }calculateFees(); };function calculateFees() { const attempt = parseInt(selectAttempt.value); const phase = parseInt(selectPhase.value);let baseFee = 1300; // Subsequent registration attempts are consistently ₹1,300if (attempt === 1) { // 1st Attempt fee configuration: DBF = ₹3,500 | JAIIB = ₹4,000 baseFee = (activeCourse === ‘dbf’) ? 3500 : 4000; }// Late timelines calculations let latePenalty = 0; if (phase === 2) { latePenalty = 100; } else if (phase === 3) { latePenalty = 200; }// Exact GST (18%) and totals arithmetic formulas const taxableAmount = baseFee + latePenalty; const gstAmount = parseFloat((taxableAmount * 0.18).toFixed(2)); const estimatedTotal = taxableAmount + gstAmount;// Render localized numerals valBase.innerText = baseFee.toLocaleString(‘en-IN’); valLate.innerText = latePenalty.toLocaleString(‘en-IN’); valGst.innerText = gstAmount.toLocaleString(‘en-IN’); valTotal.innerText = Math.round(estimatedTotal).toLocaleString(‘en-IN’);// Style the penalty text warning if penalty exists if (latePenalty > 0) { latePenaltyRow.className = “text-rose-400 font-extrabold text-sm sm:text-base”; } else { latePenaltyRow.className = “text-blue-200/80 font-extrabold text-sm sm:text-base”; } }// Hook click events to calculate fee changes selectAttempt.addEventListener(‘change’, calculateFees); selectPhase.addEventListener(‘change’, calculateFees);// Perform default calculation sequence on initial mount calculateFees(); });Revised Passing Criteria Analyzer – DBF / JAIIB window.MathJax = { tex: { inlineMath: [[‘$’, ‘$’], [‘(‘, ‘)’]], displayMath: [[‘$$’, ‘$$’]], processEscapes: true }, options: { skipHtmlTags: [‘script’, ‘noscript’, ‘style’, ‘textarea’, ‘pre’, ‘code’] } }; body { font-family: ‘Plus Jakarta Sans’, sans-serif; } /* Elegant dot grid pattern overlay replicating the exact premium screenshot design */ .bg-grid-dots { background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1.2px, transparent 1px); background-size: 16px 16px; } /* CRITICAL WordPress/Elementor Protection – Preverves full text visibility inside numeric scoring inputs */ input[type=”number”] { -moz-appearance: textfield; height: auto !important; min-height: 52px !important; line-height: 1.25rem !important; box-sizing: border-box !important; padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } input[type=”number”]::-webkit-outer-spin-button, input[type=”number”]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

Revised Passing Criteria Analyzer

Determine eligibility according to individual and aggregate rules

The revised scoring rules are parsed mathematically as follows:

  • Subject-wise Clear: $P_i ge 50$ for every paper $i in {1, 2, 3, 4}$.
  • Aggregate Single-Attempt Clear: $P_i ge 45$ for every paper and $sum_{i=1}^{4} P_i ge 200$.
/100
/100
/100
/100
Aggregate Result
200 / 400 Total

Average Score: 50.0%

PASSED (Aggregate Single-Attempt)

Awesome! Every subject scored at least 45, and your cumulative score is >= 200. This is a declared pass if all 4 papers are cleared together in a single cycle.

document.addEventListener(‘DOMContentLoaded’, () => { // Input target references const p1Input = document.getElementById(‘score-p1’); const p2Input = document.getElementById(‘score-p2’); const p3Input = document.getElementById(‘score-p3’); const p4Input = document.getElementById(‘score-p4’);// Statement node target references const outTotal = document.getElementById(‘out-total’); const outAverage = document.getElementById(‘out-average’); const verdictCard = document.getElementById(‘verdict-card’); const outcomeLabel = document.getElementById(‘outcome-label’); const verdictDot = document.getElementById(‘verdict-dot’); const verdictTitle = document.getElementById(‘verdict-title’); const verdictDesc = document.getElementById(‘verdict-desc’);// Ensures numbers strictly respect standard 0-100 ranges function boundValue(input) { let val = parseInt(input.value); if (isNaN(val)) val = 0; if (val 100) val = 100; input.value = val; return val; }function updatePassingMetrics() { const p1 = boundValue(p1Input); const p2 = boundValue(p2Input); const p3 = boundValue(p3Input); const p4 = boundValue(p4Input);const total = p1 + p2 + p3 + p4; const average = (total / 4).toFixed(1);outTotal.innerText = total; outAverage.innerText = `Average Score: ${average}%`;// Mathematical condition evaluations const subjectWiseClear = (p1 >= 50 && p2 >= 50 && p3 >= 50 && p4 >= 50); const baselineAggregateClear = (p1 >= 45 && p2 >= 45 && p3 >= 45 && p4 >= 45); const isAggregatePass = (total >= 200);// Adjust presentation dynamically according to outcomes if (subjectWiseClear) { // Fully Qualified Subject-Wise Pass State (Emerald Highlights) verdictCard.className = “bg-[#121c44]/95 border-2 border-emerald-500/40 rounded-2xl p-5 sm:p-6 md:p-8 space-y-5 h-full flex flex-col justify-between shadow-[inset_0_0_20px_rgba(16,185,129,0.1)] transition-all duration-300”; outcomeLabel.className = “text-[10px] font-bold text-emerald-400 uppercase tracking-widest”; verdictDot.className = “w-3 h-3 rounded-full bg-emerald-400 shrink-0 shadow-lg shadow-emerald-400/30 animate-pulse”; verdictTitle.className = “text-sm sm:text-base font-extrabold text-emerald-400 leading-tight”; verdictTitle.innerText = “PASSED (Subject-wise Clear)”; verdictDesc.className = “text-xs sm:text-sm text-emerald-100 leading-relaxed font-medium”; verdictDesc.innerText = “Excellent! You scored 50+ across every subject. You clear all papers unconditionally, retaining subject credits for consecutive attempts.”; } else if (baselineAggregateClear && isAggregatePass) { // Single-Attempt Aggregate Pass State (Indigo/Sky Blue Highlights) verdictCard.className = “bg-[#121c44]/95 border-2 border-blue-500/40 rounded-2xl p-5 sm:p-6 md:p-8 space-y-5 h-full flex flex-col justify-between shadow-[inset_0_0_20px_rgba(59,130,246,0.15)] transition-all duration-300”; outcomeLabel.className = “text-[10px] font-bold text-blue-400 uppercase tracking-widest”; verdictDot.className = “w-3 h-3 rounded-full bg-blue-400 shrink-0 shadow-lg shadow-blue-400/30 animate-pulse”; verdictTitle.className = “text-sm sm:text-base font-extrabold text-blue-400 leading-tight”; verdictTitle.innerText = “PASSED (Aggregate Single-Attempt)”; verdictDesc.className = “text-xs sm:text-sm text-blue-100 leading-relaxed font-medium”; verdictDesc.innerText = “Awesome! Every subject scored at least 45, and your cumulative score is >= 200. This is a declared pass if all 4 papers are cleared together in a single cycle.”; } else { // Not Yet Qualified State (Rose/Red Warnings) verdictCard.className = “bg-[#121c44]/95 border-2 border-rose-500/40 rounded-2xl p-5 sm:p-6 md:p-8 space-y-5 h-full flex flex-col justify-between shadow-[inset_0_0_20px_rgba(244,63,94,0.1)] transition-all duration-300”; outcomeLabel.className = “text-[10px] font-bold text-rose-400 uppercase tracking-widest”; verdictDot.className = “w-3 h-3 rounded-full bg-rose-450 bg-rose-500 shrink-0 shadow-lg shadow-rose-400/30”; verdictTitle.className = “text-sm sm:text-base font-extrabold text-rose-400 leading-tight”; verdictTitle.innerText = “NOT FULLY QUALIFIED”; verdictDesc.className = “text-xs sm:text-sm text-rose-100 leading-relaxed font-medium”;// Generate granular analysis details let issues = []; if (p1 < 45) issues.push("Paper 1"); if (p2 < 45) issues.push("Paper 2"); if (p3 < 45) issues.push("Paper 3"); if (p4 0) { verdictDesc.innerText = `You scored below the baseline 45-mark limit in: ${issues.join(‘, ‘)}. All subjects must be at least 45 to avail the single-attempt aggregate passing benefit.`; } else if (total { inp.addEventListener(‘input’, updatePassingMetrics); });// Fire baseline on-mount computation updatePassingMetrics(); });

Welcome to Exam Prepp, your trusted destination for structured, exam-oriented preparation for DBF, JAIIB, CAIIB, RBI Grade B and other banking exams. We design our resources to help you study with better clarity, smarter revision and consistent practice.

Download Our App

© 2026 Exam Prepp

Scroll to Top