The following blog will focus on the functionality of Foreign Currency Valuation in S/4 HANA Finance, differences with older versions, and how it is connected to the Simulation Ledger (Extension Ledger) set in transaction FINSC_LEDGER.
Configuration and testing scenarios will be shared in this post.
The word “S/4” will be used to refer to an S/4 HANA environment while for non-S/4, the word “ECC” will be used.
Transaction FAGL_FCV in S/4 HANA
Transaction FAGL_FC_VAL in New GL (ECC)
Transaction F.05 in Classic GL (ECC)
Selection screen of Foreign Currency Valuation transactions
(S/4 system on the LEFT | ECC with New GL on the CENTER | ECC with Classic GL on the RIGHT)
The main difference is the possibility of selecting a Simulation Ledger and the implied usage of the ECS (Error Correction and Suspense Accounting) tool over a Batch Input session, in case of errors while posting.
A Simulation Ledger is an Extension Ledger and works similarly to a “test mode” run, though there is a document inside table ACDOCA and therefore, it is later possible to analyze that data in reports.
As of version S4HANA ON PREMISE 1809 01 (01/2019) FP, Simulation Ledgers are only used for Foreign Currency Valuations (based on analysis of Data Element FINS_SIM_LEDGER which is only used in Foreign Currency Programs)
Ledgers configuration = Transaction FINSC_LEDGER
The ECS application is used for checking and correcting documents before posting, including handling of errors, with selection parameters that allow choosing specific cases to investigate. In other words, Batch Input is a set of transactions/ records/ processes which cannot be filtered internally while the ECS addressed that and brings the possibility of choosing what cases to analyze/ correct according to initial selections.
ECS = Transaction ACC_ECS_MAINTAIN
Batch input = Transaction SM35
Transaction ACC_ECS_MAINTAIN screen
Selection parameters such as Company Code, GL account, Cost Center, etc. are possible and could be useful to filter a list of documents in error.
As part of closing activities (usually monthly/ yearly), companies take their open items and/ or balances in foreign currencies at a valuation key date and translate them based on different Valuation methods.
Main customizing activities
- Define Valuation Methods
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Define Valuation Methods
Define a Valuation Method Valuation procedure or rule to be used such as “Lowest Value Principle” or “Always Valuate”.
Same as in ECC with New GL.
2. Define Valuation Areas
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Define Valuation Areas
A Valuation Area is associated to a Valuation Method from the previous step, which later on be used in transaction FAGL_FCV.
A new column with a 3rd currency type was added. However, I have not found any differences while running FAGL_FCV even when the Company Code had 2 or 3 main currencies.
Similar to ECC with New GL with an extra currency type but no visible impact.
3. Check Assignment of Accounting Principle to Ledger Group
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Check Assignment of Accounting Principle to Ledger Group
Connect an Accounting Principle with a Ledger Group.
This configuration is part of the configuration of Ledger Groups (SPRO: Financial Accounting > Financial Accounting Global Settings > Ledgers > Parallel Accounting > Assign Accounting Principle to Ledger Groups) and although it is not directly connected to transaction FAGL_FCV, it must be configured before any postings are made into it. This is because trying to change the Target Ledger Group after postings is not possible.
“Postings already exist with ledgergroup XX
Message no. FINS_ACDOC_CUST368
DiagnosisPostings were already done with ledgergroup XX.”
Same as in ECC with New GL.
4. Assign Valuation Areas and Accounting Principles
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Assign Valuation Areas and Accounting Principles
The Valuation Area created in step 2 is now connected to an Accounting Principle and also, to Simulation Ledger/s.
For example, choosing a Valuation Area associated to the Accounting Principle “0L” will bring connected Simulation Ledgers from transaction FINSC_LEDGER.
Choosing a Valuation Area associated to an Accounting Principle (e.g. “ZCL”) not connected to any Simulation Ledger will result in “No values found”.
Configuration example in transaction FINSC_LEDGER (added related hits for simplification purposes):
5. Activate Delta Logic
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Activate Delta Logic
(S/4 system on the LEFT | ECC system on the RIGHT)
A delta logic can be applied in which the system instead of reversing the currency valuation posting on the next month, it will post the difference between the last exchange rate valuation with the exchange rate at the key date or new valuation date.
Same as in ECC with New GL with a nicer layout.
6. Prepare Automatic Postings for Foreign Currency Valuation
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Prepare Automatic Postings for Foreign Currency Valuation
Setting up accounts that will be used when a Valuation Loss or Gain (P&L accounts) happens and against which Balance Sheet account (BS account).
In this example, transaction KDF is used.
The P&L accounts to be set as GL Account Type “Nonoperating Expense or Income”, which is a new option in S/4, inside transaction FS00 – GL account mainteinance. No Cost Elements are created because of this.
7. Foreign Currency Valuation: Assignment of ECS Environment
Financial Accounting > General Ledger Accounting > Periodic Processing > Valuate > Foreign Currency Valuation > Foreign Currency Valuation: Assignment of ECS Environment
In case the ECS Environment “FAGL_FCV” does not exist, to check the “Define ECS Environments” activity described below.
8. Foreign Currency Valuation: Assignment of ECS Environment
Create a counter that will be use during a Foreign Currency Valuation productive run execution.
Additional customizing checks
a) Define ECS Environments
Financial Accounting > Financial Accounting Global Settings > Document > Error Correction and Suspense Accounting > General Settings > Define ECS Environments
b) Define Settings for Ledgers and Currency Types
Financial Accounting > Financial Accounting Global Settings > Ledgers > Ledger > Define Settings for Ledgers and Currency Types
c) Currency Exchange Rates
Transaction OB08 (Mainteinance of Currency Exchange Rate) + Transaction OBBS (Translation ratio)
In the system, under the customizing step “Define Valuation Method“, the defined Exchange Rate type was “M” but since in transaction OBBS, for the combination of currencies to be used as an example, “EURX” is the alternative Exchange Rate type set, the value taken will be from that combination.
Testing of the Simulation Ledger
(previously, a document in USD was posted in the Company Code “ZCK1” which has EUR as the local currency)
- Posting in a Simulation Ledger
A document starting with S is created.
However, and after multiple tests, I could not see the S document inside transaction FAGLL03H (GL Line items – S/4 HANA simplified transactions) BUT it was possible to see the document inside FAGLL03 (New GL version):
FAGLL03H on the LEFT | FAGLL03 on the RIGHT
(the difference in the numbers of S documents is because of the iterations performed in the middle, and connected to the next Test performed – Resetting/ deleting a Simulation Ledger posting)
2. Resetting/ deleting a Simulation Ledger posting
Now a run to reset/ delete a Simulation Ledger posting is selected:
After the run, a document starting with S is created.
However, re-running the deletion results in a new deletion document replacing the previous one.
3. Visualization of a Simulation Ledger document
It is possible to display a Simulation Ledger Document via transaction GD22.
4. Tables of documents already processed > Foreign Currency Valuation: Real run vs Simulation Ledger run
Table FAGL_BSBW_HISTRY is filled with documents that were considered in a Real/ Productive run.
Table FAGL_BSBW_HISTSM is filled with documents that were considered in a Simulation Ledger run.
a) The Simulation Ledger seems to be a good idea from a database perspective but is not fully mature considering the errors described above:
- Incompatibility of the FAGLL03H transaction with the Simulation Ledger
- Deletion of Simulation Ledger record can be executed multiple times, creates a new document
Although FAGLL03H already has its limitations (e.g. Fiscal Years with Archived documents not showing a proper total), it is interesting that it is not considering these simulation documents at all.
b) ECS is an interesting step forward for handling errors while posting.