Skip to main content

How to resolve error: "INVALID_FIELD:Cannot specify both an external ID reference ProrationPolicy and a salesforce id, ProrationPolicyId:—"

Cause and solution to this errors surfaced during the deployment of RCA object: ProductSellingModelOption

Mateusz Kochanowicz avatar
Written by Mateusz Kochanowicz
Updated over a week ago

Error overview

You may run into this deployment error when deploying ProductSellingModelOption in Gearset.

This Revenue Cloud Object is a part of Gearset's PCM Configuration filter:

Explanation of the error

When troubleshooting this issue, we have learned that ProductSellingModelOption records without a ProrationPolicy reference set will, when the ProductSellingModel is a term-based model, automatically populate the reference with Default Proration Policy.

However, when deploying ProductSellingModelOption records that reference a One Time ProductSellingModel, the ProrationPolicy reference field should not be present (as you cannot set a ProrationPolicy for outside of term-based situations).

This error occurs when mixing ProductSellingModelOptions that use both One Time and Term Based ProductSellingModel references in a single deployment batch.

Resolution

Gearset allows you to deploy ProductSellingModelOption records without the ProrationPolicyId reference field by using the "Fields to exclude" feature of the filter editor.

Separate the deployment of ProductSellingModelOption (PSMO) records into two separate batches:

  • Any PSMO records that reference a OneTime ProductSellingModel should be in their own batch.

    • For this batch, use the filter editor to exclude the ProrationPolicyId reference field on the ProductSellingModelOption type.

  • Any PSMO records that reference Evergreen or TermBased ProductSellingModels should be in a different batch.

This is where you'd be adding the field name to exclude:

Feedback

Let us know via the In-app chat if you have any questions or feedback related to this issue, and we'll be happy to advise further.

Did this answer your question?