Nullify SM-specific flags when processing Zuora callouts for SM subscriptions
Problem
In somewhat rare cases, customers may decide to change their subscription from a SM plan to a SaaS plan in the middle of their term. This type of transaction would be sales-assisted. When this happens, it's possible that some of the super sonics flags on the subscription are no longer relevant since a few are SM-specific:
TurnOnCloudLicensing__c
ContractOperationalMetrics__c
TurnOnOperationalMetrics__c
As reported in https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/4304#note_949097816, we've seen where these fields were not unset when the plan was changes to SaaS which can lead to confusion and problems in the Seat Link service.
Proposal
Let's consider updating the ZuoraCallbackWorker
so that it nullifies the SM-specific fields (TurnOnCloudLicensing__c
, ContractOperationalMetrics__c
, TurnOnOperationalMetrics__c
) if they have a non-null value and if the subscription has a SM subscription plan.
We may want to consult with @gitlab-com/business-technology/enterprise-apps/zuora-architects
before starting this work since it involves Zuora business logic.