Published
After yesterday's OPR hold, USD/MYR slipped to 3.91 — about 3% better than where 2026 started. The story stops being "hedge against loss" and starts being "spend smarter on what you already buy in dollars".
RM 3.91
USD/MYR after this week's OPR hold
~3% Ringgit appreciation YTD 2026
Bank Negara held the OPR at 3.00% on May 7. The Ringgit, which started 2026 around RM4.05 per USD, now trades at RM3.91 — roughly 3% stronger. That's the largest move among ASEAN currencies this year.
For most Malaysians who don't trade FX, this looks like noise. But if you pay for anything in dollars or another foreign currency — and almost everyone does, even without realising it — your monthly bill quietly just got smaller.
Things you pay in foreign currency
What 3% appreciation means
The numbers per item look small. Stack them — many people have RM 200–500/month in foreign-currency commitments — and the annual difference is real.
Open every "renewal" email from the last 3 months. List every line item that's in USD, EUR, SGD, JPY, or AUD. Most people are surprised by how many they have.
If a service offers an annual prepay discount AND you'll keep using it, this is a better-than-usual time to convert. The Ringgit's current strength locks the rate in for 12 months.
Imported tech (Mac, gaming PC parts, lenses, drones) — anything you've been waiting on — is meaningfully cheaper than it was in January. Not "buy stuff for the sake of it", but for purchases you'd already decided on.
Logging a USD 19 subscription as "RM 76" hides the fact that the cost in dollars hasn't changed — what changed is your purchasing power. Log it in USD and let the converter handle Ringgit.
If you log everything as Ringgit-only, every Spotify bill in Duitful looks like a different number from month to month — RM 56.50, RM 55.80, RM 54.20 — and you'd think your subscription got cheaper. It didn't. The Ringgit got stronger.
Logging it as USD 12.99 with sticky entry-day rate captures the truth:
Ringgit-only logging
Original-currency logging
When you add a daily expense, recurring expense, or income, the MYR picker next to the amount becomes a dropdown. Pick USD (or any of 40+ currencies) and Duitful uses today's mid-market rate to compute the Ringgit equivalent.
Each entry stores the original amount, the original currency code, and the rate used on entry day. Months later, the Ringgit-equivalent stays exactly what you logged — even if rates move. The "BND 100 @ 3.0789" badge next to the amount tells you the truth.
Open Settings → "Currency rates" → Refresh now. Rates come from the open-source Currency-API by @fawazahmed0 (public-domain, no key, daily updates). 40+ currencies covered.
Reports → set Category to "Subscriptions" (or whatever you used) → see the monthly run. The pie chart on Reports gives you a category breakdown so you can spot where the dollar exposure piles up.
Nobody knows. BNM signaled they're holding rates; the strength reflects sentiment, not policy guarantee. Don't make life decisions on a forecast — track in the actual currency you pay in, and let the data show you what happens.
Yes. Log invoices in USD on the income side. When you receive the MYR transfer, it'll be cleaner to compare against the rate at invoice date vs. payout date.
Multi-currency entry is a Pro feature (RM 19.90 lifetime). The Ringgit display is free for everyone. The Pro upsell shows up when you pick a non-Ringgit currency on the entry form.
Log the AWS bill as a USD expense, then log the reimbursement as USD income tagged to the same project / category. Reports nets them out.
Not supported. Crypto rates are too volatile and the data sources are sketchier. The 40+ currencies in Duitful are all sovereign currencies with daily mid-market rates from the open-source feed.
A strong Ringgit isn't a budget windfall — it's a chance to see what you've been spending on. The dollar-priced subscriptions, the cloud bills, the recurring AliExpress habit. Most people log them in Ringgit and lose the signal. Log them in their real currency, watch the Ringgit total drift down 3% this year, and you'll start asking better questions about which of those bills are worth it.
Log a USD subscription, an SGD lunch, or a JPY hotel and Duitful converts to Ringgit at entry-day rates. The original amount and exchange rate are stored on every entry — so when the Ringgit moves, you can see exactly how much you saved (or lost).
Open Duitful →