Currency Management
This page is the exchange's currency catalog, and only the admin sees it: here you decide which currencies the app works with and what properties each one has — enabling/disabling, multilingual name, flag, category, rate mode, decimal count, creating a derived currency (like "Tehran Dollar" from the Dollar), and enabling remittance for each currency. Any change here applies to all users, and only active currencies appear in trade/transfer forms.
How This Differs From "My Currencies"
| Currency Management | My Currencies | |
|---|---|---|
| Who | Admin only | Each user, for themselves |
| Scope | The whole system | Only that user's own display |
| Purpose | Defining/enabling a currency and its settings | Bringing frequently-used currencies to the front of selection lists |
In short: currencies get "defined and enabled" here; in "My Currencies," each user picks their own frequently-used ones from among these active currencies so they come first in the pickers.
Fields
| Field | Description |
|---|---|
| Name | The currency's display name in your interface language; each language is edited separately and changing it does not affect the other languages. |
| Flag | The icon next to the name; derived currencies inherit their parent's flag. |
| Category | Fiat, crypto, gold, or remittance. |
| Rate mode | The rate's display direction: multiply or divide relative to the reference currency — determines how the board rate is read. |
| Decimals | Display precision for this currency's amounts. |
Working With the List
- The filter row under the column headers works on the Selected currencies table; this page has no filter form above the table.
- The search box further down the page belongs to the "Add from the world currency list" card and has nothing to do with filtering this table.
- The "Decimals" column has a numeric filter, and the "Order" column is sortable (its own cell holds the move buttons, so a numeric filter on it would make no sense).
Toman/Rial base unit
The exchange's rial-side unit (Toman or Rial) is chosen during initial setup — alongside the reference currency — and every balance, document, and report uses that unit. It can only be changed before the first document is recorded; after that it is locked, since changing it would invalidate all recorded figures. This is different from the "Rial unit of receipts" setting (in Settings, used for reading WhatsApp receipts): that one only controls how bank-receipt amounts are interpreted.
Notes
- The reference currency (the basis for all reports) is a single one, set during setup; changing it later is not a simple task.
- Derived currencies (like "Tehran Dollar" or remittances) are linked to a parent currency: they inherit flag, category, and price source from the parent, and if they have no direct price of their own, their rate is read from the parent.
- Rate settings (buy/sell spread, rounding, API) are under Board Rate → Settings.
Table Filtering and Sorting
- There is a filter row right under the column headers: in a text column type part of the value, in a numeric column give a "Min" or a range ("100-500" means between the two, "-500" means at most 500), in an option column pick from the list. The filter applies to every record on the server, not just the page you are looking at.
- Column headers carrying the ⇅ mark sort when you click them, and the default arrangement comes from the "Order" column; the ▲/▼ move buttons work on the whole list of active currencies, not on the filtered list.
- Changing a column filter or the sorting happens without reloading the page: only the table body is swapped, so your filters and scroll position stay put. The page address only changes with the filters in the form at the top of the page (date range and grouping).
- Active filters are kept, and the Excel/PDF export sees exactly the same ones. To clear one, empty the field or leave the "All" option.
- On mobile the less important columns are folded away; the round + button at the start of each row opens the rest of the information as "label: value".
Display slug and custom flag: a currency’s internal code never changes after creation (rates and imports are keyed to it), but in the row editor you can set a custom display slug (e.g. US$ instead of USD) shown everywhere — statements, forms, exports and WhatsApp messages; search recognises both. The flag can be an emoji or an uploaded image (svg/png/jpg/webp, max 300KB); the uploaded image takes priority over the default icon.
- Renaming a currency code: the code field (behind each row's flag button) is both the display form and the internal code — saving renames the internal code to the normalized form (uppercase, spaces/dashes → _). Ledger and balances are untouched (linked by id). If the currency has derivatives you are asked whether to rename their prefix too, and reminded that desk/inbox messages must use the new code and old documents will display it as well. Codes in special mappings (toman/rial, yuan) cannot be renamed here.