mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-09 03:32:54 -05:00
[Feedback] Currency symbol support #2215
Open
opened 2026-02-28 20:06:43 -06:00 by GiteaMirror
·
51 comments
No Branch/Tag Specified
master
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
matiss/7155
claude/fix-simplefin-batch-sync-O8LcD
ai/custom-theme-dual-prefs
matiss/fix-6804
add-claude-github-actions-1772738270730
claude/analyze-internal-errors-4k6O2
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#2215
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MatissJanis on GitHub (Jun 18, 2025).
cc @misu-dev for visibility
@Blackhex commented on GitHub (Jul 20, 2025):
Hello. It seems that the current design of this feature expects that one budget file contains only accounts of one currency. I'd invite if different accounts in one budget file could be of different currencies. Is that planned?
@misu-dev commented on GitHub (Jul 25, 2025):
A currency for the budget file is the first step for this feature.
If accounts can have different currencies and if there is a proper foreign exchange feature is dependend on the maintainers vision and contributers to put in the effort :)
But there is still a lot of work to do with how the application works now in regard to the possibility of currency handling.
@Blackhex commented on GitHub (Jul 26, 2025):
That's why I am trying to understand where is the vision and whether the vision is compliant with my expectations so it makes sense to me to contribute. Currently, I am unsatisfied Firefly III user looking for a replacement and Actual Budget could be a viable alternative if it would support multiple accounts with different currencies in a single budget file. On the other hand, if the vision wouldn't be viable to me, I'd rather direct my efforts to attempt to fix Firefly III. Nevertheless, I'd like to discourage to use currency rates for currency conversion for other purposes than display of total of accouns with different currencies. Rather, there should be a special type of currency conversion transfer transaction that has the amount in input and output currency. This is (maybe the only) thing that Firefly III does well.
@slipperybeluga commented on GitHub (Aug 2, 2025):
Happy to see currency support coming. Thanks for the work done thus far. Not sure what all is planned, but I was hoping that a user can set desired currency and have account balances reflected in that in the same way they can pick language, date format, etc. My use case is to share my budget with a user that doesn't 'think in dollars'. This of course assumes that the original user sets a default currency so it can be converted for other users as needed.
@Stryd3r commented on GitHub (Aug 2, 2025):
Please add Qatar Riyal symbol. Either in Arabic symbol or as QAR/QR. Would highly appreciate it. Thank you
Adding further for clarification purposes;
How many decimal points does it use?
→ 2 decimal points
Example: QAR 10.50
What is the symbol?
→ “QAR” or “QR” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: QAR 250
@kcollett commented on GitHub (Aug 6, 2025):
Is there a summary of where one should expect (and not expect) to see the selected currency symbol? (It looks like it does NOT apply to transactions, reports, and on the top-level Schedule page. I expect there are other exceptions I'm missing.)
@misu-dev commented on GitHub (Aug 6, 2025):
@Blackhex Multiple currencies in a single budget file would be a really nice feature. I hope this will be added. But first the basic currency implementation has to be finished, there is still alot missing. I can not guarantee that this will be implemented, but hope so.
I also think doing in manual conversion is the right approach. But it should probably display it with the current exchange rate.
@slipperybeluga I am not sure I understand your request correctly. So you want one budget file where user A has no currency set and user B has a currency set? Is this even possible with the date format etc?
@kcollett I am currently working on the reports (see https://github.com/actualbudget/actual/pull/5283), the budget overview and transaction table will come "soon", when I have the time (also schedules, etc.). But help is always appreciated :)
@deronrspencer commented on GitHub (Aug 7, 2025):
Please add Jamaican Dollar to the currency list. Thank you
Details:
How many decimal points does it use?
→ 2 decimal points
Example: J$10.50
What is the currency code?
"JMD"
What is the symbol?
→ “J$” or “JA$” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: J$ 250
@slipperybeluga commented on GitHub (Aug 7, 2025):
I mean that a budget file can be shared, but a user can view it as a different currency if their user-selected default currency differs from the base currency chosen for the budget file. This presupposes that in a future update, budget files are associated with a currency and that a user can chose their default display currency. Example: my budget file is in US dollars, but another user can view the budget file as Canadian dollars or Japanese yen, etc.
I see it applied as a filter to the underlying data in the same way that changing date or decimal formatting. Don't need to worry about historic exchange rates, just apply current exchange rate to all fields when accessed.
@tcpr1 commented on GitHub (Aug 16, 2025):
Please add Real (BRL) option.
How many decimal points does it use?
→ 2 decimal points
Example: R$10,50
What is the currency code?
"BRL"
What is the symbol?
→ “R$” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number (with space)
Example: R$ 250,00
@Longpiggy commented on GitHub (Aug 29, 2025):
Please add Thai Baht (THB) option.
How many decimal points does it use?
→ 2 decimal points
Example: ฿250.00
What is the currency code?
"THB"
What is the symbol?
→ “฿” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number (without space)
Example: ฿250.00
@StephenBrown2 commented on GitHub (Sep 4, 2025):
Turning on Currency symbols breaks existing amount entry fields such as the Schedule feature: https://discord.com/channels/937901803608096828/1413177704618135622
When entering an amount, one must clear the currency symbol out, or the value will not be saved and revert to 0, since it can't be parsed. This persists if the initial setup included the symbol in the field, or even if it didn't and future edits include the symbol, any future edits also fail and revert to 0.
@pr11me commented on GitHub (Sep 7, 2025):
This is a nitpick and maybe it is already the case because the difference is hard to tell to be honest. But if possible, the space between the number and the currency sign should be a "thin" space, i.e. smaller than within prose. This applies to both the "before" and "after" number option. Thanks for the feature. I did not really miss currency but since it is here, I need it :D
@UnderKoen commented on GitHub (Sep 9, 2025):
When reconciling and having a currency enabled you can't change the value by changing a single number or doing a calculation. So for example
€10.00 + 10does not work@misu-dev commented on GitHub (Sep 9, 2025):
@pr11me Thanks for the information. I will update it to \u202F in one of the next PRs, which seems to be a small non breaking space.
@UnderKoen This won't work yet, as the reconcilation (or general the transactions) are not fully implemented yet. This will be done in the "near" future.
@jpdsc commented on GitHub (Sep 15, 2025):
On one of my files, when currency support is enabled (EUR). Changing a schedule amount and clicking something else or clicking Save resets it to 0.
When I disable currency (EUR) it does let me add the amount and does not reset to 0.
The weird thing is, it does work fine on 2 other files.
To try and resolve it I have tried:
@karanj commented on GitHub (Sep 22, 2025):
Looking at the history of incremental requests for currency codes to be added, might be worth looking at https://en.wikipedia.org/wiki/ISO_4217 to get the list of currency codes (includes decimal places data) and corresponding symbols here: https://en.wikipedia.org/wiki/Currency_symbol
@karanj commented on GitHub (Sep 22, 2025):
Suggest next step would be the ability to annotate transactions with a source currency amount; e.g. I have a fixed USD 8 monthly subscription which currently charges approximately AUD 12 to my account. If there is a change in the subscription price (i.e. source amount) I would like to be able to see that separately to the fx impact.
Having both source amount and actual paid amount would be a straightforward FX calculation to be able to be displayed. This is where default currency would come in as being the base for the currency pair.
@Alper-Celik commented on GitHub (Sep 23, 2025):
some toughts for future of theses features:
maybe it would be overkill but it would be nice to have option to add costum "currencies" to the file in the future.
since it can be used to represent invesments pretty nicely.
like you can add a GOLDONS currency for gold,
you can add currencies for representing ETF's/Share's you bought like SPY,QQQ,APPL
and if we think there will be conversion table in the future you can simply update that instead of adding a reconcile transaction to update values of your investments
@gbeleris commented on GitHub (Oct 2, 2025):
Can you please add UAE Dirham (AED)? Thanks!
@diegogodie06 commented on GitHub (Oct 3, 2025):
Please add Costa Rican Colón symbol. Either the “₡” symbol or as CRC. Would highly appreciate it. Thank you.
Adding further for clarification purposes:
How many decimal points does it use?
→ 2 decimal points
Example: ₡10.50
What is the symbol?
→ “₡” or “CRC” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: ₡250
@hasathcharu commented on GitHub (Oct 4, 2025):
Can we please add Sri Lankan Rupee (LKR) as well? Thank you so much!
How many decimal points does it use?
→ 2 decimal points
Example: LKR 10.50
What is the symbol?
→ "LKR", "Rs.", "රු", "௹" are all used as currency symbols.
Does the symbol come before or after the number?
→ Before the number
Example: LKR 250.00, Rs.250.00, රු.250.00, ௹250.00
@kscop-n1 commented on GitHub (Oct 7, 2025):
Can you please add UAH
How many decimal points does it use?
→ 2 decimal points
Example: UAH 10.50
What is the symbol?
→ symbol: ₴ (encoded as U+20B4 in Unicode)
Does the symbol come before or after the number?
→ Before the number
Examples: ₴1, ₴2, ₴5, ₴10, ₴20, ₴50, ₴100, etc.
Thank you for your support!
@StephenBrown2 commented on GitHub (Oct 7, 2025):
UAH was added in https://github.com/actualbudget/actual/pull/5653
@jgburkett commented on GitHub (Oct 11, 2025):
Seems if you enable currency support and set up a schedule the amount does not save. At least with the USD currency selected.
@matt-fidd commented on GitHub (Oct 11, 2025):
@misu-dev could you take a look when you get a second please? I'm away this weekend.
@jpdsc commented on GitHub (Oct 11, 2025):
I also experience this, however it seems to be intermittent, some files it works but then all of a sudden the amount is also reset to 0.
When clicking a blank part it also resets to 0.
@misu-dev commented on GitHub (Oct 11, 2025):
@jgburkett & @jpdsc Any idea how I can reproduce this?
https://github.com/user-attachments/assets/e48556e3-0819-4634-8eca-68a033141911
Also can you test to remove the currency symbol from the Input Field when editing? Does it work then? In my video is the master branch, which will be release next month. There, the symbol gets automatically removed when typing. Probably this is already the fix.
@jpdsc commented on GitHub (Oct 25, 2025):
Sorry for the late reply. I have no clue how to reproduce this as it happened on one of the files but then all of a sudden 2 other files have the exact same issue.
I removed the currency symbol but still it resets to 0 when clicking a blank spot in the Schedule or pressing Save.
@Chillrend commented on GitHub (Nov 7, 2025):
Can we have Indonesian Rupiah, IDR?
How many decimal points does it use?
→ 2 decimal points
Example: Rp. 1.200,50 (cents are very rarely used, but bank statement still includes it)
What is the symbol?
→ symbol: Rp.
Does the symbol come before or after the number?
→ Before the number
Examples: Rp. 5.000,00 ; Rp. 250.500,00 ; etc.
Thank you!
@AlFirous commented on GitHub (Nov 10, 2025):
Chime in, we need IDR currency.
@gksriharsha commented on GitHub (Nov 10, 2025):
Please add Indian Rupee symbol, INR . The Currency Symbol unicode is U+20B9 (₹) Would highly appreciate it. Thank you.
How many decimal points does it use?
→ 2 decimal points
Example: Rs. 10.50
What is the symbol?
→ “₹” or “Rs.” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: ₹ 250.00
@youngcw commented on GitHub (Nov 10, 2025):
It's already included
@tabedzki commented on GitHub (Nov 17, 2025):
I might be missing it, but is there a docs page for this experimental feature? If not, should we write one? I don't see it listed on the current website.
@matt-fidd commented on GitHub (Nov 17, 2025):
You're right, there isn't one, although I don't really know what we could document there if we did have one.
@tabedzki commented on GitHub (Nov 17, 2025):
Perhaps how to use it (even if it is rather simple) and where to report issues related to it (the dedicated issue)?
@hashemi commented on GitHub (Dec 21, 2025):
Please add Kuwaiti Dinar (KWD).
How many decimal points does it use?
→ 3 decimal points
Example: KWD 10.500
What is the symbol?
→ “KWD” or “د.ك.” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: KWD 250.000
I wanted to write a PR but I wasn't comfortable enough with the implications and number of changes that may be required to support a 3 decimal point currency.
The comment in
currencies.tslead me topackages/loot-core/src/shared/util.tsand I noticed the following potential issues with it being a 3 decimal point currency:MAX_SAFE_NUMBERmay need to be adjusted to accommodate N / 1000 rather than just N / 100 (line 398).safeNumberinside oflooselyParseAmountvalue = v * 100 may need to be changed to value = v * 1000 (line 531).looselyParseAmountthe current algorithm assumes that if a decimal separator is followed by 3 digits, it's not a decimal separator but this won't work for the Kuwaiti Dinar.Thank you so much.
@d2718nis commented on GitHub (Jan 2, 2026):
@misu-dev when the currency support feature is enabled, Actual inserts the following literal into the Amount input field:
Visually, this renders as just $0.00, but internally it contains invisible Unicode directionality control characters:
\u202A-- left-to-right embedding\u202c-- pop directional formattinghttps://github.com/user-attachments/assets/716567e6-a9ec-4656-af73-fbd0b44760be
If you delete the contents character by character, the visible symbols are removed but
\u202aremains. Typing100then results in:This isn't parsed as a numeric value via the API endpoint, so the schedule gets created with the default value for the Amount, which is 0 (my guess).
If you instead select all (Ctrl+A or via mouse selection) and replace the value with a number, the hidden Unicode characters are removed and the amount saves correctly. The video above shows exactly that.
I didn't check whether the latest release already fixes this, but this explains why this bug exists.
@saahiljaffer commented on GitHub (Jan 5, 2026):
hi all, had some feedback for this feature after trying it out in the recent release. In my opinion, if my default currency is dollar (non-american) then I would expect the symbol to just be
with no additional letters (e.g CA). If/when we add currency support and I had USD accounts in my CAD budget, I would expect the US accounts to be differentiated with US$ but the majority of my accounts/amounts only need $ since my main currency is Canadian dollars.@adamu commented on GitHub (Jan 6, 2026):
Hi! Thanks for the work on this. I am using JPY, which does not use fractions. When I enable the experimental feature on 26.1.0, all the values are erroneously multiplied by 100. This is fixed by resetting the currency to None.
@misu-dev commented on GitHub (Jan 6, 2026):
@d2718nis Thanks for the clarification. I will have another look at it.
@saahiljaffer I understand your point, but if there is a multiple currency support some day, this might become a problem. Do we have a good way around this?
@adamu Yes, the full implementation for currencies with other than 2 decimal places is not finished yet. I was on holiday the last month and hopefully get to implement it in January. This should only be a problem on the transactions, right?
@adamu commented on GitHub (Jan 6, 2026):
Understood!
It was the budget screen where I was seeing it.
@saahiljaffer commented on GitHub (Jan 6, 2026):
I don't see why it would be an issue as we would store the ISO currency code in the database and the only special treatment would be with rendering. When rendering on the frontend, we would have 2 symbols for each currency (a primary and a secondary) and would use the primary symbol only for your primary currency and the secondary symbol for all other currencies.
@MelihDarcanxyz commented on GitHub (Jan 11, 2026):
Please add Turkish Lira (TRY).
How many decimal points does it use?
→ 2 decimal points
Example: 10.50
What is the symbol?
→ "TRY" or "₺" is used as the currency symbol.
Does the symbol come before or after the number?
→ After the number
Example: 250.00 ₺ or 250.00 TRY
@Alper-Celik commented on GitHub (Jan 12, 2026):
It is already here
I have been using it for a while and it works fine.
It uses ₺ symbol
@Necro-26 commented on GitHub (Jan 24, 2026):
Please add South African Rand.
How many decimal points does it use?
→ 2 decimal points
Example: 10.50
What is the symbol?
→ "ZAR" or "R" is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: R100.00
@jintakhan commented on GitHub (Jan 24, 2026):
Please add the South Korean won. Thank you!
How many decimal points does it use?
→ 0 decimal points
Example: 10,000 KRW
What is the symbol?
→ “KRW” or “₩” is used as the currency symbol.
Does the symbol come before or after the number?
→ Before the number
Example: ₩10,000
@zoomiti commented on GitHub (Jan 27, 2026):
I'm not sure if this is the place for bug reports, but enabling currency reports, breaks reconciliation for me. I have to disable it for it to work again. I'm able to reconcile but the amount expected is always the amount the budget account is at. So it's always successful reconciliation even if the balance doesn't match what I told it should be.
@matt-fidd commented on GitHub (Jan 30, 2026):
This has been bugging me too, got a fix up at https://github.com/actualbudget/actual/pull/6824
@zotabee commented on GitHub (Feb 1, 2026):
Regarding the Swiss currency, the Swiss franc, could we switch from "Fr." to "CHF" ? as per:
Source: https://en.wikipedia.org/wiki/Swiss_franc
Source: https://www.fedlex.admin.ch/eli/cc/2000/194/de
@celestial-fix commented on GitHub (Feb 18, 2026):
Is this the place to ask for adding the chilean peso, CLP: $ symbol thousands separator . (period) and decimal separator , (comma)
Symbol before the number
Thanks!