CRM - Domain Invariants & Business Rules
The immutable business laws governing CRM identity integrity, deal finality, SLA enforcement, and lead disqualification.
Domain Invariants & Business Rules (“The Law”)
The CRM domain enforces a strict set of business invariants. These rules are non-negotiable constraints that protect relationship integrity, sales forecast accuracy, service commitments, and regulatory compliance.
1. Identity Uniqueness & Deduplication
Contacts and Accounts must enforce identity integrity based on canonical email and phone keys. Duplicate records require explicit merging rather than silent overwriting.
Uniqueness Rules
| Rule | Invariant |
|---|---|
| Canonical Email Key | A contact’s primary email address is normalized and treated as a canonical identity key. |
| Canonical Phone Key | A contact’s primary phone number is normalized (country code, digits only) and treated as a secondary identity key. |
| Account Name Deduplication | Accounts are deduplicated by a combination of legal name, domain, and tax identifier where available. |
| No Silent Overwrites | When a duplicate is detected, the system requires an explicit merge decision; data is never silently overwritten. |
| Merge Preservation | Merging records preserves all historical touchpoints, deals, tickets, and campaign attributions under the surviving record. |
Duplicate Detection Hierarchy
| Match Confidence | Action |
|---|---|
| Exact | Primary email or phone matches exactly. |
| High | Name + company + phone/email domain match. |
| Medium | Name + company or name + email domain match. |
| Low | Partial name or domain similarity. |
Exact and high-confidence matches trigger merge review; medium and low matches are surfaced as suggestions.
2. Non-Reversible Deal Won State
Once a Deal reaches Closed-Won, its commercial parameters are sealed permanently. Retroactive manipulation of the pipeline stage, value, or close date is forbidden.
Closed-Won Rules
| Rule | Invariant |
|---|---|
| Stage Lock | Closed-Won deals cannot be moved back to an open pipeline stage. |
| Value Freeze | Deal value, currency, close date, and win probability are sealed at closure. |
| Downstream Trigger | DealWon event triggers downstream orchestration in Sales, FMS, and potentially Inventory. |
| Correction Path | Errors discovered after closure are corrected through compensating documents (credit, cancellation, or amendment), not by reopening the deal. |
Business Consequence
Closed-Won is a terminal, irreversible state. If a deal was recorded incorrectly:
- A Deal Amendment record may document the correction.
- A Credit / Cancellation may be initiated in Sales or FMS.
- A new deal may be created for renewed or expanded business.
The original Closed-Won record remains intact for forecast and commission audit purposes.
3. Strict SLA Timers
Ticket SLA breaches are mathematically determined based on operational calendar hours. SLA timers cannot be bypassed, paused arbitrarily, or manually extended without documented reason.
SLA Timer Rules
| Rule | Invariant |
|---|---|
| Calendar-Based Calculation | SLA elapsed time counts only within configured business hours and time zone. |
| Customer Wait Pause | Timer pauses when ticket status is “Awaiting Customer Response” and resumes on customer reply. |
| No Manual Extension | SLA targets cannot be manually extended; extensions require escalation policy or SLA plan change with audit reason. |
| Breach Determination | Breach is determined when elapsed operational time exceeds target, regardless of agent assignment or workload. |
| Escalation Cascade | Breach triggers predefined escalation rules that cannot be overridden by the assigned agent. |
SLA Calculation Formula
$$ \text{Elapsed SLA Time} = \sum (\text{Business Hours Intervals During Active Status}) $$
$$ \text{SLA Breach} = \text{Elapsed SLA Time} > \text{SLA Target} $$
4. Explicit Disqualification Audit
A Lead cannot transition to Disqualified without capturing a validated reason code. Disqualification is a deliberate, auditable action.
Disqualification Rules
| Rule | Invariant |
|---|---|
| Mandatory Reason Code | Every Disqualified lead must have a reason code selected from a controlled list. |
| Free-Text Elaboration | Optional but encouraged detail explaining the disqualification context. |
| Requalification Path | A disqualified lead can be requalified later, but the original disqualification reason remains in the audit history. |
| No Reversion Without Audit | Reverting a Disqualified lead to an active state requires a new qualification event and reason. |
Standard Disqualification Reason Codes
| Reason Code | Use Case |
|---|---|
| No Budget | Lead lacks funding or approved budget. |
| No Authority | Lead cannot influence or approve purchase. |
| No Need | Product/service does not address lead’s need. |
| No Timeline | No foreseeable purchase timeframe. |
| Wrong Geography | Lead operates outside serviceable region. |
| Competitor | Lead is affiliated with or represents a competitor. |
| Invalid Data | Contact information is fake, bounced, or unreachable. |
| Not a Fit | Lead profile does not match ideal customer criteria. |
5. Privacy & Consent Integrity
Contact and account records must respect privacy regulations and consent preferences. Marketing communications require valid consent or legitimate interest justification.
Consent Rules
| Rule | Invariant |
|---|---|
| Consent Required | Marketing emails and calls require documented consent or legal basis. |
| Consent Timestamp | Every consent record includes source, timestamp, and method. |
| Withdrawal honored | Opt-out or consent withdrawal is applied immediately and propagated to engagement tools. |
| Minimal Data Collection | Only data necessary for the stated purpose is collected and retained. |
Right to be Forgotten
- Personal data may be pseudonymized to preserve historical transactional integrity while removing identifiable attributes.
- Anonymized records retain activity metadata but cannot be reassociated with the individual.
- Deletion is only performed where legal basis no longer exists and no overriding business or legal obligation requires retention.
6. Activity Attribution Integrity
Every touchpoint must be attributable to a contact, account, or lead. Orphan activities are not permitted.
Attribution Rules
| Rule | Invariant |
|---|---|
| Required Parent | Every touchpoint links to at least one Contact, Account, Lead, Deal, or Ticket. |
| Owner Assignment | Every touchpoint has an owner or agent responsible for the action. |
| Timestamp Integrity | Touchpoint timestamp cannot be in the future and should not be modified after creation except for correction with audit. |
| Campaign Linkage | Marketing touchpoints must reference the originating campaign where applicable. |
7. Pipeline Stage Progression Rules
Deals must advance through pipeline stages in defined order unless explicitly configured for skip or regression.
Progression Rules
| Rule | Invariant |
|---|---|
| Sequential Advancement | Deals advance to the next stage in order unless an explicit skip policy exists. |
| No Skip Without Criteria | Skipping stages requires completed required activities or manager authorization. |
| Backward Movement Audit | Moving a deal to an earlier stage requires reason code and is recorded in audit history. |
| Stage Rotting | Deals exceeding maximum days in stage trigger stale-deal alerts for sales management. |
8. Summary of “The Law”
| Invariant | Violation Consequence |
|---|---|
| Contacts and accounts must be unique; duplicates require explicit merge. | Duplicate creation blocked or queued for merge review. |
| Closed-Won deals are sealed and irreversible. | Retroactive stage/value changes rejected; corrections via compensating documents. |
| SLA breaches are determined by calendar math, not agent discretion. | Breach event emitted; escalation cascade triggered. |
| Disqualification requires validated reason code. | Transition to Disqualified blocked until reason provided. |
| Privacy consent must be documented and honored. | Communication suppressed; compliance alert raised. |
| Touchpoints require attribution and owner. | Activity creation rejected or flagged as orphan. |
| Pipeline stage progression follows defined rules. | Invalid stage transition blocked or audited. |
These invariants collectively ensure that the CRM domain remains the authoritative source of truth for commercial relationships while preserving forecast integrity, service accountability, and regulatory compliance.