---
id: object/page/5
type: object
title: Page 5 "Currencies"
summary: Page 5 "Currencies" in Base Application (Microsoft.Finance.Currency). 2 public procedures. Present since at least BC23, still in BC30, changed in BC27.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "27"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 6312487632bd679d07b90e613aacf9f2688dcb85aa2080adf9dd5fa4996f17e9
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Currency/Currencies.Page.al
    title: src/Layers/W1/BaseApp/Finance/Currency/Currencies.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-currencies
    title: Currencies in Business Central
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-how-setup-additional-currencies
    title: Set up additional currencies
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-how-update-currencies
    title: Update currency exchange rates
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-set-up-currencies
    title: Set up currencies
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-set-up-invoice-rounding
    title: Set up invoice rounding
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-currencies
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-setup-additional-currencies
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-update-currencies
    - https://learn.microsoft.com/dynamics365/business-central/finance-set-up-currencies
    - https://learn.microsoft.com/dynamics365/business-central/finance-set-up-invoice-rounding
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/closing-years-and-periods
    - topic/business-central/business-functionality/finance/working-with-currencies
    - topic/business-central/business-functionality/set-up-business-central/set-up-finance
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 5
name: Currencies
namespace: Microsoft.Finance.Currency
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/finance-currencies.md
  - docs/learn-smb-docs/business-central/finance-how-setup-additional-currencies.md
  - docs/learn-smb-docs/business-central/finance-how-update-currencies.md
  - docs/learn-smb-docs/business-central/finance-set-up-currencies.md
  - docs/learn-smb-docs/business-central/finance-set-up-invoice-rounding.md
counts:
  fields: 0
  procedures: 3
  events: 0
  subscribers: 0
  controls: 34
  actions: 14
relations:
  out: 2
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 3
  called_by: 1
  implements: 0
---

# Page 5 "Currencies"

> Page 5 "Currencies" in Base Application (Microsoft.Finance.Currency). 2 public procedures. Present since at least BC23, still in BC30, changed in BC27.

