Partner Tracking — Data Model Guide
How the Salesforce objects connect, and three worked examples. Everything hangs off the partner Account — or, for plain compliance, off a Compliance Requirement with no tier.
Account (Partner)
Vendor Tier Target (the pursuit)
Compliance Requirement (the gate)
Catalog
Completion
Revenue
Universal compliance
How the objects link
Account (Type = OEM Partner)
The partner — single source of truth.
Partner_Achieved_Revenue__c is rolled up by Apex.↓ Vendor_Tier_Target.
Partner__cVendor Tier Target
"We are pursuing THIS vendor tier." Holds
Target_Tier__c, Required_Revenue__c, Tier_Deadline__c, Committed__c. Achieved_Revenue__c mirrors the Account's rolled-up revenue.↓ Compliance_Requirement.
Tier_Target__cCompliance Requirement
"For this tier, you need N of X."
Required_Count__c = N. Requirement_Type__c picks the branch below.↓ Type = Training ·
Program__cTraining Program
Catalog of certs/courses.
Cert_Level__c (Sales/Technical/…), Partner__c.↑ counts of · Training.
Program__cTraining
A person holds the cert.
Contact__c, Credential_Issued__c, Expiry_Date__c.↓ Type = Activity ·
Activity_Type__cActivity Type
Catalog of activities (Tech Talk, Lab, Deal Reg, Agreement…).
↑ counts of · Partner_Activity.
Activity_Type__cPartner Activity
An activity was completed.
Completed__c, Contact__c, Completed_Date__c.Revenue lane (separate from requirements): Closed Won Opportunity → Opportunity Product (line) → its Product carries
OEM_Account__c = the partner. The PartnerRevenueRollup Apex batch sums those lines into Account.Partner_Achieved_Revenue__c, which the tier target mirrors as Achieved_Revenue__c and compares to Required_Revenue__c.A tier is GREEN when every requirement's completions ≥ its
Required_Count__c, revenue (if gated) is met, and the deadline hasn't passed.Example 1 — Gold: 2 trainings + revenue
Two people must hold a cert, and the partner must hit a revenue number.
AccountAcme Corp · Type = OEM Partner
↓ Partner__c
Vendor Tier TargetAcme — Gold · Required_Revenue = $250,000 · Committed
↓ Tier_Target__c
Compliance RequirementTraining: Acme Sales Cert · Required_Count = 2
Training Jane D. — Acme Sales Cert (issued)
Training Raj P. — Acme Sales Cert (issued)
Revenue Won opps with Acme products →
Partner_Achieved_Revenue__c ≥ $250kGREEN when: 2 Sales Cert holders and achieved revenue ≥ $250,000.
Example 2 — Platinum: 6 certs (3 technical + 3 sales) + 2 tech talks + revenue
One pursuit, FOUR requirement rows (each its own gate) plus the revenue gate.
AccountGlobex · Type = OEM Partner
↓ Partner__c
Vendor Tier TargetGlobex — Platinum · Required_Revenue = $1,000,000 · Committed
↓ Tier_Target__c · four requirement rows
RequirementTraining: Technical Cert · Cert_Level Technical · Required_Count = 3
RequirementTraining: Sales Cert · Cert_Level Sales · Required_Count = 3
RequirementActivity: Tech Talk · Activity_Type = Tech Talk · Required_Count = 2
3× Training Technical Cert holders
3× Training Sales Cert holders
2× Partner Activity Tech Talks (Completed)
Revenue Won opps with Globex products →
Partner_Achieved_Revenue__c ≥ $1,000,000GREEN when: 3 Technical + 3 Sales cert holders and 2 completed Tech Talks and revenue ≥ $1,000,000.
Example 3 — Plain compliance (no partner, no tier)
No Account and no Vendor Tier Target. The requirement stands alone and applies to people by role — the "compliance" use of the same Compliance Requirement object.
Compliance RequirementTraining: ISO 27001 Awareness · Tier_Target__c = (blank) · Applicability = All Employees · Required_Count = 1
↓ Program__c
Training Program ISO 27001 Awareness (no Partner)
↓ applies to · Contact.Training_Role__c
Contact Every active employee
Training Jane D. — ISO 27001 (issued)
Training Raj P. — ISO 27001 (issued)
Compliant when: each in-scope person has 1 valid (issued, unexpired) ISO 27001 training. No revenue, no tier, no Account involved.
Set Tier_Target__c → a partner pursuit (Examples 1 & 2), or leave it blank → org/role compliance (Example 3). That single lookup is what makes a requirement partner-related or not.
