Currency
In the forwarding management system (FMS), you can register revenues and costs in different currencies. The system handles multiple currency conversions to support various business scenarios, including invoicing in currencies that differ from the line currency and tracking amounts in document currencies (customer or vendor currencies).
This article explains how currencies work in FMS cost and revenue lines, how to manage voyage-specific exchange rates, and how invoice currencies are determined.
Try the currency calculator to see how the factors affect a line's amounts.
Overview
When you register a revenue or cost line with an amount in a foreign currency, the system converts the line amount to the local currency (LCY) according to the currency exchange rate. Each cost or revenue line can work with up to three different currencies:
- Line Currency: The currency in which the line amount is specified (Currency Code field)
- Invoice Currency: The currency used for invoicing (Invoice Currency Code field)
- Document Currency: The currency of the customer (for revenue lines) or vendor (for cost lines) (Document Currency Code field)
The system automatically calculates conversion factors and amounts in these different currencies based on exchange rates and adjustment percentages.
Important
Do not create the local currency code both in the General Ledger Setup and in the Currencies page. This will create confusion between the blank currency and the LCY code in the currency table, and bank accounts, customers or vendors might accidentally be created, some with the blank currency and some with the LCY code.
Currency fields on cost and revenue lines
The following sections explain the currency fields available on cost and revenue lines and how they work together.
Currency Code
The Currency Code field specifies the currency in which the revenue or cost line amount is recorded. This is the base currency for the line.
When you enter a currency code on a cost or revenue line, the system:
- Retrieves the exchange rate for that currency based on the posting date
- Sets the Original Currency Factor to the line-currency exchange factor for that date
- Sets the Currency Factor Date to the date used to determine the exchange rate
- Uses a specific FMS Currency Exchange Rate if one exists for the document, voyage, or voyage call; otherwise, uses the standard Business Central exchange rate
The system stores the converted amount in Line Amount (LCY). For a foreign line with a foreign invoice currency, this uses the original currency factor. When the invoice currency is LCY, it instead uses the original factor including Curr. Exch. Rate Adjustment %.
How the currency code is determined
The currency code can be set manually or automatically:
- When creating a line from a contract, the currency code comes from the contract detail line
- When manually entering a line, you can specify any currency code that is set up in Business Central
- The currency code can be changed as long as no invoices have been created or posted for the line
For more information about setting up currencies in Business Central, see Set up currencies.
Original Currency Factor
The Original Currency Factor field stores the line-currency exchange factor used for the posting date. It is a basis for conversion, not an immutable snapshot of the first rate: validating the currency or changing the posting date can refresh it.
This field is:
- Automatically set when you enter or change the Currency Code
- Not editable by users
- Used as a reference point for all currency conversions on the line
- Set to 1 if the currency code is blank (meaning the line is in local currency)
For the calculations below, a factor expresses the number of foreign-currency units per 1 LCY. For example, a factor of 1.10 means 1 LCY = 1.10 units of the line currency. Divide the foreign-currency amount by this factor to obtain LCY; do not interpret it as LCY per unit of foreign currency.
Note
When you change the posting date of a line, the system automatically recalculates the currency factors. The Original Currency Factor is updated based on the new posting date, and all related currency amounts (including Currency Factor, Document Currency Factor, and amounts in different currencies) are recalculated accordingly.
Currency Factor
The Currency Factor field is a calculated field that represents the conversion factor from the line currency to the invoice currency. This factor is automatically calculated and cannot be edited manually.
The currency factor is calculated as follows:
- If the line currency equals the invoice currency, the factor is 1
- If no invoice currency is specified, the factor equals the original currency factor adjusted by the currency exchange rate adjustment percentage
- Otherwise, the factor is calculated by dividing the invoice currency factor by the original currency factor, then applying the currency exchange rate adjustment percentage
For different line and invoice currencies where the invoice currency is foreign, the formula is:
Currency Factor = (Invoice Currency Factor / Original Currency Factor) × (1 + Currency Exchange Rate Adjustment % / 100)
Here, Invoice Currency Factor means the invoice currency's standard Business Central exchange factor for the posting date, not a separately editable field on the FMS line. The line's Original Currency Factor can come from an FMS-specific rate. The invoice-factor calculation does not perform the same document/voyage override lookup for the invoice currency.
For a foreign invoice currency, multiply the line amount by the currency factor to calculate Line Amount (Invoice Currency). When the line currency is foreign and the invoice currency is LCY, the calculation instead divides the line amount by the adjusted original currency factor. In that case, Line Amount (Invoice Currency) equals Line Amount (LCY).
Currency Factor Date
The Currency Factor Date field stores the date that was used to determine the currency factor for the invoice currency conversion. This date is automatically set when the currency factor is calculated and cannot be edited.
This field helps track which exchange rate date was used for the invoice currency conversion, which is important for audit purposes and for understanding how the amounts were calculated.
Currency Exchange Rate Adjustment Percentage
The Curr. Exch. Rate Adjustment % field allows you to apply a percentage adjustment to the exchange rate. This adjustment is typically used to account for:
- Bank exchange rate differences compared to official rates
- Margin or markup on exchange rates
- Specific contractual exchange rate adjustments
This field is:
- Automatically populated from condition sets when they are calculated
- Not directly editable by users
- Applied to the invoice currency factor calculation, not the document currency factor
- Expressed as a percentage (for example, 2.5 means a 2.5% adjustment)
The adjustment percentage is applied to the exchange rate calculation as follows:
Adjusted Factor = Base Factor × (1 + Adjustment % / 100)
For different currencies, a positive adjustment increases the factor. With a foreign invoice currency, this increases the invoice amount because the factor is multiplied. When a foreign line is invoiced in LCY, this reduces the invoice amount because the adjusted factor is used as a divisor. If line and invoice currencies are the same, the factor remains 1 and the adjustment is not applied.
Currency Exchange Rate Adjustment Conditions
Condition sets can determine the Curr. Exch. Rate Adjustment % instead of requiring a separate manually maintained rate on every forwarding line. The adjustment is then used in the line's currency conversions described above.
Configure the exchange-rate adjustment conditions for the intended cost/revenue scenarios and check their filters with representative customers, vendors and services. Recalculate a test line and compare both the selected adjustment percentage and the resulting invoice-currency amount.
Document Currency
The document currency represents the currency of the customer (for revenue lines) or vendor (for cost lines). This currency is automatically determined from the customer or vendor master data and cannot be changed directly on the line.
Document Currency Code
The Document Currency Code field is automatically set based on:
- For revenue lines: The currency code from the customer card
- For cost lines: The currency code from the vendor card
If the customer or vendor does not have a currency code specified, the document currency code remains blank, which means the document currency is the local currency.
Document Currency Factor
The Document Currency Factor field is calculated to convert amounts from the line currency to the document currency. This factor is calculated as follows:
- If the line currency equals the document currency, the factor is 1
- Otherwise, the factor is calculated by dividing the document currency exchange rate by the original currency factor
The document currency factor is used to calculate the Line Amount (Doc. Currency) field, which shows the line amount in the customer's or vendor's currency.
Line Amount (Doc. Currency)
The Line Amount (Doc. Currency) field shows the line amount converted to the document currency. This amount is calculated by multiplying the line amount by the document currency factor and rounding according to the document currency's rounding precision.
This field is useful for:
- Showing customers or vendors amounts in their own currency
- Reporting and analysis in document currency
- Understanding the impact of currency fluctuations on customer or vendor relationships
How currency fields work together
The currency fields on a cost or revenue line work together to support multiple currency scenarios:
- Line Creation: When you enter a currency code, the system sets the original currency factor based on the posting date
- Invoice Currency Setup: When an invoice currency is specified (either manually or through condition sets), the currency factor is calculated to convert from line currency to invoice currency
- Document Currency Calculation: The system automatically determines the document currency from the customer or vendor and calculates the document currency factor
- Amount Updates: Whenever amounts, quantities, or currency-related fields change, all currency amounts are recalculated automatically
- Posting Date Changes: When the posting date is changed, the system recalculates all currency factors based on the new posting date, ensuring that exchange rates reflect the correct date
Example: Currency conversion on a revenue line
Consider a revenue line with the following setup:
- Currency Code: EUR (Euro)
- Original Currency Factor: 1.10 (1 LCY = 1.10 EUR)
- Invoice Currency Code: USD (US Dollar)
- Invoice Currency Factor: 0.90 (1 LCY = 0.90 USD)
- Currency Exchange Rate Adjustment %: 2.5%
Calculations:
- Currency Factor = (0.90 / 1.10) × (1 + 2.5 / 100) = approximately 0.838636
- If Line Amount = 1000 EUR:
- Line Amount (LCY) = 1000 / 1.10 = 909.09 LCY
- Line Amount (Invoice Currency) = 1000 × (0.90 / 1.10) × 1.025 = 838.64 USD
Keep the full factor during calculation; round the resulting amount, not the intermediate factor.
Example 1: DKK to USD without adjustment
Assume the company uses EUR as LCY. Both DKK and USD are foreign currencies; do not treat DKK as LCY simply because it is the line currency.
- Line Amount: 7,460.00 DKK.
- Currency Code: DKK.
- Original Currency Factor: 7.46, meaning 1 EUR = 7.46 DKK.
- Invoice Currency Code: USD.
- USD exchange factor for the posting date: 0.90, meaning 1 EUR = 0.90 USD.
- Curr. Exch. Rate Adjustment %: 0.
- EUR and USD Amount Rounding Precision: 0.01.
The system calculates:
Currency Factor = (0.90 / 7.46) × 1 = approximately 0.1206434316
Line Amount (LCY) = 7,460.00 / 7.46 = 1,000.00 EUR
Line Amount (Invoice Currency) = 7,460.00 × (0.90 / 7.46) = 900.00 USD
Example 2: DKK to USD with 2.5% adjustment
Use the same amount and exchange factors as Example 1, but apply Curr. Exch. Rate Adjustment % = 2.5:
Currency Factor = (0.90 / 7.46) × 1.025 = approximately 0.1236595174
Line Amount (LCY) = 7,460.00 / 7.46 = 1,000.00 EUR
Line Amount (Invoice Currency) = 7,460.00 × (0.90 / 7.46) × 1.025 = 922.50 USD
The adjustment increases the USD invoice amount by 22.50 USD. It does not change Line Amount (LCY) in this foreign-to-foreign scenario. This differs from a foreign line invoiced in LCY, where the adjusted factor is a divisor and affects both the LCY and invoice amounts.
Note
These are illustrative factors, not market rates. Both amounts are calculated from the original line amount; the USD amount is not calculated from an already rounded LCY amount. Use the full stored factors and round the final amounts with their applicable currency precision. If the company uses DKK as LCY, represent DKK with a blank currency code and an original factor of 1 instead; that is an LCY-to-USD conversion.
Currency calculator
Use this calculator to explore USD to LCY, LCY to USD and the two DKK to USD examples above. Set LCY Code to the code you want to display for the local currency, then choose the line and invoice currencies. The LCY option represents the blank currency code used in FMS.
For a foreign line, enter Original Currency Factor as units of that currency per 1 LCY. For an LCY line, this factor is always 1 and is read-only. Every conversion to USD uses a fixed example exchange rate of 0.90 USD per 1 LCY to calculate the invoice factor. Currency Factor is calculated automatically, including the adjustment. The calculator starts with an already calculated Line Amount, after any line discount. Its single rounding-precision control applies to both output amounts; FMS can use different LCY and invoice-currency precisions.
Load an example (keeps your LCY Code; resets other inputs):
Currency Factor is calculated, not editable. For a foreign line invoiced in LCY, divide by this factor. For a foreign invoice currency, multiply by it.
The calculator needs JavaScript to run. The worked example above remains available.
- Line Amount (LCY)
- -
- Line Amount (Invoice Currency)
- -
Note
LCY Code is an illustrative label, not a change to your company setup. Factors are entered manually for foreign lines; USD invoice conversions use the fixed rate stated above. DKK examples assume DKK is foreign; use EUR as LCY to reproduce the worked amounts. No live exchange rates are retrieved. Verify actual rates and amounts in FMS before invoicing.
Voyage currency exchange rates
In the forwarding industry, it's common to use a different exchange rate, often determined for a voyage 7 days before arrival. These voyage-specific exchange rates can override the standard Business Central exchange rates.
To set up a voyage currency exchange rate
You can register voyage currency exchange rates from the following pages:
- Voyage
- Voyage Schedule
- Voyage Call
- Shipment
- On one of the mentioned pages, choose the Currency Exchange Rates action
- Fill in the fields as described in the following table
| Field | Description |
|---|---|
| Carrier No. | Specifies the carrier for which this exchange rate applies. This allows you to manage currency exchange rates per carrier. |
| Apply To | Specifies whether the exchange rate applies to Costs, Revenues, or Both. |
| Currency Factor | Specifies the currency factor (exchange rate) for the selected currency code. |
| Original Exchange Rate | Determines the original exchange rate. The value is copied from the Currency Exchange Rate when you create the line. |
| Exchange Rate Adjustment Factor | Specifies the exchange rate adjustment factor (foreign currency to local currency). Based on this value, the system calculates the Currency Factor. |
FMS-specific exchange rates
In addition to standard Business Central exchange rates, the FMS system supports document-specific, voyage-specific, and voyage call-specific exchange rates. These rates are stored in the FMS Currency Exchange Rate table. The line's original-factor lookup and the document-currency lookup can use these overrides; the invoice-currency factor in the foreign-to-foreign formula uses the standard Business Central rate.
The system searches for FMS-specific exchange rates in the following order:
- Document header exchange rates
- Voyage call exchange rates
- Voyage schedule exchange rates
- Voyage exchange rates
The document-header lookup is checked first. Voyage-related lookups require Apply Voyage Exchange Rate on the order type. Rates must match the currency and cost/revenue scope. If no applicable FMS-specific exchange rate is found, the system uses the standard Business Central exchange rate for the posting date.
Invoice currency source
In freight forwarding, it's often necessary to record the line amount in one currency while issuing the invoice in another. For example, if the freight rate is in USD, the invoice might need to be issued in the customer's default currency registered on the customer card, such as EUR.
You can manage the invoice currency with the Invoice Currency Source field on the revenue line. The selected Invoice Currency Source determines the Invoice Currency field on the revenue line.
Tip
Learn more about setting up the Invoice Currency Source field with Invoice currency condition.
To manually change the invoice currency
If you need to change the invoice currency for a shipment manually, you can change the Invoice Currency Source on the revenue line. You can choose from the following options:
- Line: Uses the currency on the revenue line
- Customer: Uses the currency on the customer card
- Local Currency: Uses the local currency as defined in General Ledger Setup
Alternatively, you can change the Invoice Currency field on the revenue line manually by leaving the Invoice Currency Source field blank.
Currency exchange rates in Business Central
The FMS system integrates with Business Central's standard currency exchange rate functionality. Exchange rates are stored in the Currency Exchange Rates page, where you can:
- Enter exchange rates manually for specific dates
- Set up an exchange rate service to automatically update rates
- View historical exchange rates
For more information about managing currency exchange rates in Business Central, see Update currency exchange rates.
See also
External Links
Microsoft Learn - Currencies
Microsoft Learn - How to update currencies
Microsoft Learn - Set up currencies
Microsoft Learn - Learnpath: Use multiple currencies