Establish a relationship between Contacts module and a Custom Module using a custom field ?

Establish a relationship between Contacts module and a Custom Module using a custom field ?

Hi Zoho Developer Team,

I have two modules called Users and Transactions to be integrated to my version of Zoho CRM. These two modules are interconnected via unique field User ID.I am planning to insert all the information of Users  module to Contacts module via Zoho API. For transactions, I will be creating custom module and migrate all the transaction data there.

By default, linkage works using Contact Name(when I lookup Contacts Module in the Transactions module). However, since I don't have unique names hence I cannot rely on Contact Name for establishing linkage hence I would like to use my unique field User ID for relationship and lookup using Contact Name.

As per conversation with Zoho Technical Team, its possible (IF YOU ARE PUSHING YOUR DATA USING API) by creation of custom function and if they have created one on my account which looks as follows.

Name     update contact name
Module associated    Transactions
Argument Mapping
Map the arguments of this function with the appropriate Zoho CRM fields. You can also apply custom values to these arguments.
Name           Value
transId =  Transactions.Transactions Id
userid   =  Transactions.User ID

My question goes to Zoho Developers here, if its possible then what am I going wrong ?

Here is the XML used for mapping to insert Contacts and Transactions.

//for contacts
            <Contacts>
                    <row no="1">
                    <FL val="Last Name">Zoho</FL>
                    <FL val="Email"> zoho1@test.com</FL>
                    <FL val="User ID">1</FL>
                    <FL val="Department">CG</FL>
                    <FL val="Phone">999999999</FL>
                    <FL val="Fax">99999999</FL>
                    <FL val="Mobile">99989989</FL>
                    <FL val="Assistant">John</FL>
                    </row>
                    <row no="2">
                    <FL val="Last Name">Zoho</FL>
                    <FL val="Email"> zoho2@test.com</FL>
                    <FL val="User ID">2</FL>
                    <FL val="Department">CG</FL>
                    <FL val="Phone">999999999</FL>
                    <FL val="Fax">99999999</FL>
                    <FL val="Mobile">99989989</FL>
                    <FL val="Assistant">John</FL>
                    </row>
               </Contacts>

//for transactions
                  <CustomModule1>
                        <row no="1">
                        <FL val="Transactions Name">Transaction 1</FL>
                        <FL val="Transaction ID">1</FL>
                        <FL val="User ID">1</FL>
                        <FL val="Contact Name">Zoho</FL>
                        <FL val="Transaction Date">28/02/2017</FL>
                        <FL val="Pay Method">Paypal</FL>
                        <FL val="Payment Date">28/02/2017</FL>
                        </row>
                        <row no="2">
                        <FL val="Transactions Name">Transaction 2</FL>
                        <FL val="Transaction ID">2</FL>
                        <FL val="User ID">2</FL>
                        <FL val="Contact Name">Zoho</FL>
                        <FL val="Transaction Date">28/02/2017</FL>
                        <FL val="Pay Method">Paypal</FL>
                        <FL val="Payment Date">28/02/2017</FL>
                        </row>
   </CustomModule1>

These should go to one transaction each for two different users named Zoho Developers. But in currently both the transactions go to the firstly inserted contact (since I think its still based on name as its reference and User ID is ineffectual here(perhaps some extra mapping is required in XML data ?) and I am not sure what the custom function written is trying to achieve).

Is this something that's not achievable in current Zoho CRM or am I missing something along the process ?