---
schema_version: "1"
id: 0b17d026bcf6b60912caa596a8d3a2c303addc55fd2eea2d579bbed114cb0f95
title: Financial Services Cloud Custom Validation Rules
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/financial_services_cloud_object_reference/fsc_api_custom_validation_rules.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.financial_services_cloud_object_reference.meta/financial_services_cloud_object_reference/fsc_api_custom_validation_rules.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 47e7a53a4569e96a5c26b52582c878cf94eab82855d487478876a10caa7354c7
description: Custom validation rules ensure the integrity of your Financial Services Cloud data.
---
# Financial Services Cloud Custom Validation Rules

Custom validation rules ensure the integrity of your Financial Services Cloud data.

Custom validation rules use the FinServ namespace prefix. For example, FinServ\_\_NonPortalUserReferrer is a custom validation rule on Account that validates that internal referrers are Salesforce users.

## Financial Services Cloud Quick Reference for Validation Rules

| Validation Rule Name | Host Object | Default Status |
| --- | --- | --- |
| NonPortalUserReferrer | Account | Active |
| NotAllowingConversionFromIndividual (retired) | Account | Inactive |
| NotAllowingConversionToIndividual (retired) | Account | Inactive |
| SingleReferredByEntryByRecord | Account | Active |
| AARCanOnlyBeDeactivated | AccountAccountRelation | Active |
| AccountAndRelatedAccountCannotBeSame | AccountAccountRelation | Active |
| AccountCannotBeAnIndividual | AccountAccountRelation | Active |
| CannotCreateInactiveRecord | AccountAccountRelation | Active |
| InactiveAARCannotBeEdited | AccountAccountRelation | Active |
| NoJointOwnerForIndividualAccounts | AssetsAndLiabilities | Active |
| PrimaryAndJointOwnerCannotBeSame | AssetsAndLiabilities | Active |
| BirthdateCannotBeInFuture | Contact | Active |
| CannotHaveMoreThanOnePrimaryAddress | Contact | Active |
| ContactCannotBeAssociatedToHousehold | Contact | Active |
| IndividualCannotHaveMoreThanOneContact (retired) | Contact | Inactive |
| NonPortalUserReferrer | Contact | Active |
| NotAllowingConversionFromIndividual (retired) | Contact | Inactive |
| NotAllowingConversionToIndividual (retired) | Contact | Inactive |
| SingleReferredByEntryByRecord | Contact | Active |
| CannotCreateInactiveRecord | ContactContactRelation | Active |
| CCRCanOnlyBeDeactivated | ContactContactRelation | Active |
| ContactAndRelatedContactCannotBeSame | ContactContactRelation | Active |
| InactiveCCRCannotBeEdited | ContactContactRelation | Active |
| YearOfGradCannotBeInFuture | Education | Active |
| EndDateCannotBeInFuture | Employment | Active |
| StartDateCannotBeInFuture | Employment | Active |
| StartDateCannotBeLaterThanEndDate | Employment | Active |
| ManagedAndHeldAwayCannotBeBothSelected | FinancialAccount | Active |
| NoJointOwnerForIndividualAccounts | FinancialAccount | Active |
| PrimaryAndJointOwnerCannotBeSame | FinancialAccount | Active |
| CannotCreateInactiveRecord | FinancialAccountRole | Active |
| FARCannotBeModified | FinancialAccountRole | Active |
| InactiveFARCannotBeEdited | FinancialAccountRole | Active |
| InactiveRecordCannotBeReactivated (retired) | FinancialAccountRole | Active |
| OwnershipRolesCannotBeDeactivated | FinancialAccountRole | Active |
| OwnershipRolesCannotBeModified (retired) | FinancialAccountRole | Active |
| RelatedAccountOrContactRequired | FinancialAccountRole | Active |
| RoleIsMandatory | FinancialAccountRole | Active |
| ExpDateCannotBeLaterThanStart | IdentificationDocument | Active |
| IssueDateCannotBeInFuture | IdentificationDocument | Active |
| VerificationDateTimeCannotBeInFuture | IdentificationDocument | Active |
| NonPortalUserReferrer | Lead | Active |
| SingleReferredByEntryByRecord | Lead | Active |
| NonPortalUserReferrer | Opportunity | Active |
| SingleReferredByEntryByRecord | Opportunity | Active |
| ProhibitUpdates | ReciprocalRole | Active |
| AccountOrFinancialAccountRequired | Revenue | Active |

## Validation Rule Details

<table class="featureTable sort_table" summary="">


          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d14957e666">Object</th>

              <th class="featureTableHeader  " id="d14957e669">Validation Rule Details</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Account</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">NonPortalUserReferrer: Validation fails if the value of the <span class="keyword parmname">UserType</span>
                  field on the ReferredByUser is not <kbd class="ph userinput">Standard</kbd>.</p>

                <p class="p">NotAllowingConversionFromIndividual (retired): This validation rule has been retired.</p>

                <p class="p">NotAllowingConversionToIndividual (retired): This validation rule has been retired.</p>

                <p class="p">SingleReferredByEntryByRecord: Validation fails if both
                  <span class="keyword parmname">ReferredByUser__c</span> and <span class="keyword parmname">ReferredByContact__c</span> are
                  not blank.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">AccountAccountRelation</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">AARCanOnlyBeDeactivated: Validation fails if <span class="keyword parmname">Account__c</span> or
                  <span class="keyword parmname">RelatedAccount__c</span> is changed on an existing record.
                </p>

                <p class="p">AccountAndRelatedAccountCannotBeSame: Validation fails if <span class="keyword parmname">Account__c</span>
                  is the same as <span class="keyword parmname">RelatedAccount__c</span>.</p>

                <p class="p">AccountCannotBeAnIndividual: : Validation fails if the
                  <span class="keyword parmname">IndividualType__c</span> field on the account or related account is set to
                  <kbd class="ph userinput">Individual</kbd>.
                </p>

                <p class="p">CannotCreateInactiveRecord: : Validation fails if a record is marked inactive when
                  created.</p>

                <p class="p">InactiveAARCannotBeEdited: Validation fails if a user tries to edit an existing record
                  that’s marked inactive.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">AssetsAndLiabilities</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">NoJointOwnerForIndividualAccounts: Validation fails if the
                  <span class="keyword parmname">JointOwner__c</span> field is not blank and<span class="keyword parmname">Ownership__c</span>
                  field value is <kbd class="ph userinput">Individual</kbd>.
                </p>

                <p class="p">PrimaryAndJointOwnerCannotBeSame: Validation fails if the
                  <span class="keyword parmname">PrimaryOwner__c</span> is the same as the
                  <span class="keyword parmname">JointOwner__c</span>.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Contact</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">BirthdateCannotBeInFuture: Validation fails if <span class="keyword parmname">birthdate__c</span> is in
                  the future.</p>

                <p class="p">CannotHaveMoreThanOnePrimaryAddress: Validation fails if more than one address (mailing,
                  billing, shipping, or other) is marked as primary.</p>

                <p class="p">ContactCannotBeAssociatedToHousehold: Validation fails if account record type is
                  <kbd class="ph userinput">IndustriesHousehold</kbd>.
                </p>

                <p class="p">IndividualCannotHaveMoreThanOneContact (retired): This validation rule has been
                  retired.</p>

                <p class="p">NonPortalUserReferrer: Validation fails if the value of the <span class="keyword parmname">UserType</span>
                  field on the ReferredByUser is not <kbd class="ph userinput">Standard</kbd>.</p>

                <p class="p">NotAllowingConversionFromIndividual (retired): This validation rule has been retired.</p>

                <p class="p">NotAllowingConversionToIndividual (retired): This validation rule has been retired.</p>

                <p class="p">SingleReferredByEntryByRecord: Validation fails if both
                  <span class="keyword parmname">ReferredByUser__c</span> and <span class="keyword parmname">ReferredByContact__c</span> are
                  not blank.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">ContactContactRelation</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">CannotCreateInactiveRecord: Validation fails if a record is marked inactive when
                  created.</p>

                <p class="p">CCRCanOnlyBeDeactivated: Validation fails if the contact, related contact, or role is
                  changed on an existing record.</p>

                <p class="p">ContactAndRelatedContactCannotBeSame: Validation fails if the contact is the same as the
                  related contact.</p>

                <p class="p">InactiveCCRCannotBeEdited: Validation fails if a user tries to edit an existing record
                  that’s marked inactive.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Education</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">YearOfGradCannotBeInFuture: Validation fails if the year of
                  <span class="keyword parmname">GraduationDate__c</span> is after this year.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Employment</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">EndDateCannotBeInFuture: Validation fails if <span class="keyword parmname">EndDate__c</span> is after
                  today.</p>

                <p class="p">StartDateCannotBeInFuture: Validation fails if <span class="keyword parmname">StartDate__c</span> is after
                  today.</p>

                <p class="p">StartDateCannotBeLaterThanEndDate: Validation fails if <span class="keyword parmname">StartDate__c</span>
                  is later than <span class="keyword parmname">EndDate__c</span>.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">FinancialAccount</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">ManagedAndHeldAwayCannotBeBothSelected: Validation fails if both
                  <span class="keyword parmname">Managed__c</span> and <span class="keyword parmname">HeldAway__c</span> are checked.
                </p>

                <p class="p">NoJointOwnerForIndividualAccounts: Validation fails if
                  <span class="keyword parmname">JointOwner__c</span>is not blank and <span class="keyword parmname">Ownership__c</span> is
                  <kbd class="ph userinput">Individual</kbd>.
                </p>

                <p class="p">PrimaryAndJointOwnerCannotBeSame: Validation fails if
                  <span class="keyword parmname">PrimaryOwner__c</span> is the same as
                  <span class="keyword parmname">JointOwner__c</span>.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">FinancialAccountRole</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">CannotCreateInactiveRecord: Validation fails if the <span class="keyword parmname">EndDate__c</span> is
                  blank and the record is inactive.</p>

                <p class="p">FARCannotBeModified: Validation fails if <span class="keyword parmname">RelatedAccount__c</span>,
                  <span class="keyword parmname">RelatedContact__c</span>, <span class="keyword parmname">FinancialAccount__c</span>, or
                  <span class="keyword parmname">Role__c</span> is changed on an existing record.
                </p>

                <p class="p">InactiveFARCannotBeEdited: Validation fails when any edits are made to an existing
                  inactive record.</p>

                <p class="p">InactiveRecordCannotBeReactivated (retired): This validation rule has been retired.</p>

                <p class="p">OwnershipRolesCannotBeDeactivated: Validation fails if an inactive record is updated to
                  active.</p>

                <p class="p">OwnershipRolesCannotBeModified (retired): This validation rule has been retired.</p>

                <p class="p">RelatedAccountOrContactRequired: Validation fails if
                  <span class="keyword parmname">RelatedAccount__c</span> and <span class="keyword parmname">RelatedContact__c</span> are both
                  blank.
                </p>

                <p class="p">RoleIsMandatory: Validation fails if <span class="keyword parmname">Role</span> is blank.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">IdentificationDocument</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">ExpDateCannotBeLaterThanStart: Validation fails if <span class="keyword parmname">IssueDate__c</span> is
                  after the <span class="keyword parmname">ExpirationDate__c</span>.</p>

                <p class="p">IssueDateCannotBeInFuture: Validation fails if <span class="keyword parmname">IssueDate__c</span> is after
                  today.</p>

                <p class="p">VerificationDateTimeCannotBeInFuture: Validation fails if
                  <span class="keyword parmname">VerificationOn__c</span> is in the future.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Lead</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">NonPortalUserReferrer: Validation fails if the value of the <span class="keyword parmname">UserType</span>
                  field on the ReferredByUser is not <kbd class="ph userinput">Standard</kbd>.</p>

                <p class="p">SingleReferredByEntryByRecord: Validation fails if <span class="keyword parmname">ReferredByUser__c</span>
                  and <span class="keyword parmname">ReferredByContact__c</span> are both blank or both not blank.</p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Opportunity</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">NonPortalUserReferrer: Validation fails if the value of the <span class="keyword parmname">UserType</span>
                  field on the ReferredByUser is not <kbd class="ph userinput">Standard</kbd>.</p>

                <p class="p">SingleReferredByEntryByRecord: Validation fails if both
                  <span class="keyword parmname">ReferredByUser__c</span> and <span class="keyword parmname">ReferredByContact__c</span> are
                  not blank.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">ReciprocalRole</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">ProhibitUpdates: Validation fails if <span class="keyword parmname">CreateInverseRole__c</span>,
                  <span class="keyword parmname">Name</span>, <span class="keyword parmname">InverseRole__c</span>, or
                  <span class="keyword parmname">RecordTypeId</span> is changed.
                </p>

              </td>

            </tr>

            <tr>
              <td class="entry" headers="d14957e666" data-title="Object">Revenue</td>

              <td class="entry" headers="d14957e669" data-title="Validation Rule Details">
                <p class="p">AccountOrFinancialAccountRequired: Validation fails if <span class="keyword parmname">Account__c</span>
                  and <span class="keyword parmname">FinancialAccount__c</span> are both blank or both not blank.</p>

              </td>

            </tr>

          </tbody>

        </table>