-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Budget Currency and Category Currencies #1132
Comments
✨ Thanks for sharing your idea! ✨ This repository is now using lodash style issue management for enhancements. This means enhancement issues will now be closed instead of leaving them open. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don’t forget to upvote the top comment with 👍! |
Linking to some earlier discussion of this: #541 https://github.com/actualbudget/actual/discussions/362 This would be a very complex feature to add since the app currently assumes everything is in the same currency and just treats budget values as numbers. We’d also need to think about how this could be exposed in the UI (especially the budget) in a way that isn’t confusing, including taking into account historical budgets. |
This has been discussed a lot, have a look at the previous closed feature requests. Best I came up with was to convert any foreign currency imports to the "home" currency. Can see the PR here (#690) |
@j-f1 I just realized that we can use math expressions in the |
Potentially simplifying also if such transaction details is going Read-Only or replacing the math expression proposed by @joel-jeremy by the result only as soon as it is reconciliated (?) |
In response to This would be an astronomical amount of work to complete unfortunately. Your best bet as of right now is to have two budgets, one in CAD and one in USD. I don't think it would be possible to have all the information from each corresponding budget shown in one budget due to security reasons, so there's really no great way to do this. One thing I think might be possible is when you upload a CSV or QIF, OFX, and QFX file, you could add an option to automatically do an exchange rate and apply a memo stating "converted to USD" or something. This would be the easiest way... |
This already exists. See my comment (above). |
Giving a vote for this one. I have a multi-currency account and I mainly use CHF and EUR, exchanging them based on my needs. I tried having two separate budgets, but that's not really an option: not having a unified net worth report is already a deal breaker for me. I can't really see how much I'm saving each month, since CHF and EUR are just summed together. This is the only feature that I'm missing in Actual. I'm super happy with all the rest! |
☝️ that's the only reason I've decided not to start using Actual. If I cannot track multiple currencies it doesn't make sense for me to track accounts at all as I can swap from one account to another one it's not really an expense or anything. I'm keeping an eye on Maybe as they've announced this will be supported by default |
I'm in same situation, besides having accounts with different currencies, i'm also having a multi-currency account. I transfer from one account to another doing also an exchange. So amount in the source account should end up being different than the amount in the destination account. I'm syncing these accounts via gocardless. One solution I could suggest, is to have the option to do "Transfer & Exchange", where one transaction is marked as transfer along with providing a custom exchange rate (and as a matter of fact, also a fee). Transferring 100EUR into 86GBP for example would keep same transaction, only "viewed" differently depending on the account. With such implementation I think there would be no need to define in Actual which account is EUR & which is GBP, for example... |
It might be out of the scope of this feature request but you could take it a step further and have an option to show both currencies for a transaction side-by-side per the exchange rate set for that transaction. |
Same issue for me as darianf01 - I can sync both my euro and gbp accounts and all I need to do is identify the two transactions as being involved in the transfer - no need to manage exchange rates, just say 100 from this account went to 86 in this other account. They could be suasages to carrots, who cares - it gets more complex if I want to track different types of income in euros that are implicated in one transfer, since the value of the income in a base currency matters -- for this reason I am leaving the euro account out of the budget and registering the income as European Income, and tracking the sources separately |
Same situation for me. I have accounts in EUR and CHF. Being able to unify them is super important. Perhaps you could have a look at how other budget management apps (Firefly III ?) handle this. |
I think having currency per account would solve this. not per category. You basically create cash account in different currency. In case you are using bank card -- it would be auto converted by your bank, so in your invoice it would be in native currency. In this case app won't require to fetch exchange rates. You simply input it when you transfer from one account to another. P.S. This was the thing that bogged me out when I was using YNAB many years ago. |
How most other programs would do this is that you would add the account and select the given currency. Let's say this second account is in EUR and the main budget is in USD. You would put all the transactions in EUR in the EUR account and they would show up as EUR in that account. Actual would then convert the transactions to the last know currency exchange rate. So say I process a transaction on 2024-08-07 of 100 euro and the last know exchange rate is from 2024-08-01 it would then use that to convert to USD and post that to the budget. Since Actual is cashflow based and not based on double entry bookkeeping we don't care about the exchange rate differences that exist. You don't want to have currencies per category, it's a whole lot of work to make that work and it woudln't give a good example either. Just think about you putting a budget for food for your vacation in Japan. It would show a number in the tens or maybe even hundreds of thousands of yen. Would look weird against your normal budget. The best way to currently solve this IMO is to take your .CSV export from the bank and convert all the transactions manually and then import it as if it where in your main currency. Edit: changed comment to be more clear. |
Hi! Found this thread because I was searching on how to set a currency for an account - I guess it's not possible yet I also think that there is no need to have currencies per category or things like that, and currency conversion is unnecessary either. All I want is that the accounts and transactions I have, have a currency symbol and/or field, so I know the currency of each transaction. My sidebar looks like this: With JPY it's a bit more obvious that this isn't the same as the others, but with the others it's a bit more subtle. Then in transactions, display the currency of the account, and in aggregations, list up all the currencies and their respective value. So if an aggregation has $20 USD and 10 Euro, display it as "$20, 10€". One app that does this very well is https://moneymoney-app.com/ or with mulitiple currencies |
@dvcrn I disagree that currency conversions aren't needed. Like in your example with JPY it's gonna have huge impacts on your budget if you assign a single purchase in JPY to a category. That would need to be converted by the exchange rate set in the system. We don't need categories to be set in different currencies though, that makes basically no sense |
Hi! The lack of multicurrency support is a blocker for me too. I'm back to AceMoney, which is somewhat outdated, but does have multiple currencies, they download exchange rates, daily values I believe, and do conversion when needed. |
this would be ideal for me having USD and CRC as currencies, I had to update my import script to convert CRC to dollars before it gets ingested into actual, now transfters between accounts as I often use my bank for that then the amount gets converted to USD and then imported (or the other way around) |
Right, I think this is a problem for anyone who uses more than one currency - and that is not just a few people, I'm sure. In my case, I plan to use the online connection to download transactions - so I would need to modify the download script to convert the amounts to the base currency. |
I will also add that I am waiting for multi-currency support so I can completely transition my excel files into an application like this. Multi-currency will be a crucial feature so people can use this application since everyone in the world at the moment uses multiple currencies. Especially after the multiple fluctuations of currencies because of the economic crisis. |
Adding my vote for this feature. I'm daily managing accounts between different countries |
Also adding my vote ! Would be great to have multiple currencies available! One easy and quick solution would be to add a conversion rule based on account. For example, all transactions for a given account are converted with a specific factor. Of course, it would be better to have them converted on a daily basis with some open source currency exchange factor. But option 1. would help a lot of people and should not be a big deal. :) |
I am voting on this too. I am okay with the solution to have different budgets for different currencies, but it would be awesome if we can somehow have multi-currency support |
For those willing to not use a self-hosted solution, LunchMoney is a very nice one. I've been using it for the past month and it's really cool, the multi-currency support is well-implemented. |
I manually convert my transactions from currencies into dollars every time. That's why I'm so interested in this feature. I open the Actual Budget app, my bank's account with transactions on the google tab, and Google online currency converter on another tab. I look at the bank transaction and check what the currency of this transaction is. If the transaction isn't a dollar, I go to the converter page and convert my currency into dollar. After that, I go to Actual Budget and enter the new dollar amount of the transaction. Therefore, transferring all my transactions into Actual Budget takes approximately 50-80 minutes once per week or 30-40 minutes twice per week. |
+1 This is a show-stopper for me to start using Actual. |
As I can tell from their website, they don't offer e2e encrytion. Only some vague guarantees. Actual on contrary has e2e option for self hosted set up. I can't imagine why people store their financial data inside this centralized "cloud" apps, that don't have proper encryption. |
In addition to taking long, that approach is inevitably imprecise. The currency exchange rates keep changing. Each account and transaction should have and be stored with their original currency, unless it is an exchange transaction in reality (see Firefly III). The conversion should be done only for analysis purposes in the reports, using the up to date exchange rates (e.g. convert everything to one currency to see my net worth). |
Exactly! BTW this is where Firefly III also missing functionality: in reports it displays a separate entry for each currency. E.g., if you bought stuff from US, UK and German Amazon, you will have 3 entries in the "stuff" category, and no total. This makes the reports somewhat difficult to read, and process. Other tools define a base/reference currency, so that in reports only one entry is shown for each category in reference currency, which is the sum of entries of various currencies, converted to the reference currency (using some spot rate or latest available rate). |
If you are aware about a self hosted e2ee solution that supports fluently multiple currencies, I'm all ears ! :) |
I'm in search for a personal finance software, now for a year or more, that meets the following four criteria:
No success. The closest is Firefly III, the only thing missing there is the reference currency based reports. |
Looking forward to this feature too! This is a must for entrepreneurs working with clients in multiple countries. |
All, do not forget to upvote this issue, so it gets visibility! |
I've been able to extend the Docker-based setup with a script that converts transactions in a specified account, using exchange rates by transaction date. Have a look at the example here |
Sounds very promising! Can your script handle multiple accounts, if each one is in a different currency? If I list each account in .env, how can the script assign the account-currency pairs? |
@bandiba Not currently, the code in the example assumes that there's just one account to convert. It also uses the ECB's exchange rates which have EUR as the base currency. Happy to rewrite it a bit to handle multiple accounts with different currencies. Is there any exchange rate API you would suggest? (Edit: went ahead and updated, have a look) |
Adding my 👍 to this one. I've tried to use Actual over the years but I have accounts and transactions in two different currencies. Using different budget files for each is too cumbersome. |
@rbjansen: I suspected so, smartly deducing from the name "dual" ;). I checked how my favorite Portfolio Performance provides the USD/HUF rate for me. By default they also use ECB for Euro-sg else pairs, for other crossrates it seems I can select the rate provider from a long list, currently set to Yahoo Finance. Works pretty well. Synth is not an option in Portfolio Performance, but looks like a great alternative! What I'm not getting reading the readme is where exactly do I define the currency of the account and the target currency...? Maybe I'm missing something obvious, now I have no time to try, hopefully later I can experiment with it. But hey, big thanks to you for looking into this! |
You can add this to the |
@rbjansen Would you be able to help make multi-currency a built-in feature? I've been working a little on it and could use some help. Here's a link to a draft proposal: Here's the Discord discussion: |
@rbjansen Thanks, I missed this, sorry. I gave it a try yesterday, I'm stuck at an error message at the account listing step. I tried to use in config.js budgetId both the Budget ID and the Sync ID from the advanced settings page, same result. What am I doing wrong? Do I need to define the sync ID somewhere else than config.js? Thanks in advance. $ docker exec -it dual-actual node lib/listAccounts
/app/node_modules/@actual-app/api/dist/app/bundle.api.js:37329
throw new Error(`Budget “${syncId}” not found. Check the sync id of your budget in the Advanced section of the settings page.`);
^
Error: Budget “undefined” not found. Check the sync id of your budget in the Advanced section of the settings page.
at handlers.api/download-budget (/app/node_modules/@actual-app/api/dist/app/bundle.api.js:37329:31)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Node.js v18.20.4 |
@bandiba I missed a spot, sorry about that! Try again after a pull |
@rbjansen No worries! This works now, it is great! Thanks a lot!! May make sense to add to the Notes the original amount and currency of the transaction. Would help to identify the transaction in case of doubts. Of course would be great to add a button to Actual UI to start the conversion, so no need to log in to server. Maybe this is what @tlesicka meant? Edit: no, I just had a look at the proposal, it is more than that... All in all, great job, finally I can switch to Actual for 2025 and enjoy the automatic bank sync! |
Verified feature request does not already exist?
💻
Pitch: what problem are you trying to solve?
There are many people who work abroad and send remittances back to their home countries. Having to track bills in different currencies will make it harder to do your budget especially for those who are just wanting to start on their budgeting journey. To help with this, maybe the app could introduce a concept of a budget/primary currency and allow category budgets to be defined in a different currency (by default it should use the budget/primary currency) and let the app do the conversion based on the currency conversion rates or a custom conversion rate.
Describe your ideal solution to this problem
Introduce a budget/primary currency which will be used as the default currency on budgets unless otherwise specified. We could fetch conversion rates and store it in a local database for offline functionality if necessary and allow users to define custom conversion rates in order to match the conversion rates of the remittance services they are using. This should help users do their budgeting more accurately and no more manually doing conversions or adding buffers due to possible fluctuations in conversion rates.
Teaching and learning
No response
The text was updated successfully, but these errors were encountered: