Skip to main content

Currency posting

Note, for currency posting to work in the payroll module, currency posting for employees must be available through the General Journal.

Step 1 Employment Contract Terms in Currency

Contract terms in currency can be added on all base pages with contract terms:

  1. Default Employment Contract Terms
  2. Employment Contract Terms Setup on the Position card
  3. Employment Contract Terms on the Contract card.

The following fields are responsible for currency terms on the above-listed pages:

FieldDescription
Currency CodeSelect the currency code to be applied for a specific accrual or deduction.
Use Original CurrencyA setting that determines in which currency the posting of this entry will be performed. If the setting = Yes, then entries in the original currency (OCY) will be created upon posting. If the setting = No, then entries in the local currency (LCY) will be created upon posting. The value can only be set if the Currency Code field is filled in.

Field values are transferred to related tables upon approval/creation of the following records:

  1. From Default Employment Contract Terms to Employment Contract Terms Setup on the Position card when creating a Position
  2. From Employment Contract Terms Setup on the Position card to Employment Contract Terms on the Contract card when executing the Create Contract Terms action
  3. From Employment Contract Terms on the Contract card to Payroll Element Ledger Entries upon approval of the employment contract line

Additionally, on the Position card, in the Salary section, if the salary for the position is set in a currency, the currency must be specified in the Currency Code field.

Note, if a specific currency code is defined for the Base Salary on the Position card, and there are additional salary entries on the Employment Contract Terms Setup for the Position with amounts set in other currencies, the amounts of such additional salary entries will not be transferred to the Additional Salary field on the Position card, and accordingly will not be displayed in the Monthly Salary field together with the base salary amount.

Step 2 Currency Entries in the Payroll Document

For entries where the Currency Code and Use Original Currency settings are defined in the Payroll Element Ledger Entries, these settings will be transferred to the Payroll Document line in the corresponding fields.

For entries where a currency code is defined in the Payroll Document lines, the Currency Factor is calculated — the exchange rate of the original currency to the local currency as of the Posting Date.

For entries where a currency code is defined, in addition to the Payroll Amount (LCY) field — the payroll amount in local currency, the Payroll Amount (OCY) field — the payroll amount in original currency — is also populated.

Populating these fields must be defined in the payroll element calculation algorithm. The following payroll calculation functions are used for currency entry conversion:

FunctionDescription
21094089Calculates Payroll Amount (LCY) from Payroll Amount (OCY) based on the Currency Factor.
21094090Calculates Payroll Amount (OCY) from Payroll Amount (LCY) based on the Currency Factor.
21094091Copies the currency code for Netto Sallary

GitHub Logo

Upon posting the payroll document, the values of all the above-mentioned fields for lines with currency entries are transferred to the corresponding fields in the Posted Payroll Document lines.

Step 3 Posting Currency Entries

Posting of entries for which a Currency Code is set depends on the value of the Use Original Currency field for such entries.

If "Use Original Currency" = No

With this setting, currency entries in all related tables are posted in the local currency. Specifically:

  1. In the Employee Ledger Entries, a single line is created with the total amount for all accruals in the local currency (taking into account standard grouping filters by Additional Posting Group, Payment Source, HR Order No., etc.)
  2. When creating General Ledger entries, no additional grouping by currency code is performed for currency entries. Entries are grouped together with local currency entries (a single batch is created taking into account standard grouping filters).
  3. Entries in other tables are created in the local currency.

If "Use Original Currency" = Yes

With this setting, currency entries are posted as follows:

  1. In the Employee Ledger Entries, a separate line is created for the currency accrual with the amount in the original currency. The remaining amount is displayed in two fields: Remaining Amount in original currency and Remaining Amount in local currency. Deductions and payments in the same currency are applied to the currency entry.
  2. When creating General Ledger entries, additional grouping by currency code is performed (taking into account standard grouping filters). A separate batch is created for entries with the same currency code. The actual amount of such an entry is posted in the local currency.
  3. Entries in other tables are created in the local currency.

Note that if a payroll document contains multiple entries in different currencies, each of them is additionally filtered and grouped by Currency Code during posting.

When posting currency entries, information about the Currency Code, Currency Factor, the "Use Original Currency" setting, Payroll Amount (LCY), and Payroll Amount (OCY) is transferred to the related tables.

Step 4 Paying Salary in Currency

On the Payroll Sheet header, the ability to select a currency account in the Company Bank Code field has been added. Note, for currency payments to be suggested for an employee, the corresponding Company Bank Code must be set on the Employee card, which will be specified in the Payroll Sheet header.

Currency payments for employees are generated through the Suggest Employee Payments report in the Payroll Sheet.

The Filter By Original Currency setting has been added to the report parameters. When this setting is active, the system selects amounts for the sheet from open entries with a currency code that matches the currency on the Company bank card in the payroll sheet header. Amounts are generated in the original currency.

Currency payments can also be suggested through the Payroll Payment Journal using the Suggest Person Payments report. When processing the request, the system will create payments for all open entries, both in LCY and OCY. The amount of each payment will be determined in the original currency of the accrual entry based on the remaining amount.

Step 5 Multi-Currency Payroll Payments

The system provides the ability to configure payment suggestions in a currency different from the accrual currency.

To do this, on the HR Setup page in the Currency Applications section, in the Payment Rate for Different Currencies field, specify the setting for determining the exchange rate when generating multi-currency payments.

Depending on the selected setting, if the "Filter By Original Currency" = No setting is specified on the Suggest Employee Payments task launch parameters, the remaining amounts from the Employee Ledger Entries (or from the payroll document, if it is an inter-period payment) are converted to the currency of the company bank specified in the payroll sheet header, using the following exchange rate:

OptionDescription
Payment DateExchange rate as of the posting date of the Payroll Sheet
Payroll Document Date AmountExchange rate as of the posting date of the Payroll Document
LCY AmountAmounts in the local currency (which were calculated as of the payroll document posting date) are converted to the bank currency at the exchange rate as of the payroll sheet posting date

Note, regardless of the configured setting for determining the exchange rate for converting the payment amount to the sender bank currency, the amount in the local currency is always determined as of the Payroll Sheet posting date.

Step 6 Adjust Exchange Rates

Exchange rate adjustment is performed using the Adjust Exchange Rates task. A detailed description of the task logic is provided in Adjust Exchange Rates.

To adjust currency entries for an Employee, on the task launch parameters, set the Adjust Employees setting = Yes, and fill in the other launch parameters for the task (all parameters are described in detail at the link Adjust Exchange Rates).

When the task runs, the system analyzes open Employee Ledger Entries, and in case of an exchange rate difference, the batch job creates a new detailed employee ledger entry that reflects the adjusted amount for the employee ledger entry.

Note, by default, entries with the type — blank (i.e., accruals for the employee) are always adjusted. At the same time, if the Adjust Exchange Rates for Prepayments option = Yes on the General Ledger Setup page, then entries with the Payment type are also adjusted.

Exchange rate fluctuations determine the type of the created detailed entry in the employee ledger:

For open entries with the type — Payment:

  1. if the exchange rate on the Adjust Exchange Rates task launch parameters > the exchange rate as of the entry posting date, an Unrealized Gains entry is created in the Detailed Employee Ledger Entries

  2. if the exchange rate on the Adjust Exchange Rates task launch parameters < the exchange rate as of the entry posting date, an Unrealized Losses entry is created in the Detailed Employee Ledger Entries

For open entries with the type — blank (i.e., accruals for the employee):

  1. if the exchange rate on the Adjust Exchange Rates task launch parameters > the exchange rate as of the entry posting date, an Unrealized Losses entry is created in the Detailed Employee Ledger Entries

  2. if the exchange rate on the Adjust Exchange Rates task launch parameters < the exchange rate as of the entry posting date, an Unrealized Gains entry is created in the Detailed Employee Ledger Entries

Note, the General Ledger accounts for posting unrealized gains and losses from exchange rate differences are defined on the corresponding Currency card in the General section in the Unrealized Gains Acc. and Unrealized Losses Acc. fields.

Step 7 Applying Payments in Currency

When applying currency entries, a filter by currency code is active by default. This means that by default, only entries with the same currency code are applied to each other.

To enable multi-currency payment application, on the HR Setup page in the Currency Applications section, set the Cross-Currency Application field to All. In this case, the currency code filter is excluded from the entry search filter when applying entries, and multi-currency entries are applied to each other.

During the posting of the payroll sheet, when applying currency payments to currency accrual entries, if the exchange rate as of the Payroll Document posting date differs from the exchange rate as of the Payroll Sheet posting date, exchange rate differences are adjusted.

The system creates realized exchange rate difference entries as follows:

  1. if the exchange rate as of the payroll document posting date > the exchange rate as of the payroll sheet posting date, a Realized Gains entry is created in the Detailed Employee Ledger Entries

  2. if the exchange rate as of the payroll document posting date < the exchange rate as of the payroll sheet posting date, a Realized Losses entry is created in the Detailed Employee Ledger Entries

When unapplying a payment from an accrual entry, the system automatically reverses previously created and posted exchange rate adjustment entries.

Note, the General Ledger accounts for posting realized gains and losses from exchange rate differences are defined on the corresponding Currency card in the General section in the Realized Gains Acc. and Realized Losses Acc. fields.

Step 8 Closing Balance in Original Currency

When applying multi-currency entries, when entries close each other to "0" and there is no remaining balance in the local currency, the balance in the original currency remains unclosed in the trial balances.

For example, an employee has a payroll accrual of 10,000 UAH. The payment was made in a different currency, specifically 250 EUR (rate 1:40). After application in the Employee Ledger Entries, these entries will close each other to "0". However, if you generate the Detailed Trial Balance report with the "Show amounts in original currency" = Yes setting, the report will show an unclosed balance for this entry in the original currency (EUR).

To avoid discrepancies and to close the balance in the original currency, the Close Balance in Original Currency setting has been created on the HR Setup page in the Currency Applications section. The setting can only be activated if the Cross-Currency Application field is set to All.

If the setting = Yes, then when applying entries, the system will post an additional entry to close the balance. From the example described above, it would be the following entry:

DT 661 10,000 UAH CT 661 250 EUR

Thus, after applying entries, the Detailed Trial Balance report generated with the "Show amounts in original currency" = Yes setting will not show an unclosed balance for these entries in either the local or original currencies.

Step 9 Currency Salaries in the Staff List

For positions where a Currency Code is defined for the Base Salary on the Position card, as well as positions with currency additional salary entries in the Contract Terms, automatic conversion to the local currency is configured on the Staff List page.

Conversion is performed as of the work date using the defined exchange rate.

Note! Currently, there is a limitation when generating the printed form of the staff list archive for currency positions. Specifically, if the staff list contains positions with a currency salary and/or additional salary entries, when printing, the Actual Positions setting must be disabled on the launch parameters. This is because, to maintain optimal staff list generation time, currency conversion was configured by grouping positions with identical terms by unique position rates. Therefore, when generating a detailed breakdown by each position in the printed staff list form, conversion to local currency will not work.

© 2008 - 2026 SMART business