How to associate ACCOUNTS and CONTACTS via API

How to associate ACCOUNTS and CONTACTS via API

I am trying to synchronize Zoho with my local DB for a web app I have developed.  In my web app my Accounts and Contacts are associated using a Unique ID Numbers which is stored in the background.  

So like this  Accounts.Account ID == Contacts.Account ID means this contact is a member of this account

Zoho however from my understanding links using the Account Name field.  So like this

Accounts.Account Name == Contacts.Account Name

This is problematic because the Unique ID is best an unchanging number to ensure the integrity of the db.  

So I did a test in the CRM (Not via API) and created two accounts with the name "Test Account" and then create a contact with the name "Test Contact" and I was able to manually associate it with a specific account even though they both contained the same Account Name.  

So this tells me there is an underlying Account ID which is the real means of association between Accounts and Contacts.  I exported both the ACCOUNTS and CONTACTS to a CSV and found in CONTACTS there is a field named "ACCOUNT NAME" and "ACCOUNT ID".  The Account ID is the Zoho CRMID.  

So I created two accounts:  Zoho IDs:  987016000000423005 and 987016000000423009.  I did a test insert record via the API to see if I can update this property using the following XML

So 
<Contacts><row no="1">
<FL val="Account ID">987016000000423009</FL>
<FL val="Account Name">Test Account</FL>
  <FL val="Last Name">Test Last Name</FL>
</row></Contacts>'

However whenever I run this script it always sets the Account to link to Account ID  987016000000423005 .  I assume this is because they both have the same Account Name and  987016000000423005  is the first Account it finds with that name.


So.  ideally I should be able to update this "Account ID" field, however that does not appear to be the case.  

Has anyone experienced something similar?  Any suggestions on how to associate these records without having to have numeric data in the ACCOUNT NAME field?