• Home
  • About Me
  • Contact
  • German
  • TestPage

Microsoft BizApps Finance & Controlling

Microsoft BizApps Finance & Controlling

Tag Archives: Vendor payments

GL foreign currency revaluation types

26 Sunday Apr 2015

Posted by Ludwig Reinhard in General Ledger

≈ Comments Off on GL foreign currency revaluation types

Tags

Dynamics AX 2012, Foreign currency revaluation, Vendor payments

If you record foreign currency transactions you might experience a situation in which Dynamics AX records foreign currency gains/losses on the wrong ledger account. This blog post illustrates the circumstances under which you might run into this situation and provides you a possibility how to fix this issue.

Scenario
For this example, the following (fictional) currency exchange rates between the EUR and USD are used. (Please note that the local company currency is EUR). EN_0The first transaction recorded in Dynamics AX on 1 January 2015 is a vendor invoice for 1000 USD. At the time the vendor invoice is recorded the EUR/USD exchange rate stands at 80 EUR/100 USD, resulting in an amount equivalent to 800 EUR. EN_1As the invoice is not settled until the end of January 2015, a foreign currency revaluation is run in the Accounts Payable module. This foreign currency revaluation process results in an unrealized exchange rate gain of 50 EUR (1000 USD * [80/100 EUR/USD – 75/100 EUR/USD]), which is recorded on the ledger account for unrealized exchange rate profits. The next screenshot shows the corresponding voucher. EN_4
On 5 February 2015 the vendor invoice is paid by using a wire transfer. This transfer is – as usual – recorded in a vendor payment journal in the Accounts Payable module. Because the USD appreciated to 87 EUR/100 USD at the time the payment is made, an exchange rate loss of 70 EUR is realized. This loss is recorded on the ledger account for realized exchange rate losses. At the same time, Dynamics AX cancels the previously recorded unrealized exchange rate gain of 50 EUR. The next screens show the payment made and the corresponding vouchers created. EN_6 EN_7Please note that the payment is made via a transfer account – in my example account “109053 Transfer Bank Charlie”. This transfer account is cleared on 8 February when the bank transaction is posted (see the next screenshot). EN_8As the EUR/USD exchange rate changed from 87 EUR/USD (at the time the payment was made) to 83 EUR/USD (at the time the bank transaction was posted), a balance of 40 EUR remains on the payment transfer account. This balance can be identified in the following screenshot.
EN_9To clear this balance on the transfer account the foreign currency revaluation process is run in the General Ledger module for the respective account. The outcome of this revaluation process is a balance of 0 EUR on the transfer account.EN_10EN_11If one takes a close look at the foreign currency posting that is made to clear the balance on the transfer account, one can identify that the balance was posted on the ledger account that is used for recording unrealized exchange rate losses (see the next screenshot). EN_12Posting the remaining balance of 40 EUR against the unrealized exchange rate loss account is wrong because the transaction represents a realized loss. The next figure summarizes all transactions that have been recorded for this example and highlights the remaining realized and unrealized exchange rate gains and losses recorded in Dynamics AX.EN_12aEven though the total exchange loss of 30 EUR is correct from an overall perspective, the elements that make up this total amount are wrong. That is, if your company reports realized and unrealized currency exchange gains/losses separately, your profit and loss statement shows incorrect figures.

Possible solution
In this section I will show a possible solution to the problem illustrated. This solution requires some minor system modifications that are described next.

Step 1
The first modification required is extending the Base Enum values “FinancialGain” and “FinancialLoss” of the “CurrencyGainLossAccountType” Base Enum. In my example I simply added the country codes for Germany (DE) and the USA (US). Please see the next screenshot for details.
EN_13

Step 2
The next (optional) step is to change the following two labels: @GLS109008 and @GLS109005. EN_14

Step 3
Step three requires extending the LedgerExchAdj class by the same country codes that have been used in step 1. Please note that those codes are entered slightly different (#isoDE, #isoUS).
EN_15

Step 4
A similar adjustment is required in the ledger form as illustrated in the following screenshot.
EN_16

The result of those modifications is that two new exchange rate transaction types are available in the ledger form (see the next screenshot).
EN_17

With this setup I repeat the previously recorded transactions on another (“fresh”) bank account and its corresponding transfer account. All steps and vouchers are identical except the voucher that is generated when running the foreign currency revaluation in GL for the transfer account.

As you can identify from the next screenshot, after having done the previously described system modifications, Dynamics AX does now record the exchange rate adjustment of 40 EUR on the newly setup account that represents a realized exchange rate adjustment. This change allows you reporting currency exchange rate differences correctly in your profit and loss statement.
EN_21Please note that the foreign currency revaluation process in the Bank module is also affected by the changes described here. For details, please see my previous post.

AP Payment Distribution Functionality

14 Saturday Mar 2015

Posted by Ludwig Reinhard in Accounts Payable

≈ Comments Off on AP Payment Distribution Functionality

Tags

Dynamics AX 2012, Payment distribution, Vendor payments

The following screenshots will provide you with a brief overview of the Accounts Payable (AP) payment distribution functionality that is available in vendor payment journals. For the purpose of this illustration the following three bank accounts are setup.EN_3-1After setting up the three bank accounts a General Ledger (GL) journal is used to post the following initial balances:
EN_3-2

Thereafter, three different AP methods of payments are setup – one for each bank account. EN_3-3Based on the assumption that payments will primarily be made from the Deutsche Bank bank account, all vendor records are setup with the default “SEPA (DB)” method of payment.EN_3-4After finalizing all the setup, a number of invoices is posted for the vendors DE-002, DE-003 and DE-004.EN_3-5After posting the different invoices a payment proposal is created in a vendor payment journal.EN_3-6The result of this payment proposal can be identified in the vendor payment proposal form. As one might expect, Dynamics AX suggests paying all invoices from the Deutsche Bank bank account because previously the SEPA (DB) method of payment was setup as the default method of payment for each vendor. This can be identified from the lower part of the following screenshot. EN_3-7If you open the balance control window you can identify that all invoices cannot be paid from the Deutsche Bank bank account because paying all invoices from this bank account would result in a negative balance of 117000 EUR on this account.EN_3-8To avoid this negative balance, the following payment priority is specified in the last column of the payment distribution window. EN_3-9The priority specified defines that vendor payments should primarily be made from the Citibank bank account. If funds on the Citibank account are insufficient, money from the Deutsche Bank bank account shall be used and so on. Leaving the payment distribution window with “OK” results in the following changed vendor payment proposal.EN_3-10As one can identify from this window, 15000 EUR will be paid from the Citibank account to pay an invoice of vendor DE-003. From Deutsche Bank another 17000 EUR (12000 EUR + 5000 EUR) will be paid and the remainder will be paid from the ING DIBA bank account. The following illustrations summarize how Dynamics AX distributes the payment amounts to the different bank accounts.
EN_3-11b
If you confirm the payment proposal by clicking the transfer button, the payment lines will be transferred to the vendor payment journal where you can create your payments and post the journal as usual.EN_3-12

Newer posts →

Microsoft BizApps Deutschland Podcast

Dynamics UserGroup Deutschland

Project Accounting Book – Part 2

Project accounting book

Categories

  • Accounts Payable
  • Accounts Receivable
  • Bank Management
  • Book reviews
  • Budgeting
  • Cost accounting
  • Fixed Assets
  • General Ledger
  • Inventory
  • Management Reporter
  • Miscellaneous
  • Podcast
  • PowerPlatform
  • Project
  • Sustainability
  • Uncategorized

Tags

Advanced bank reconciliation AI Artificial Intelligence Automation Azure Bank reconciliation BizApps Budgeting Controlling Copilot Copilot Studio Cost accounting module Cost center accounting D365 D365FO Dynamics 365 Dynamics AX Dynamics AX 2012 Electronic reporting Email Environment Flow Global Warming invoice invoice recording IOT LEGO Management Accounting Modern Finance MS Flow MT940 Podcast PowerApps Power Apps PowerAutomate Power Automate PowerPlatform Power Platform Process Mining Project RPA Security SharePoint Sustainability Sustainability Accounting Sustainability Manager Tax time recording WBS workflow

Follow Blog via Email

Enter your email address to follow this blog and receive notifications of new posts by email.

Subcribe

  • RSS - Posts
  • RSS - Comments

Legal

  • Disclaimer

Important Websites

  • Microsoft BizApps Links

Archives

  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015

Powered by WordPress.com.

 

Loading Comments...