Working with an org that uses FSC, and wants to link outside contacts (parented to different account) to a Household (professional contacts such as CPA, attorney, etc). This is preferred to setting up Contact-to-Contact relationships (SFDC FSC best practice) because the firm tends to look at relationships with these professionals at a Household level, plus it is easier to maintain one relationship rather than two.
We are able to add the Contact relationship just fine using the Related Contacts list (Add Relationship), but when we go to the Household group in the relationship map, a validation error is thrown when trying to save, even if no subsequent change is made, that says "Only Person Accounts can be added as Members of a Household." Why is this validation triggered only when editing the Household group, but not when the Account Contact Relationship is created? Is there some hidden Account-to-Account relationship created when an Account Contact Relationship is created via trigger? And is there no way to relate Contacts to Households successfully in FSC?
#Financial Services Cloud
The reason the validation fires when you edit the Household in the relationship map but not when you create the Account Contact Relationship is that these are two different code paths writing to two different objects, and only one of them runs the membership validation.
When you add a relationship through the Related Contacts list, you're creating an AccountContactRelation record. That's the standard association of a contact to an account, and it does not enforce Household membership rules, because an ACR is just a relationship link, not a membership assertion. Your CPA and attorney contacts, parented to their own accounts, link fine here.
When you open the Household group in the relationship map and save, you're invoking FSC's group membership logic, which writes to the AccountContactRelation with the Household context but runs through the FSC-managed validation that governs who can be a member of a Household. That validation enforces the rule you're hitting: in FSC, Household members are modeled as individuals, and FSC expects Household membership to resolve to Person Accounts (or the individual model equivalent). The relationship map's save path re-evaluates all members of the group against that rule, which is why it throws even when you made no change, it's validating the whole group membership on save, and your externally-parented business contacts fail that check because they aren't Person Accounts.
So to your specific questions.
Is there a hidden Account-to-Account relationship created? Not exactly an Account-to-Account record, but yes, there's more happening under the covers than a single link. FSC's group membership and the relationship map operate on the group's member set, and the map's save recomputes and validates that full set. The ACR creation path skips that group-level validation entirely, which is the whole reason you see the discrepancy. It's not that one creates a hidden object the other doesn't, it's that one triggers the group membership validator and the other doesn't touch it.
Is there no way to relate contacts to Households in FSC? You can relate them, you just can't make them Household members through the relationship map, and that distinction is the crux. The relationship exists and is valid at the ACR level. What fails is trying to represent professional contacts as members of the Household group, because FSC reserves Household membership for the individuals who belong to that household, not their external advisors.
The approach I'd take: keep the professional contacts linked via AccountContactRelation, which you've already got working, and surface them at the Household level through a related list or a custom Lightning component on the Household record rather than through group membership. You get the household-level visibility the firm wants without triggering the membership validator, because you're presenting the relationships in the household context rather than asserting them as members. If the driver is really "we want to see the household's professional advisors in one place," that's a presentation problem, solvable with a related list or component, not a membership problem.
If you genuinely need these to behave as first-class relationships with reciprocal roles, FSC's Reciprocal Relationships (the party-to-party relationship model) is the sanctioned path, and you can configure role types like CPA and Attorney there. It's slightly more to maintain than your single-ACR wish, but it's the model-aligned way and it won't fight you on save.