In Nolan Business Solutions' 'Intercompany Postings' module for Dynamics GP, there is an option which is setup in the Destination Company. This setting controls how the posting is created when it arrives from the Source Company. 

If the Setting is "Functional Currency" the intercompany posting will be created in the Source Companies Functional Currency

If the Setting is "Originating Currency" the intercompany posting will be created in the Source Transactions Originating Currency 

If the Destination Company will be receiving transactions in anything but its Functional Currency, the Setup of the Destination Company must be able to convert the Source Company Functional or transaction Originating Currency to its own Functional Currency.

In my example below I am in the US Company with a USD functional receiving intercompany charges posted in the UK in GBP. The US Company must be setup to receive GBP Transactions.


Tools >> Setup >> System >> Currency

This is a system level setup so the currency only needs to be setup once per system.

Exchange Table

Tools >> Setup >> System >> Exchange Table

An Exchange table should be setup to hold the rates to convert the currency. The naming convention is “FMB – (Convert from currency)/(Convert To currency)”. In the example below, you could read this as “FMB – convert Australian Dollars to Sterling”. You can see in the title bar of the window that this Exchange Table is in the FDML company which is the UK company so this exchange rate will be used when a transaction in AUD is being posted and we need to also know the Sterling equivalent.

The Rate calculation method and rate defaults tell the system how to work out which rate to use when converting. We discuss exchange rates below which can be seen by pressing the Rates Button.

The Rate that we are using is 1.7756 so we need to divide any value entered in AUD by 1.7756 to get the Sterling equivalent.

If, when Dynamics GP is looking in the exchange rate table, there is no exchange rate for the exact day of the transaction, Dynamics GP will look to see if there is a rate setup where the date of the transaction falls in the date range entered. If you can still find no exchange rate, the “Previous Date” setting tells it to find the rate on the closest previous date. In the example of the exchange rates below, if I entered a transaction with a date of 2nd April 2018, the system would use the rate in force between 1st March and 1st April of 1.7756. 

The Unlimited setting tells Dynamics GP that it can look back over an unlimited period of time to find a rate, this is not limited to a number of days but this could be setup in the Exchange rate table setup if you wanted.

Exchange Rates

Card >> System >> Exchange Table

As described above this rate is setup in the UK Company and tells Dynamics DP the rate to convert AUD to Sterling in the period of 1st March 2018 to 1st April 2018. It will divide the AUD value entered by 1.7756 to find the Sterling equivalent.

NOTE: In the Australian Company, you will find a matching Exchange rate Table called “FMB – STG/AUD” setup to multiply the rate of 1.7756.  It tells Dynamics GP the rate to convert Sterling to AUD in the period of 1st March 2018 to 1st April 2018. It will multiply the Sterling value entered by 1.7756 to find the AUD equivalent.

Multi-Currency Access

Tools >> Setup >> Multi Currency Access

In the Multicurrency Access setup, you can specify which company can access which currency and which exchange rate to use.

For example at FMB you will see that both the UK company and the Australian company have access to Sterling and AUD. The UK has access to the “FMB – AUD/STG” as it needs to convert incoming AUD transactions to Sterling and the Australian company has access to “FMB – STG/AUD” as it needs to convert incoming Sterling transactions to AUD.

Rate Types

Financial >> Setup >> Rate Types

It may be that you wish to use certain rate types for different transactions. You can setup an exchange Table to hold Buying Rates, another to hold Selling Rates and a third to hold the Average Rate. This window allows you to setup Rate Types and assign Exchange Tables to the types.

FMB only using one Rate Type called “AVERAGE” so I have assigned my FMB – AUD/STG Exchange Table to the AVERAGE Rate Type. This means that when a journal is entered in the UK company with a AUD currency it looks to the AVERAGE rate type and sees that the FMB – AUD/STG Exchange Rate table should be used and in line with the rules above will divide the AUD value entered by the exchange rate of 1.7756 which it finds in March 2018 to get the Sterling equivalent.

Sub-Ledger Rate Type Defaulting

In Sales and Purchasing the Rate type to use on a transaction is defaulted from the setup of the Customer or Supplier when you specify that the Customer or Supplier transaction are entered in a certain currency. 

Allowing Currency to be posted to Accounts

Cards >> Financial >> Account Currencies

All Accounts will allow the companies Functional Currency to be posted to it however if you want to post a foreign currency transaction to the account you must specify that this is permissible. This relates to the expense account and the Intercompany Due To account.

The example below is the Intercompany Account in the UK Company holding the intercompany balance of transactions with Australia. So when transactions come in using AUD these will be able to post to this account. Likewise, the expense account that it is posting to on the other side of the transaction must be setup to use the AUD currency.

Test the Setup

Transactions >> Financial >> Transaction Entry 

You can test the setup by entering (but not posting) a test transaction to confirm that Dynamics GP picks up the correct exchange rate and that the multiply/divide is the right way around.

e.g. Enter a journal in the UK Company using AUD, you will see on the line that it is using 1,775 and if you enter AUD $1.00 then view the transaction in Functional Currency you will see £0.56. This is correct as per the table below.

Setup as at March 2018

Below is a table of companies, exchange rate tables and exchange rates setup in March 2018

Setting up InterCompany Accounts

There is an Intercompany relationship defined between the different country entities of FDM. Each relationship is defined by an Intercompany Account which is setup in both companies which enables the accounting for the Intercompany Transactions.

In the example below I have picked on Luxembourg which needs to be setup with an intercompany relationship with the Belgian Company and the UK Company.

Setup the General Ledger Accounts

A Nominal Ledger code of 1107 has been defined to transact the intercompany transactions with the UK (Company ID – FDML) and 1116 for Belgium (Company ID – EURBE). These accounts should be setup in both the Luxembourg Company and the partner company.

The Accounts are setup with the default category of Cash and as Balance Sheet Accounts with a typical balance of debit.

Setup the General Ledge Account Currency 

For the UK originating transactions, Luxembourg will be receiving transactions in Sterling (STG).

For the Brussels originating transactions, Luxembourg will be receiving transactions in Euros (EUROS). 

These currencies should be setup to be able to translate the incoming currency into the Luxembourg functional currency of Euros (EUROS). As Luxembourg and Brussels have the same functional currency there does not need to be an exchange rate configured.

The relevant Intercompany Account as specified in step 1 and any expense/revenue accounts that will be posted to via intercompany must also be setup with the relevant Currency.

Setup the InterCompany Relationship

Tools >> Setup >> Financial >> Intercompany Postings >> Alternate Account Setup

On entry to this window, nothing is displayed. This is because there might be many entries which take a long time to load hence the user is given an option to select a filter before the relationships are displayed. At FDM, there will not be that many relationships so pressing the Refresh button with no filter will show the current Intercompany relationships.

Initially, there are none. 

Enter the Source company Intercompany account, the destination company and the Destination Company Intercompany Account which is the same account as the Source company Intercompany account.

This means that any transaction posted to 00-00-1107 will generate a posting to the FDM UK Company and post to the Intercompany account 00-00-1107 in the FDM UK Company and the specified expense/revenue account.

Similarly, any transaction posted to 00-00-1116 will generate a posting to the Belgian company and post to the Intercompany account 00-00-1116 in the Belgian company and the specified expense/revenue account.

Check the InterCompany Setup Options 

Tools >> Setup >> Financial >> InterCompany Postings >> InterCompany Setup

The “Use Exchange Rate” option of “Transaction Functional Currency” where the intercompany posting will be created in the Source Companies Functional Currency.

Tick the Destination Accounts required which will ask the users to enter the destination expense or revenue account if they enter the Intercompany account on the transaction.

Tick the boxes to Auto post Source Company Transactions, Auto Create Destination Transactions, Auto Post Destination Transactions and also to copy the Source GL and Source PM references as descriptions on the destination transactions.

These settings will ensure that the correct data is sent and automatically posted into the destination companies along with the relevant reference detail.

For more information on Nolan Business Solutions InterCompany Postings module or how Microsoft Dynamics GP can help your business, why not get in touch with us by emailing or calling 01252 811 663

var _glc =_glc || []; _glc.push('all_ag9zfmNsaWNrZGVza2NoYXRyDwsSBXVzZXJzGMTP7pYDDA'); var glcpath = (('https:' == document.location.protocol) ? '' : ''); var glcp = (('https:' == document.location.protocol) ? 'https://' : 'http://'); var glcspt = document.createElement('script'); glcspt.type = 'text/javascript'; glcspt.async = true; glcspt.src = glcpath + 'livechat-new.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(glcspt, s);