New integration to manage foreign currency accounts

I've made a YNAB integration that automates the approach I've been using for managing multiple foreign currency accounts in a single budget. You can try it at fca4ynab.borsboom.io.

Some notable features of this integration that set it apart from other solutions (such using separate budgets for different currencies, or YNAB Multi-Currency):

  • All your accounts, both local and foreign currency, are in a single budget so you can see the state of all your finances at a glance.

  • Auto-import, manual import, and reconciliation for foreign currency accounts works normally, in the original foreign currency.

  • Reports and net worth will always be shown in your local currency, with all foreign amounts converted at an exchange rate accurate to within 24 hours.

  • Budget categories are in your local currency, and it's no problem to mix local and foreign currency transactions in the same budget category.

  • Split transactions are converted correctly.

  • Foreign currency balances are automatically adjusted as the currency fluctuates, at an exchange rate accurate to within 24 hours.

  • Your original transactions left are untouched.

  • Uses historical exchange rates for transactions in the past.

  • Processes transactions continuously; you should see converted transactions within five minutes.

This is based on an approach that I've been using manually for several years and found to work very well for our family budget which crosses three different currencies and involves a lot of foreign transactions and transfers (after trying a few other ways first).

The approach boils down to:

  • Transactions in foreign currency accounts are kept in their original foreign currencies, so imports and reconciliation work as they should.

  • For each foreign currency in the budget, there is a "virtual" difference account that holds the difference between your total holdings in the foreign currency and your those holdings converted to your local currency.

  • For each transaction in a foreign currency account, a corresponding transaction is created in the difference account with the difference between the foreign amount and the amount converted to your local currency (at the exchange rate of the day before the transaction's date).

  • Adjustment transactions are created daily in the difference account to account for fluctuating exchange rates, with a special budget category used as a "buffer" for these fluctuations.

For example, if

  • your local currency is U.S. Dollars
  • you hold €100.00, and
  • €1.00 = $1.10, then

the Euro difference account would hold $10.00, since

  • €100.00 * $1.10/€1.00 = $110
  • the difference ($110 - $100) is $10.

If you create a €10.00 transaction, a corresponding transaction for $1.00, with the same payee and category, will be created in the Euro difference account in order to keep its balance correct.

If this sounds helpful to you, please give it a try at fca4ynab.borsboom.io!

19replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Has anyone could ever make this work? I did step by step, and nothing happens, value is still in its original currency and nothing happens with Difference account.

    Like
  • U got a new Patreon 😉

    Like
  • Hi Emanuel, I got it working from the very first day and everything is working neatly.

    Can we have a way to tell the app that we want update the rates in an specific recurrence? Let's say monthly or weekly? Or to have one transaction and the amount auto updates? I don't really like to have all those transactions due to rate fluctuation. 

    Like
    • Can we have a way to tell the app that we want update the rates in an specific recurrence? Let's say monthly or weekly?

      Currently there's no option for that, but it's a good idea.  I'll put that on my list of features to add.

      Or to have one transaction and the amount auto updates?

      While technically possible, this would result in historical balances being wrong, which would throw off reports.

      Like
  • Hi!  Trying this out today.  I am an American living in Canada, so have accounts, credit cards, and transactions in both CAD and USD.

    One thing I am confused on is how I budget for amounts in the different currencies.

    For example my "local currency" is CAD, but I want to budget say 500 USD to my US Credit Card.  How can I budget that in the right currency, or do I have to manually look up the conversion rate and do the calculation myself when I make the budget?

    Does that question make sense?

    Like
    • Forest Green Memory Currently the assumption is that you're doing your budgeting in your local currency, so yes if you need to budget for a foreign purchase you'll have to convert that over to your local currency first.  I usually just keep a rough idea of the exchange rate in my head (e.g. I use CA$1.35 CAD = US$1.00, but adjust that if there are big moves), since there's no point being exact because by the time you spend the money the rate will have changed anyway.

      Another user has made the suggestion of being able to tag budget categories as being in a foreign currency and that the tool could auto-adjust them as the rate fluctuates, so that's on the roadmap of potential features to add.

      Like
    • Emanuel Borsboom Yeah that's what I was thinking as well.  In fact I did go in an tag the category thinking that would do it :)

      Like
  • Also a confusion, should I be budgeting towards the CREDIT DIFFERENCE account that shows up in the budget screen with my credit card payments?

    Like
    • Forest Green Memory When you purchase something on a foreign currency credit card, budget will be automatically moved to the CREDIT DIFFERENCE category just like it is for the credit card's debt category.  However, if you wish to make extra payments then I suppose you're right, you would probably need to budget toward that category (it's not a use case I had thought of or run into because I've never kept a balance on foreign credit cards).

      Like
    • Emanuel Borsboom I think I'm starting to understand how this works.  So if I spent say 100USD on a USD card, the USD CREDIT DIFFERENCE might get an entry of say 35CAD(is it local currency) which represents that to cover the charge in CAD it will be 135CAD.

      Like
    • Forest Green Memory That's correct.

      Like 1
  • Hi Emanuel Borsboom . First of all, thanks a lot for your app. It seems to be just what I am looking for. Just one question: is it possible to manually choose the exchange rate? I'm currently working in Argentina and the official rate here is not what's used in real life. It'd be great if I can set it up myself (even if it's annoying...). Thanks!

    Like
    • Marcelo Binda No, I'm afraid that's not currently possible as the app automatically gets daily official exchange rates.  I'll add this to my list of features to add at some point, though.

      Like
  • I've been using this for about a month or so now and I feel like I'm not tracking things properly and I can't trust my numbers very well.  The fact that the budgets have no concept of currencies is just making it super confusing.

    For example, I just transferred money from my "local" currency bank account CAD, to a USD bank account.  I then transferred it from there to my US Brokerage which I track with a Tracking account in YNAB also set to USD.  In this case I transferred $1,000 USD.  No matter how I record this in my budget though it feels wrong.  YNAB sees it as $1,000 to the Investments category.  Which is true, sort of.  But it was actually like $1340 CAD when it started.  But if I budget $1340 in the Investments category then YNAB will show I have some left.

    Either way its super confusing and I don't know if I'm just "doing it wrong" or its a limitation of this system.  

    Like
    • Forest Green Memory It looks like you have found a use case that I hadn't anticipated.  I don't think it will be too hard to fix, but in the meantime here's a workaround that should help (at least, if I'm understanding your problem correctly):

      When you create the transfer from from the USD bank account (budget) to the USD brokerage account (tracking), fca4ynab will create a debit adjustment transaction in the USD budget difference account with the payee as "Exchange Rate Adjustment <USD>" and the category set to your exchange rate adjustments category.  Edit that transaction and change the payee so it's a transfer to your USD tracking difference account, and set the category to your investments category.  The balance of the USD tracking difference account will initially be out of whack (due to a now superfluous adjustment transaction that's still there), but next time fca4ynab processes transactions it'll create a cancelling adjustment that brings everything back into line (or you can just delete the superfluous adjustment transaction, if you prefer).

      Like
  • Emanuel Borsboom My <USD> accounts are not being detected when in account nickname or notes, although an error appears when I insert it in both. Help please.

    Like
  • Oh wow. THIS is exactly  what I needed, thank you! It was really irritating to not be able to reconcile with YNAB multi currency, and I really like to be able to keep track of changes in value in my foreign currency accounts without having to reconcile manually.

    Like
  • Installed it just now and it seems great! Love that I can now add and connect(!) my US accounts while my main budget is in a different currency. Have yet to try importing transactions, but so far so good! 

    Like
Like5 Follow
  • 5 Likes
  • 3 wk agoLast active
  • 19Replies
  • 244Views
  • 8 Following