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

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!

35replies 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.

  • U got a new Patreon 😉

  • 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. 

    • 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.

  • 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?

    • 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.

    • 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 :)

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

    • 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).

    • 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.

    • 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!

    • 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.

  • 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.  

    • 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).

  • 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.

  • 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.

  • 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! 

  • Will this work if all I ever do is:

    1. withdraw money from US bank account, from ATM, in local currency
    2. create transactions from cash from local currency


    • Tan General Yes, that should work fine.  You'd tag the US bank account with `<USD>`, and create a virtual "difference" account tagged with `<USD DIFFERENCE>`.  When you withdraw to your local currency you use a split transaction with one split taking the USD amount out of the US account, and another split putting the converted local amount into your local "cash" account, and then a third split transferring the difference to the `<USD DIFFERENCE>` account.

  • Emanuel Borsboom It seems like the fca4ynab web service is down. When I try to save transactions manually, I get a 500 error, and automatic sync is not working either. I'm not sure if it's on your end or YNAB's? It's been happening for at least two days.

    • Closing the circle here (since I communicated privately about it): the 500 error comes from YNAB's API, and turns out to be because it has an undocumented limitation that you can't create multiple transactions in a batch if the budget has more than 30,000 transactions.  So this problem was specific to this particular budget (budgets that large are rare -- but obviously should be supported).

      I do plan to adjust fca4ynab so that it no longer relies on creating multiple transactions in a batch, but this is a bit more complicated that it sounds because of the way it keeps track of which transactions have been processed before.  In the meantime I've implemented a hacky workaround for this particular budget.

  • I just set this up, changed all my DKK accounts to their correct amounts and let your application do its thing. So far, it's looking very helpful.

    However, when I look at my budget overview, the "Amount to be budgeted" is WAY to high. I don't know if the totals in all my accounts are just added up with no regard for their currency or what's going on, but is there any way to fix it? I would have expected it to be in my home currency (USD).

  • Hi Emanuel, thanks for this!  In Peru, a lot of credit cards are dual-currency (PEN and USD).  How would you suggest handling them?  Should I divide the credit card account into two: one in local currency and the other one in dollars (and a difference credit account for the dollar portion)?   Any suggestions?

  • Hi Emanual, thanks a lot for this app.

    I'd like to track my BTCs in their original currency - but I don't have much BTCs, and YNAB don't allow me to record a transaction with the value of 0.0032.

    Is there a way to record milli-units from a currency, like mBTC?



  • Can you please add the ETHEREUM difference as well?



  • For BTC and ETH you can use also to sync your balances to YNAB. It uses exchange rates so that your BTC value will be translated to the currency of your budget

  • Greetings, I absolutely love this and am looking to giving it a try.

    I do not mean to question your integrity but what privacy assurances are being offered here? It's entirely fair to say that using the service means we trust you.

    Do you have a non-hosted version of this that I can host for myself or tooling that can be run to do catch-ups?

    Edit: To be clear, regardless of the model I end up using, I think this is totally worth a Patreon subscription.

    Edit 2: I just found . Apologies for not spotting this before. This eliminates my concerns. Thank you!

    • Sea Green Griffin This is phenomenal, but there is only one thing that is sticking out. Having a difference account for my checking accounts means I have to  budget for fluctuations. That basically removes some of the usefulness of YNAB for me, the part about giving each dollar a job, since now I need to care about downward fluctuations.

      Here's an idea.

      Beyond <EUR/USD/GBP/CHF>, could we also have <Checking/Savings/Cash> markers? This way the difference account does not need to match the account type, since it can use the markers instead and we can make all difference accounts tracking accounts... which is kind of the purpose of tracking accounts anyway - to track the value of things that fluctuate and that you don't budget for.

      If you think that might work and you would benefit from an alpha/beta tester, please let me know.

  • error when authorizing using web app

      • Kevin K.
      • kkaland
      • 1 mth ago
      • Reported - view

      Tomato Crab 

      I suspect that the app has reached 25 users and more can't connect because YNAB needs to verify it.

      It also just doesn't seem to be working in general, though, which doesn't make sense, since I've already authorized it. So it might be something else. The creator will hopefully notice the issues in his own budget and fix them soon.

    • I've also noticed noticed the app isn't creating adjustment transactions since some time on 14 December. According to the monitoring at something is down.

    • Bummer!
      I hope Emanuel Borsboom picks up on the issue. I have been using this tools for some time now and it is really useful.

      Edit: spelling.

  • I'm also using this and loving it so far. Hope you can fix it Emanuel Borsboom

Like8 Follow
  • yesterdayLast active
  • 35Replies
  • 935Views
  • 22 Following