BudgetLuma
Custom exchange rate

Your bank’s real rate. Preserved. Never silently overwritten.

Reference rates and bank rates rarely match. BudgetLuma lets you record the exact rate your bank or card applied, protects it with database triggers, and keeps your provenance explicit forever.

  • Swap the reference rate for your real one
  • Protected by database-level triggers
  • Full provenance: source, provider, timestamp
  • Premium feature
Download on the App Store

Free to start. No credit card.

How it works

Four rules that protect the number you entered.

Each one is enforced on the server, not just in the UI.

01

Enter the rate your bank actually applied

On a cross-currency transaction, swap the reference rate for the real one from your statement. BudgetLuma stores it along with the original and converted amounts.

02

Protected from silent overwrites

Database-level triggers enforce that once a custom rate is stored, a later amount edit preserves it. Changing the rate or the currency requires an explicit choice — no surprises on a busy evening.

03

Full provenance on every conversion

Every transaction records: original amount, original currency, converted amount, rate used, rate source (identity / system / custom / unknown_legacy), provider and fetch timestamp. Nothing is ever inferred.

04

Premium, by design

Custom exchange rate is a Premium feature. Free users see the reference rate applied at create time. You can upgrade at any point without re-entering your history.

When it pays off

Three ordinary cases. Three reconciliations.

These happen every month for travellers, expats, and anyone whose card settles in a different currency.

Tokyo ramen vs. Visa rate

The restaurant reads ¥ 1 850 on the bill. The Frankfurter reference would convert to € 11,72. Your card statement reads € 12,08. Enter 12,08 as the custom amount or 153.15 as the custom rate — BudgetLuma keeps that truth for this transaction.

Hotel deposit vs. final charge

The deposit was debited at one rate; the final room charge at another, weeks later. Each transaction stores its own rate. Editing the amount doesn’t silently touch the rate.

Reimbursement in a foreign currency

An expense reimbursement arrives in USD into a EUR wallet at a specific rate. Custom rate lets you log it as it happened, not as a generic reference rate suggests.

Boundaries

Where reference rates still apply.

Inside a wallet, your custom rates are the truth. When Insights combines multiple wallets with different base currencies, the combination must use a common reference — so it uses the system reference rates and labels it explicitly with an “≈” signal and a “reference rates” note. Your wallet-level custom rates are never replaced.

Custom exchange rate — questions answered honestly

What exactly does custom exchange rate store?

Three values on the transaction: original amount + original currency, converted amount in the wallet’s base currency, and the explicit exchange rate you provided. The transaction also stores `rate_source = custom` and a timestamp, so you can always tell where the number came from.

What if I edit the amount of a custom-rated transaction?

Your custom rate is preserved. The converted amount is recomputed from the new original amount and your stored rate. Only an explicit rate-mode change (“auto” or “new custom”) will replace the rate.

Can I change the rate provider?

BudgetLuma uses Frankfurter for system reference rates today. A second provider fallback is on the backlog but not shipped. Custom rates are already fully in your control — no provider involved.

Are cross-wallet totals affected by my custom rates?

No. Inside each wallet, your custom rates are the truth. When BudgetLuma combines wallets with different base currencies in Insights, it explicitly uses reference rates and labels the result (“Combined across N wallets · reference rates”). Your wallet-level custom rates are never replaced.

How is this different from a display currency override?

Custom rate writes a rate into a transaction. Display override is read-only: you look at a wallet or at Insights through a different currency without modifying any stored value. Both are Premium features — they solve different problems.

Reconcile with your bank. Not with an approximation.

Free to start on iOS. Premium unlocks custom rates.

Download on the App Store