Base Application · Microsoft.Finance.Currency · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Currency/Currencies.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Currencies |
| SourceTable | Currency |
| PageType | List |
| UsageCategory | Administration |
| ApplicationArea | Suite |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | Code | [Code](../table/4.md#fields) | Specifies a currency code that you can select. The code must comply with ISO 4217. <small>from the table field</small> |
|  | Description | [Description](../table/4.md#fields) | Specifies a text to describe the currency code. <small>from the table field</small> |
|  | ISO Code | [ISO Code](../table/4.md#fields) | Specifies a three-letter currency code defined in ISO 4217. <small>from the table field</small> |
|  | ISO Numeric Code | [ISO Numeric Code](../table/4.md#fields) | Specifies a three-digit code number defined in ISO 4217. <small>from the table field</small> |
|  | Symbol | [Symbol](../table/4.md#fields) | Specifies the symbol for the currency, for example, $ for US dollars. <small>from the table field</small> |
|  | Currency Symbol Position | [Currency Symbol Position](../table/4.md#fields) | Specifies the position of the currency symbol in relation to the amount. <small>from the table field</small> |
|  | Exchange Rate Date | `ExchangeRateDate` | Specifies the date of the exchange rate in the Exchange Rate field. You can update the rate by choosing the Update Exchange Rates button. |
|  | Exchange Rate | `ExchangeRateAmt` | Specifies the currency exchange rate. You can update the rate by choosing the Update Exchange Rates button. |
|  | EMU Currency | [EMU Currency](../table/4.md#fields) | Specifies whether the currency is an EMU currency, for example DEM or EUR. <small>from the table field</small> |
|  | Realized Gains Acc. | [Realized Gains Acc.](../table/4.md#fields) | Specifies the general ledger account number to which realized exchange rate gains will be posted. <small>from the table field</small> |
|  | Realized Losses Acc. | [Realized Losses Acc.](../table/4.md#fields) | Specifies the general ledger account number to which realized exchange rate losses will be posted. <small>from the table field</small> |
|  | Unrealized Gains Acc. | [Unrealized Gains Acc.](../table/4.md#fields) | Specifies the general ledger account number to which unrealized exchange rate gains will be posted when the Adjust Exchange Rates batch job is run. <small>from the table field</small> |
|  | Unrealized Losses Acc. | [Unrealized Losses Acc.](../table/4.md#fields) | Specifies the general ledger account number to which unrealized exchange rate losses will be posted when the Adjust Exchange Rates batch job is run. <small>from the table field</small> |
|  | Realized G/L Gains Account | [Realized G/L Gains Account](../table/4.md#fields) | Specifies the general ledger account to post exchange rate gains to for currency adjustments between LCY and the additional reporting currency. |
|  | Realized G/L Losses Account | [Realized G/L Losses Account](../table/4.md#fields) | Specifies the general ledger account to post exchange rate gains to for currency adjustments between LCY and the additional reporting currency. <small>from the table field</small> |
|  | Residual Gains Account | [Residual Gains Account](../table/4.md#fields) | Specifies the general ledger account to post residual amount gains to, if you post in the general ledger application area in both LCY and an additional reporting currency. <small>from the table field</small> |
|  | Residual Losses Account | [Residual Losses Account](../table/4.md#fields) | Specifies the general ledger account to post residual amount losses to, if you post in the general ledger application area in both LCY and an additional reporting currency. <small>from the table field</small> |
|  | Amount Rounding Precision | [Amount Rounding Precision](../table/4.md#fields) | Specifies the size of the interval to be used when rounding amounts in this currency. <small>from the table field</small> |
|  | Amount Decimal Places | [Amount Decimal Places](../table/4.md#fields) | Specifies the number of decimal places the program will display for amounts in this currency. <small>from the table field</small> |
|  | Invoice Rounding Precision | [Invoice Rounding Precision](../table/4.md#fields) | Specifies the size of the interval to be used when rounding amounts in this currency. You can specify invoice rounding for each currency in the Currency table. <small>from the table field</small> |
|  | Invoice Rounding Type | [Invoice Rounding Type](../table/4.md#fields) | Specifies whether an invoice amount will be rounded up or down. The program uses this information together with the interval for rounding that you have specified in the Invoice Rounding Precision field. <small>from the table field</small> |
|  | Unit-Amount Rounding Precision | [Unit-Amount Rounding Precision](../table/4.md#fields) | Specifies the size of the interval to be used when rounding unit amounts (that is, item prices per unit) in this currency. <small>from the table field</small> |
|  | Unit-Amount Decimal Places | [Unit-Amount Decimal Places](../table/4.md#fields) | Specifies the number of decimal places the program will display for amounts in this currency. <small>from the table field</small> |
|  | Appln. Rounding Precision | [Appln. Rounding Precision](../table/4.md#fields) | Specifies the size of the interval that will be allowed as a rounding difference when you apply entries in different currencies to one another. <small>from the table field</small> |
|  | Conv. LCY Rndg. Debit Acc. | [Conv. LCY Rndg. Debit Acc.](../table/4.md#fields) | Specifies conversion information that must also contain a debit account if you wish to insert correction lines for rounding differences in the general journals using the Insert Conv. LCY Rndg. Lines function. <small>from the table field</small> |
|  | Conv. LCY Rndg. Credit Acc. | [Conv. LCY Rndg. Credit Acc.](../table/4.md#fields) | Specifies conversion information that must also contain a credit account if you wish to insert correction lines for rounding differences in the general journals using the Insert Conv. LCY Rndg. Lines function. <small>from the table field</small> |
|  | Max. VAT Difference Allowed | [Max. VAT Difference Allowed](../table/4.md#fields) | Specifies the maximum VAT correction amount allowed for the currency. <small>from the table field</small> |
|  | VAT Rounding Type | [VAT Rounding Type](../table/4.md#fields) | Specifies how the program will round VAT when calculated for this currency. <small>from the table field</small> |
|  | Last Date Adjusted | [Last Date Adjusted](../table/4.md#fields) | Specifies when the exchange rates were last adjusted, that is, the last date on which the Adjust Exchange Rates batch job was run. <small>from the table field</small> |
|  | Last Date Modified | [Last Date Modified](../table/4.md#fields) | Specifies the last date on which any information in the Currency table was modified. <small>from the table field</small> |
|  | Payment Tolerance % | [Payment Tolerance %](../table/4.md#fields) | Specifies the percentage that the payment or refund is allowed to be, less than the amount on the invoice or credit memo. <small>from the table field</small> |
|  | Max. Payment Tolerance Amount | [Max. Payment Tolerance Amount](../table/4.md#fields) | Specifies the maximum allowed amount that the payment or refund can differ from the amount on the invoice or credit memo. <small>from the table field</small> |
|  | Currency Factor | `CurrencyFactor` | Specifies the relationship between the additional reporting currency and the local currency. Amounts are recorded in both LCY and the additional reporting currency, using the relevant exchange rate and the currency factor. |
|  | Coupled to Dataverse | [Coupled to Dataverse](../table/4.md#fields) | Specifies that the currency is coupled to a currency in Dataverse. <small>from the table field</small> |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Functions | Change Payment Tolerance | Change either or both the maximum payment tolerance and the payment tolerance percentage and filters by currency. |  |
|  | Suggest Accounts | Suggest G/L Accounts for the selected currency. Suggestions will be based on similar setups and provide a quick setup that you can adjust to your business needs. If no similar setups exists no suggestion will be provided. |  |
| Processing | Exch. Rates | View updated exchange rates for the currencies that you use. | [Page 483 "Currency Exchange Rates"](../page/483.md) |
|  | Adjust Exchange Rate | Adjust general ledger, customer, vendor, and bank account entries to reflect a more updated balance if the exchange rate has changed since the entries were posted. | [Codeunit 599 "Exch. Rate Adjmt. Run Handler"](../codeunit/599.md) |
|  | Exchange Rate Adjust. Register | View the results of running the Adjust Exchange Rates batch job. One line is created for each currency or each combination of currency and posting group that is included in the adjustment. | [Page 106 "Exchange Rate Adjmt. Register"](../page/106.md) |
|  | Exchange Rate Services | View or edit the setup of the services that are set up to fetch updated currency exchange rates when you choose the Update Exchange Rates action. | [Page 1650 "Curr. Exch. Rate Service List"](../page/1650.md) |
|  | Update Exchange Rates | Get the latest currency exchange rates from a service provider. | [Codeunit 1281 "Update Currency Exchange Rates"](../codeunit/1281.md) |
| Reporting | Foreign Currency Balance | View the balances for all customers and vendors in both foreign currencies and in local currency (LCY). The report displays two LCY balances. One is the foreign currency balance converted to LCY by using the exchange rate at the time of the transaction. The other is the foreign currency balance conv... | [Report 503 "Foreign Currency Balance"](../report/503.md) |
| Dataverse | Transaction Currency | Open the coupled Dataverse transaction currency. |  |
|  | Synchronize | Send updated data to Dataverse. |  |
| Coupling | Set Up Coupling | Create or modify the coupling to a Dataverse Transaction Currency. |  |
|  | Match-Based Coupling | Couple currencies to currencies in Dataverse based on criteria. |  |
|  | Delete Coupling | Delete the coupling to a Dataverse Transaction Currency. |  |
| Dataverse | Synchronization Log | View integration synchronization jobs for the currency table. |  |

## Procedures

- `GetSelectionFilter(): Text`
- `GetCurrency(var CurrencyCode: Code[10])`

Plus 1 local procedures.

## Triggers

OnAfterGetCurrRecord, OnAfterGetRecord, OnOpenPage

## Relations

- card page [Page 495 "Currency Card"](../page/495.md)
- source table [Table 4 "Currency"](../table/4.md)

## Pages and codeunits on this table

- [Table 4 "Currency"](../table/4.md) (lookup page)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 5330 "CRM Integration Management"](../codeunit/5330.md) (2 calls: `OnOpenPage → IsCDSIntegrationEnabled`, `OnOpenPage → IsCRMIntegrationEnabled`)
- [Codeunit 46 "SelectionFilterManagement"](../codeunit/46.md) (1 call: `GetSelectionFilter → GetSelectionFilterForCurrency`)
- [Codeunit 5331 "CRM Coupling Management"](../codeunit/5331.md) (1 call: `OnAfterGetCurrRecord → IsRecordCoupledToCRM`)

## Called by

- [Table 5430 "Planning Error Log"](../table/5430.md) (1 call: `ShowError → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC27

## Documented on Microsoft Learn

- [Currencies in Business Central](https://learn.microsoft.com/dynamics365/business-central/finance-currencies)
- [Set up additional currencies](https://learn.microsoft.com/dynamics365/business-central/finance-how-setup-additional-currencies)
- [Update currency exchange rates](https://learn.microsoft.com/dynamics365/business-central/finance-how-update-currencies)
- [Set up currencies](https://learn.microsoft.com/dynamics365/business-central/finance-set-up-currencies)
- [Set up invoice rounding](https://learn.microsoft.com/dynamics365/business-central/finance-set-up-invoice-rounding)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Currencies")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
