Based on your hierarchy, the translation will be done on entity B because on node A.B the parent currency is different from the entity currency
I have not do this before, but have you tried to populate the currencies of entity B via a rule which will copy the rates that you will have input to entity C?
We use the UDA field to flag specific accounts to use specific rates, but I *think* you could apply this to entities as well
Our routine goes as follows
'This script translates UD1 specified Balance Sheet accounts using historical override rates
If HS.Entity.UD1("")= "FXType1" Then
'HRate1 = HS.GetRate("A#HISTRate1")
' AccList = HS.Account.List("","UsesHISTRate1")
' For each Acc in AccList
' HS.Trans "A#"& Acc&".C4#", "A#"& Acc&".C4#", HRate1, ""
HRate2 = HS.GetRate("A#HISTRate2")
AccList = HS.Account.List("","UsesHISTRate2")
For each Acc in AccList
HS.Trans "A#"& Acc&".C4#", "A#"& Acc&".C4#", HRate2, ""
After a couple of unsuccessful tries, I was finally able to get the job done by using your suggestion. I had to create a currency account that can consolidate, and then with the rules populate that account with the rate input in Entity C. Once the consolidation runs through Entity B, the rate in my temporary account is copied into the default currency account, and then HFM uses this new currency rate to translate Entity B.
Thanks for the suggestion!