When you create an expense from a transaction that was originally in a currency other than GBP, it may happen that the amount is slightly different from the original transaction amount. This is because the amount for an international transaction is only fixed at the so-called "clearing" stage. The process works in the way described below.
Any financial transaction goes through two stages:
- “Authorisation”, which happens immediately when you pay for something
- “Clearing”, which happens a day or two later
When you pay for something in another currency, the amount you see during authorisation is an approximation. The value only becomes final at the clearing stage. If you create an expense immediately after payment and sync it to Crunch, there is a risk that the amounts may end up being different, since we update the transaction amount (on the Transactions tab in the app) when the transaction is cleared a few days later. Unfortunately, due to the way Crunch’s API works, we can’t go back and change an expense's amount. Basically, we can only create an expense, not update it. There isn't really a fix for this until the API gives us the ability.
An alternative approach to how we've done it would have been to delay the creation of the expense in Crunch until the transaction has cleared. The downside of this is that the expense might “disappear” for up to three days before showing up in Crunch. We opted for the current approach to avoid users thinking the expense hasn't been created and possibly ending up creating an expense for the same transaction twice.