Party Model (Industry Cloud) Data Model Template
Pre-built data model for Salesforce Party Model used in Industry Clouds (Financial Services Cloud, Health Cloud, etc.) using flowchart LR format with color coding.
Objects Included
| Object |
Type |
Description |
| Account |
STD |
Person or Business accounts |
| Contact |
STD |
Individual contacts |
| AccountContactRelation |
STD |
Account-Contact junction (ACR) |
| AccountContactRole |
STD |
Role-based relationship |
| ContactContactRelation |
Managed |
Contact-to-Contact relationships |
| AccountAccountRelation |
Managed |
Account-to-Account relationships |
Query Org Metadata (Recommended)
Enrich diagram with live org data:
python3 ~/.claude/plugins/marketplaces/sf-skills/sf-diagram-mermaid/scripts/query-org-metadata.py \
--objects Account,Contact,AccountContactRelation,AccountContactRole \
--target-org myorg
Mermaid Template (Preferred)
Left-to-right flowchart with color coding.
%%{init: {"flowchart": {"nodeSpacing": 50, "rankSpacing": 80}} }%%
flowchart LR
%% ═══════════════════════════════════════════════════════════════
%% PARTY MODEL (INDUSTRY CLOUD) DATA MODEL
%% LEGEND: LK = Lookup (-->), MD = Master-Detail (==>)
%% Colors: Blue = Standard, Orange = Custom, Green = External
%% ═══════════════════════════════════════════════════════════════
%% Core Party Objects
Account["Account<br/>(count)"]
Contact["Contact<br/>(count)"]
%% Standard Relationships
ACR["AccountContactRelation<br/>(count)"]
ACRole["AccountContactRole<br/>(count)"]
%% Industry Cloud Extensions (Managed)
CCR["ContactContactRelation<br/>(count)"]
AAR["AccountAccountRelation<br/>(count)"]
%% Standard Account-Contact
Account -->|"LK"| Contact
Account -->|"LK"| ACR
Contact -->|"LK"| ACR
%% Opportunity Roles
Account -->|"LK"| ACRole
Contact -->|"LK"| ACRole
%% Contact-to-Contact (FSC/Health)
Contact -->|"LK"| CCR
Contact -->|"RelatedContact"| CCR
%% Account-to-Account (FSC/Health)
Account -->|"LK"| AAR
Account -->|"RelatedAccount"| AAR
%% Standard Objects - Sky Blue
style Account fill:#bae6fd,stroke:#0369a1,color:#1f2937
style Contact fill:#bae6fd,stroke:#0369a1,color:#1f2937
style ACR fill:#bae6fd,stroke:#0369a1,color:#1f2937
style ACRole fill:#bae6fd,stroke:#0369a1,color:#1f2937
style CCR fill:#bae6fd,stroke:#0369a1,color:#1f2937
style AAR fill:#bae6fd,stroke:#0369a1,color:#1f2937
Key Concepts
Person Accounts vs Business Accounts
| Type |
RecordType |
IsPersonAccount |
| Business |
Business_Account |
false |
| Person |
Person_Account |
true |
Person Accounts merge Account + Contact into single record.
AccountContactRelation (ACR)
- Indirect relationship between Account and Contact
- Enables many-to-many Account↔Contact
- Has
Roles multi-select picklist
IsDirect flag indicates primary relationship
Industry Cloud Extensions
| Object |
Cloud |
Purpose |
| ContactContactRelation |
FSC, Health |
Family/household relationships |
| AccountAccountRelation |
FSC, Health |
Business relationships |
| FinancialAccount |
FSC |
Financial accounts |
| HealthCloudGA__EhrPatient__c |
Health |
Patient records |
Person Account Model
Shows Person Account relationships:
%%{init: {"flowchart": {"nodeSpacing": 50, "rankSpacing": 80}} }%%
flowchart LR
PersonAccount["Account<br/>(IsPersonAccount=true)"]
ACR["AccountContactRelation"]
CCR["ContactContactRelation"]
PersonAccount -->|"Indirect ACR"| ACR
PersonAccount -->|"Person-to-Person"| CCR
style PersonAccount fill:#bae6fd,stroke:#0369a1,color:#1f2937
style ACR fill:#bae6fd,stroke:#0369a1,color:#1f2937
style CCR fill:#bae6fd,stroke:#0369a1,color:#1f2937
Financial Services Cloud Extension
%%{init: {"flowchart": {"nodeSpacing": 50, "rankSpacing": 80}} }%%
flowchart LR
Account["Account<br/>(count)"]
Contact["Contact<br/>(count)"]
FinAcct["FinancialAccount<br/>(count)"]
FinAcctRole["FinancialAccountRole<br/>(count)"]
CCR["ContactContactRelation<br/>(count)"]
Account -->|"LK"| FinAcct
FinAcct ==>|"MD"| FinAcctRole
Contact -->|"LK"| FinAcctRole
Contact -->|"LK"| CCR
%% Standard - Sky Blue
style Account fill:#bae6fd,stroke:#0369a1,color:#1f2937
style Contact fill:#bae6fd,stroke:#0369a1,color:#1f2937
%% FSC Managed - Orange (treated as custom)
style FinAcct fill:#fed7aa,stroke:#c2410c,color:#1f2937
style FinAcctRole fill:#fed7aa,stroke:#c2410c,color:#1f2937
style CCR fill:#fed7aa,stroke:#c2410c,color:#1f2937
ASCII Fallback
┌─────────────────────────────────────────────────────────────────────────────┐
│ PARTY MODEL (INDUSTRY CLOUD) DATA MODEL (L→R) │
│ Legend: LK = Lookup (-->), MD = Master-Detail (==>) │
└─────────────────────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────────────────┐
│ ACCOUNT │──────────── LK ─────────────>│ ACCOUNT_CONTACT_RELATION │
│ (count) │ │ (count) │
└──────┬───────┘ └────────────┬─────────────┘
│ │
│ LK │ LK
▼ │
┌──────────────┐ │
│ CONTACT │<─────────────────────────────────────────┘
│ (count) │
└──────┬───────┘
│
│ LK (both sides)
▼
┌──────────────────────────┐
│ CONTACT_CONTACT_RELATION │ (FSC/Health Cloud)
│ (count) │
└──────────────────────────┘
┌──────────────┐ ┌──────────────────────────┐
│ ACCOUNT │──────────── LK ─────────────>│ ACCOUNT_ACCOUNT_RELATION │
│ (parent) │ │ (count) │
└──────────────┘ └──────────────────────────┘
▲ │
└───────────────── RelatedAccount ──────────────────┘
Key Relationships Summary
| Parent |
Child |
Type |
Behavior |
| Account |
Contact |
LK |
Primary account |
| Account |
AccountContactRelation |
LK |
Indirect relationships |
| Contact |
AccountContactRelation |
LK |
Indirect relationships |
| Account |
AccountContactRole |
LK |
Opportunity roles |
| Contact |
AccountContactRole |
LK |
Opportunity roles |
| Contact |
ContactContactRelation |
LK |
Person-to-person |
| Account |
AccountAccountRelation |
LK |
Business-to-business |
Limits & Considerations
| Limit |
Value |
| ACR per Account |
No hard limit |
| ACR per Contact |
No hard limit |
| Roles per ACR |
Multi-select (limited by picklist size) |
| Person Account fields |
Merged Account + Contact fields |
Industry Cloud Packages
| Cloud |
Key Objects |
| Financial Services |
FinancialAccount, FinancialAccountRole, Securities, Holdings |
| Health Cloud |
CarePlan, CareProgram, EhrPatient, Medication |
| Manufacturing |
SalesAgreement, RebateProgram, VisitPlan |
| Consumer Goods |
RetailStore, StoreProduct, Promotion |
Best Practices
- Use
flowchart LR - Left-to-right flow for readability
- Keep objects simple - Name + record count only
- Replace
(count) placeholders - With actual counts from query
- Add LDV indicator - For objects >2M records:
LDV[~4M]
- Color code object types - Blue=Standard, Orange=Custom/Managed, Green=External