Approval required check is performed to determine whether a document requires approval and if the approval process needs to be executed.

CPQ Approvals: For CPQ Approvals, an Approval Required check is a default system behavior and an approval process is not evaluated unless the Approval status is set to Approval Required by the approval required check. Preview, Submit for Approval / Request Approval actions are only enabled when approval status is set to Approval Required. For CPQ Approvals, entry criteria filters need to be defined on the Product Configuration object at a minimum. In addition, the entry criteria filters can also be defined on the Line Item object if approval is needed based on line item parameters.

Approval Required Check on Pricing: For CPQ Approvals, the system auto executes Approval Required check on Reprice, if Approvals is used.

Approval Required Check on Quote Update: For CPQ approvals, the system can also execute Approval Required Check on Quote update if Quote Header parameters are used in Approval Required criteria. You can use Quote Header parameters in CPQ Approval Required check using Formula Fields (Approvals) in Entry Criteria Search Filters.

Approval Required check does not evaluate the approval process but checks the entry criteria of the approval process. The purpose of the approval required check is to reduce the performance overhead of performing detailed process evaluations to determine whether approval is required.

Approval criteria or conditions are defined using Search Filters (Approvals) of type Entry Criteria.

Approval Required Check is primarily used with CPQ approvals, but can also be used with approval on other objects. 

Use the following guidelines while defining entry criteria filters:

Entry Criteria Filters: Search Filters (Approvals) of type Entry Criteria are used in Approval Required Check.

Entry Criteria filters on the Primary object: These entry criteria filters are defined for the approval process context object. For example, if the approval process is defined for Quote/Proposal then Entry Criteria filters need to be defined on the Quote/Proposal object.

Entry Criteria filters on the Child Object: If the approval conditions are also based on the parameters from the child objects of the approval context object then entry criteria filters are also defined on the related child context object. For example, if an approval process is defined Quote/Proposal, but the approval conditions are also based on the proposal line item object then Entry Criteria filters need to be defined on the Quote/Proposal line items object also. 

Entry Criteria using parameters related Parent Object: Entry criteria filters can also be defined on a given object using reference fields from the related parent object. For example, if an approval process is defined on Quote/Proposal then Entry Criteria filters need to be defined on the Quote/Proposal object. However, if approval conditions are also based on fields from Opportunity object (parent of Quote/Proposal) then you can define Entry Criteria fields using Formula Fields (Approvals). In the above example, you will define Formula Fields (Approvals) on Quote/Proposal object using fields from Opportunity object. Once these Formula Fields (Approvals) are defined, the fields appear in the field selection list for defining Entry Criteria filters on the Quote/Proposal object. 

Guidelines for Defining Entry Criteria Filters: You can define multiple Search Filters (Approvals) of type Entry Criteria on a given object. The system will evaluate all these entry criteria filters.