How to Map Account fields to Contact fields

You probably have data fields in your Account records (like Annual Revenues, Number of Employees, Industry Vertical, etc.) that you’d like to be able to have in Contact records too.

Perhaps you want that information more visible to sales reps, and perhaps you need to be able to be map and sync fields at the individual Contact level with other connected tools like a marketing automation system or email deployment tool.

You would think this task would be easy and obvious to accomplish in That’s only half true, which is probably why you’ve ended up reading this post. The good news is that it IS easy. Sadly, it’s not so obvious.

Here are the easy, step-by-step instructions (Administrator account access is required):

  1. Go into Setup > App Setup > Customize > Contacts > Fields, and create a new custom field.
  2. In Wizard Step 1, create a new custom Contact field with Data Type: Formula.
  3. In Wizard Step 2, enter a field label, then select the data format (text for Industry, currency for Annual Revenue, etc.).
  4. In Wizard Step 3, click the “Advanced Formula” tab
  5. click “Insert Field” button
  6. choose Contact > Account > whichever Account field you want to map your Contact field to (i.e. Annual Revenue)
  7. click “Insert” button
  8. set Blank Field Handling to “Treat blank fields as blanks”
  9. In Wizard Step 4, choose the page layout you want the custom Contact field to be added to, and click “Save”

That’s it!

Then, to get this data synced into another tool, you’ll just have to map this custom field to a custom field in the other system.

45 thoughts on “How to Map Account fields to Contact fields

  1. is there a way to do the opposite? that is.. link a custom contact field to a custom account field so that data held at the contact level can be shown on the account level?

    • Haven’t had a need for that. What sort of data are you trying to push up to the Account record? I suspect it’s not as straightforward given the many-to-one relationships of multiple Contacts to an Account.

  2. Great post!  Is there a way to only show this data on a “Primary Contact” contact record.  We wanted to differentiate between the main contact and a billing contact (i.e. a student’s mother whose credit card is on file to pay tuition).  We only wanted to show the Account field on that student’s contact record and not on the mother’s contact record.  Both of which are associated to one Account.  
    In addition, can you do this formula off a checkbox or only text and numeric fields?

  3. The field I am trying to import from accounts is a multi select picklist, I have tried but was unable to create it…is there a way to have this done?

    i.e we have accounts categorized under Industries Oil/Gas etc. however, they may be E+P and/or services type companies hence the multi select picklist. I would like to have this automatically show up on contacts when loading.

    Is there a way to do this? I appreciate any insight

  4. I must be doing something wrong.
    At “point 6” I can´t find “Account” under “Contacts”. I only find excisting fields frpn Contacts.

    What do I have to do to be able to find account-fileds and other tab´s fields here?

    • I’ll have to take a look in our instance to see if things have changed since I wrote this. I’ll report back.

      (one possibility that comes to mind is the access level your account has?)

  5. Does not work for Multi Picklists to pull data from a multi on the Account page to a multi on the Contact page. Apparently its not allowed… which is a pain.

      • A regular Picklist is not allowed either, even if the data type and corresponding values are the same. The error given is “Picklist fields are only supported in certain functions”, and links to this article…

        I really need this to work. I am using Group Edition. I even tried creating custom groups with lookups, but it seems picklists are not supported. Any idea on how to make this work for picklists??

        Thanks in advance!

    • You may have found this already, Ray. Just in case you haven’t, there IS a way to get it working with multi picklists using IF statements. I’ve tested it and it works successfully. Might become unmanageable with a really long picklist, but in most cases it should be fine.

  6. So I’ve been able to successfully set this up with a Picklist field in the Account record (for the formula, enter “TEXT ( Account.FieldName)”), but not with a multi-select Picklist field. I get the same error message you guys have run into.

    I’ve opened a ticket with SFDC Support to see if this is a bug, or if it is intended to generate an error.

    • Nolin, I just tried your approach and I’m not getting any of the picklist values to show up. No syntax errors either. I have a custom Contact Field (type=formula, text) named “Account ID/Status”, and using the formula – TEXT (Account.ID_Status_A__c) …it will save, and the field shows up on the contact record. But it’s always blank with a lock icon to the right. Am I doing something wrong?

      • Aha! Nevermind, it worked. Thanks!! Now, is there a way to make the Contact Field “bi-directional” – so I can edit either the Contact or Account Field, and have it update both ways? Thanks again!

        • Not that I’m aware of, Kyle. Formula fields are uni-directional (hence the lock icon). I suspect that’s in part because you could have different values for different Contacts associated with the same Account. Could get messy in a hurry.

          You might get a better answer from SFDC support?

  7. How does it determine which record to use at the account level, if for example, there are several different values in the contact field for annual revenue?

  8. Nolin. Thank you! Implemented this today and it solves a big problem we were having. Much appreciated!

  9. Hey Nolin – Got a good one I think.. How can you add the Account Description field to a correlating Contact Record? This would allow someone to see what is happening at the Account level, while working a specific contact. I went through the steps you suggested but the Description field on the Account does not seem to be available within the formula screen.

    • Not sure, Dave. That’s beyond the scope of how we have needed this to work. We have been using it to get account data points to sync down into marketing automation system records. SFDC Support might have an answer for you?

  10. Hi, I added the custom field but the information is not populating. Does it only map the field for new contacts? IS there any way to map account fields to existing contacts?

  11. Hi,

    Very helpful, but like the first poster, I’m attempting to do something like the opposite. I am actually trying to link data between opportunities and accounts and have an opportunity field be updated onto an account page. Like contacts, opportunities have a many-to-one relationship to accounts and so this strategy doesn’t seem to work (in step 6, opportunity fields are not available for selection). Any suggestions?

  12. Very, very helpful! Great post and thanks to Nolin for writing, and Kyle’s helpful comments. I was able to map the Type field from the Account record to the Contact record. This is really useful from a marketing perspective when identifying and segmenting prospects, former clients, and current clients. For reference, my formula was: TEXT (Account.Type)

  13. Hi, this is a great thread and has very clear and concise instructions. I linked a custom Account Lookup field (looks up a contact person) to an opportunity and instead of the name of the Contact populating in the Opportunity page, I see that Contact person’s Salesforce ID. Any advice? Thanks so much.

  14. Hi Nolin–these instructions were really helpful. I am trying to populate a field in my contact records (‘referral source’) with info from a field in the opportunity record. This doesn’t appear to be an option when creating an advanced formula field. How is that done? Thanks!

  15. Didn’t see to work – have a custom account field (picklist) – thought this would solve it but get error: “Error: Field Partner_Status__c is a picklist field. Picklist fields are only supported in certain functions. Tell me more”

Leave a Reply

Your email address will not be published. Required fields are marked *