Skip to content

KB: DCC ≠ forex — researched per-issuer DCC markups (replace auto-derive) - #29

Merged
ankitkr merged 1 commit into
mainfrom
fix/kb-dcc-accurate
Jul 30, 2026
Merged

ankitkr merged 1 commit into
mainfrom
fix/kb-dcc-accurate

Conversation

@ankitkr

@ankitkr ankitkr commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Corrects the DCC modelling from #28. DCC is not universally equal to the forex markup — so the "derive DCC = forex for every card" logic was wrong. Per a Jul-2026 research pass over official MITC / fee schedules, only 6 issuers levy a distinct issuer-side DCC fee; every other issuer just applies its normal cross-currency markup to INR-billed international txns (no separate DCC).

Change

  • Removed withDerivedDcc() (the auto-derive) from surchargesFor.
  • Populated researched DCC figures on the 6 issuers that actually have one → 39 cards carry a dcc row; all others carry none by design.
Issuer DCC Verified Notes
HDFC flat 1% (all tiers, eff 5-Feb-2024) false Mutually exclusive with forex; bank-wide. Dropped earlier Regalia 1.75% (unresolved, flagged)
ICICI MMT 0.99% / Amazon Pay 1.99% / Emeralde 2% / others 3.5% (eff 15-Jan-2026) true Official ICICI charges page
SBI Aurum·Elite·Miles-Elite 1.99% / Miles-Prime 2.5% / others 3.5% false community
Axis Magnus·Burgundy 2% / all others 3.5% (eff 28-Aug-2026) false community
Kotak White Reserve 2% / others 3.5% (eff 1-Aug-2026) false ADDITIVE to forex
IndusInd Avios-Infinite 1% / standard 2% (eff 15-Jun-2026) false official FAQ (PDF binary)

Structural nuances captured in notes: HDFC's DCC replaces forex (mutually exclusive); Kotak's stacks on top of forex (additive).

Verification

  • pnpm kb:sql — validates (102 cards); 39 cards with DCC across hdfc/axis/icici/sbi/indusind/kotak; 6 verified:true (ICICI)
  • seed + verify tests, tsc, eslint clean

🤖 Generated with Claude Code

…markups

The earlier "DCC = forex markup" auto-derive was wrong. Per Jul-2026 research of
official MITC / fee schedules, only SIX issuers levy a SEPARATE issuer-side DCC
markup; everyone else just applies the normal forex markup to INR-billed intl
txns (no distinct DCC fee). Removed withDerivedDcc(); populated accurate figures.

Issuers with a distinct DCC (39 cards total):
- HDFC: flat 1% (all tiers, eff 5-Feb-2024), MUTUALLY EXCLUSIVE with forex —
  added bank-wide; dropped the earlier Regalia 1.75% (unresolved, noted).
- ICICI (OFFICIAL, verified:true, eff 15-Jan-2026, tiered): MMT 0.99%, Amazon
  Pay 1.99%, Emeralde 2%, others 3.5%.
- SBI (community, tiered): Aurum/Elite/Miles-Elite 1.99%, Miles Prime 2.5%,
  others 3.5%.
- Axis (community, eff 28-Aug-2026): Magnus/Burgundy 2%, all others 3.5%.
- Kotak (community, ADDITIVE to forex, eff 1-Aug-2026): White Reserve 2%,
  others 3.5%.
- IndusInd (community, eff 15-Jun-2026): Avios-Infinite 1%, standard 2%.

All OTHER issuers (Amex/IDFC/HSBC/SC/AU/Yes/Federal/RBL/BoB/PSU/DBS/…) carry no
DCC row by design. Seed validates (102 cards); seed+verify tests, tsc, lint clean.
@ankitkr
ankitkr merged commit 294941d into main Jul 30, 2026
1 check passed
@ankitkr
ankitkr deleted the fix/kb-dcc-accurate branch July 30, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant