I have a following validation rule for "need to allow to create opportunities and be able to update opportunities as long as the deal stage is not funded. and do not allow them to change the stage to funded. "

Everything working fine except "they should not be able to edit an opportunity if it's stage is Funded"

AND( !ISNEW(), ISPICKVAL( StageName , "Funded"), $Profile.Name = "System Admin" )

3 Answers 3


One solution (tip of the hat to @sfdcfox) is to change the Opportunity.recordType upon stage=funded to 'FundedOpportunity'. Then create a new page layout where all the fields are read only and assign that page layout to Opportunities of recordtype ='FundedOpportunity'

Otherwise, you can brute force this by adding validation rules to every editable field checking for a change in value

Or...you can use an override of the Edit button with a VF page + page action controller that redirects to the View page if stage is funded, else to the edit page.


Formulas have to evaluate to true in order to fire. Therefore, the "profile name" check should be inverted:

    ISPICKVAL(StageName, "Funded"),
    $Profile.Name<>"System Admin"

As a side note, I'm pretty sure it's "System Administrator", not "System Admin", which would have made it ineffective for everybody.


The first part of OR will stop them from going to Funded as a non admin, and the 2nd part wl stop them from editing when it is.

ISPICKVAL(StageName, "Closed Won"),
ISPICKVAL(StageName, "Funded"))),
$Profile.Name <> "System Administrator")

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .