Which exchange rate applies to the thing you just bought
You pay your card's rate for the day the payment is processed, plus any fee your bank adds. You only see it when the payment posts, often a few days later. The mid-market rate you looked up at the till and the rate your budgeting app stored are different numbers. Each is right for what it measures.
Three rates, set by three different parties
The mid-market rate sits halfway between the price at which banks buy a currency and the price at which they sell it to each other. It changes every few seconds while the markets are open, and it is what you see when you search for "EUR to GBP". It is a reference, not an offer. When you pay by card, it is rarely the rate you get.
Your card's rate comes from your card network, such as Visa or Mastercard, or from your bank. The networks publish a rate for every currency pair, every day. On top of that, many banks charge a fee for paying in another currency. Some fold it into the rate. Some show it as its own line, often 2 to 3 percent, and some cards charge nothing at all. The rate that applies is usually the one in force when the payment is processed, not when you tapped your card.
The rate your budgeting app stores is usually a published reference rate for the day of the purchase: a figure from a central bank, or from a service that collects them. The European Central Bank, for example, publishes reference rates for the euro once every working day. A reference rate sits close to the mid-market rate at the moment it is taken, and then it stays put. That is what makes it useful in a record. It turns a purchase in one currency into a comparable amount in another, for the day it happened.
So you have three numbers, set by three different parties at three different times. They will disagree, by a little or by a lot, and none of them is a mistake.
Why the statement shows a different number days later
When you pay, the shop's terminal asks your bank to approve the amount. Your bank converts it at an estimated rate and holds that figure on your account. That is the pending payment you see straight away.
The final conversion comes later, when the shop's bank collects the payment through the card network. That can take a day or several, and longer over a weekend or a bank holiday. The network converts at its rate for the day it processes the payment. Your bank adds its fee, and the payment posts with the final figure. If the rate moved between Tuesday and Thursday, so did your amount.
One case works differently. If the terminal offered to charge you in your own currency and you said yes, the conversion happened there and then. The terminal's provider chose the rate, with its own margin built in. Your statement will usually match the receipt. The rate inside it was set by the shop's provider, not by your bank or the network.
What a stored rate is for
A budget is a record of what happened. When you spent 45 euros on a Tuesday, it was worth a particular amount in your own currency, that day. The rate stored on the record is what lets it keep saying so.
The alternative is to recompute your history at today's rate. It sounds tidy. Now say the euro rises 5 percent against your currency over the summer. Every euro purchase from the spring suddenly looks 5 percent dearer. Your April total changes in August, although nobody spent anything, and a budget you kept in April now shows as broken.
That is not more accurate. It is less honest, because it describes a past you did not live, at rates from months later. A record should keep the rate it was made with, and change only when you decide it should, for example to match your bank.
A worked example: 45 euros on a Tuesday
Say your own currency is the pound, and you pay 45 EUR for dinner on a Tuesday evening. The rates below are made up for the example, to four decimal places. The arithmetic is real.
| 45 EUR at | Rate | In GBP |
|---|---|---|
| Mid-market, Tuesday, at the till | 0.8590 | 38.66 |
| Reference rate on the record, Tuesday | 0.8584 | 38.63 |
| Card network, Thursday, when it was processed | 0.8612 | 38.75 |
| Plus your bank's 2.75 percent fee | 1.07 | |
| Posted on Friday | 39.82 |
Your record says 38.63. Your statement says 39.82. The gap is 1.19, about 3 percent of the dinner.
Most of it, 1.07, is the fee. The other 0.12 is the gap between Tuesday's reference rate and the network's rate two days later. Part of that is two days of market movement, which could have gone either way. Part is the small margin card networks usually build into their rates, which only goes one way.
None of these numbers is wrong. The 38.66 was a fair estimate at the till. The 38.63 is what the dinner was worth on the day, at a neutral rate. The 39.82 is what it cost you.
When the statement disagrees with your record
You have three honest options. Which one is right depends on what you want the record for.
- Leave it. On a coffee the gap is pennies, and the record already does its job: it says roughly what the thing was worth, on the day.
- Match the bank in one line. Replace the stored rate with the rate your bank effectively charged. Here that is 39.82 divided by 45, which is 0.8849. The record now matches the statement to the penny, fee included.
- Match the bank in two lines. Set the rate to the one on your statement, 0.8612. Then enter the 1.07 fee as its own expense, in a category such as Bank fees. The dinner keeps its own cost, and a year of fees adds up where you can see it.
Pick one and use it every time. Mixing them is what makes a year of records hard to read.
Skarb stores the day's rate on every transaction in another currency, beside the amount you paid in that currency. Offline, it uses the newest rate it has and marks it as cached. It never changes a stored rate on its own. When the statement arrives, you can type your bank's rate over it, and the record marks it as custom.
The short version
- Expect the posted amount to differ from what you saw at the till. The difference is the bank's fee, the network's small margin and a few days of rate movement.
- Keep the rate a record was made with. Change it to match your bank, never to match today.
- Choose one way to handle the gap, and use it for every purchase.
If you are paid in one currency and spend in another, earning in one currency, living in another covers the budget around a moving rate.