Why is the contact type read only in the summary tab for a contact? The 'contact_type' field is easily edited directly in the database, but I can't find a built in civicrm form to do this.

2 Answers 2


It isn't allowed and with very good reason! People do not morph into organisations (in my experience), therefore a CRM does not allow it. What is the problem you are trying to solve? Bad import?

  • The public facing signup forms only allow a new contact to sign up as an individual. But some of our membership types are for households and should be marked as household contacts. When an admin tidys up later on they have no way to switch the contact to household. This is a limitation of the default civicrm membership forms. Would take some custom programming to fix.
    – P a u l
    Oct 19, 2016 at 16:15
  • The answer then is to use Webform if on Drupal, or whatever WordPress/Joomla's equivalent is. Hacking the data to compensate for an inappropriate form is 100% nonsense, sorry.
    – JohnFF
    Oct 20, 2016 at 6:57
  • Well an inappropriate form is all they offer. Webform add on does not appear to be available for wordpress or I would try it out. I disagree with you on editing the database directly. I am only doing exactly what the software should do based on form input, albeit displaced in time.
    – P a u l
    Oct 25, 2016 at 1:12

Click the Edit button on top of the summary? That will allow you to edit the contact type. Not as nice is the inline edit but it works.

  • Using the Edit button I still see no affordance for setting type. This is on wordpress and civicrm 4.7.6.
    – P a u l
    Apr 21, 2016 at 16:04
  • I do, in Wordpress. Do you actually have contact sub types? The option will only come up with Edit if you have configured additional contact sub types. Apr 23, 2016 at 13:25
  • No we just use the standard types so that's just peachy. I fixed the issue for now using a sql update with inner join command against the contacts and memberships tables.
    – P a u l
    Apr 23, 2016 at 16:06
  • 4
    The UI only lets you change between subtypes belonging to the same contact type. There are different fields for say, individuals and organisations (eg no first or last name for orgs), so changing basic types is not simply a case of choosing a different value from an option list. If the fix you describe as "using a sql update with inner join command against the contacts and memberships tables" just involved changing the field contact.contact_type, then you could have infomation in the contact table that doesn't belong to the new contact type. That could create problems at a later date.
    – JoAnne
    Apr 24, 2016 at 9:46
  • 1
    It is possible to change contact type with the api. I just changed a Household in a Individual. Advantage: it updates the sort_namen and the display_name. However the field household_name is not cleared. Nov 17, 2016 at 15:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.