Former Member

# FX_Override and FX_Diff_Acc

We are using BPC 7.5 for the Microsoft platform, in the FX translation logic we use FX_Override() to control the balance of several accounts in USD (equity and intercompany accounts). My understanding of the function is that the difference between the default translation and the override amount is supposed to be written to the account specified in the fx_diff parameter. However, all I cam able to get in the FX_Diff account is the value entered as the override amount. I have checked the member properties of the fx_diff account and did not see anything unusual. I have also tried creating a new fx_diff account (just in case something somewhere else was writing to the original on); the results were the same.

Does anyone have a suggestion on what we might be doing wrong, or where we should be looking to correct the issue? Included below is an example of what we have in the script logic, as well as an example of the values we are getting back from the system.

//FX Override Logic

FX_OVERRIDE( OR_ICPayRec, ICPayRec, fx_diff_ICPayRec, USD)

*COMMIT

//End Script Logic

Assuming the inputs below and a default exchange rate of 1.25 Euro/USD

ICPayRec = 1,000

OR_ICPayRec = 1,200

The following is the result from our system

ICPayRec (LC) = 1,000

ICPayRec (USD) = 1,200

OR_ICPayRec (LC) = 1,200

FX_Diff_ICPayRec (USD) = 1,200

I would have expected the FX_Diff_ICPayRec to have a value of 50 based on the calculation below:

ICPayRec (LC)* Default FX Rate = ICPayRec (USD) - Override Value = FX_Diff 1,000 * 1.25 = 1,250 - 1,200 = 50

10|10000 characters needed characters exceeded

### Related questions

• Former Member
Posted on Aug 30, 2012 at 06:09 PM

Hi Jim,

In order to use this function, the currency conversion must have happened. Have you already done the currency conversion?

It usually takes the difference, So, if you have run the currency conversion, then it will get the difference as 1200 - 0 (0 - because converted value is not available).

Hope this helps.