For our purposes, memberships are organization-based, with individuals receiving membership benefits by being designated as an employee. This works great.

However, I have the use case where there is a subsidiary company that is part of the larger member company, but has a different name. This matters because if a person registers for an event under the subsidiary company name, they are not recognized as a member and fall out of the member smart group, which we use for mailing list, access, and other purposes.

I created a new membership type called Subsidiary Members and set the relationship as "Partner of," then applied relationship that to a subsidiary of a member company. My hope was that this organization would gain membership via their parent organization, which would then pass down to employees. However, the subsidiary company is still showing as a non-member.

Is there another way I can make this work?

Running CiviCRM 4.7.29 on Joomla 3.8.3

2 Answers 2


If I understand you correctly, you have a Main Member type inherited by 'employee' relationship. The primary members are companies. You also have a Subsid Member type inherited by 'employee' where there the primary members are subsid companies connected to the parent company with a 'Partner of' relationship. You have tried changing the Main Member type to be inheritable by both 'employee' and 'partner' but the subdid employees are not inheriting Main Member.

That should result in your subsid companies (the orgs) inheriting Main Member type. ... but that is not related to the Subsid Member type that is inheritable by your subsid company employees.

What I think you would like is for the Main Member type to be inheritable by both 'employees' and 'employees' of 'partners' - but so far as I know Membership is only inheritable by one level of relationship. In other situations you might use a smart group, but that is not applicable to membership inheritance.

So, some possibilities:

1) You could write an extension (or maybe use CiviRules) so that employees of subsid companies are also given a direct relationship (eg 'subsid-employee') to the parent company. You would need to check for changes on the 'employee' and 'partner' relationships to add and remove the 'subsid-employee' relationship. Main Member then becomes inheritable by 'employee' and 'subsid-employee'.

2) You could write a different extension (or CiviRules) to maintain the status of Subsid Member type based on the Main Member status and 'partner' relationship but I don't think the Subsid Member type particularly helps you.

3) Alternatively you could enhance Membership inheritance to be inheritable based on group membership as well as relationship.

4) Taking things further, some kind of 'smart relationship' feature could be useful in other situations. The existing features for second-degree relationships and smart groups could provide starting points - but that might be a larger project than you wanted :-)


This post on Github suggests that what you're trying to do is normally possible but is currently bugged. If applying the patch at that link doesn't solve your problem, you may want to ask the patch author if you're missing a step.

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.