Set Zuora Account to the correct Entity during web checkout
Problem
The current process of associating a Customer Account and its related objects to the appropriate GitLab selling entity is manual, time-consuming, and results in separate Accounts and related objects being created that represent the same Customer subscription.
One of the reasons that this manual process has to happen is because the initial account creation (via CPQ and the Web Store) defaults to US Inc.
entity, and has to be changed at renewal to match the country of the SoldTo contact.
- GitLab selling entity management is controlled by the Zuora Account.Entity__c custom field.
- Entity to Country mapping is defined here https://about.gitlab.com/handbook/sales/field-operations/sales-operations/deal-desk/#quote-entity-information.
The web portal doesn't set the Zuora Account.Entity__c
at all, and relies on the custom field's default value (which is set to "US Inc.").
Proposal
⚠ Note: There's companion functionality built in Zuora Workflow. We will want to test both this issue and Zuora Workflow in staging to make sure both work together as expected.
Create a feature flag to enable this functionality, we want to test this in staging first.
When a customer is purchasing GitLab for the very first time (we are creating Zuora account for the first time), update the logic to the following:
- Set the appropriate value for
Account.Entity__c
according to this mapping. - Set the appropriate value for
Account.CommunicationProfileId
according to this mapping. - Set the appropriate value for
Account.TaxCompanyCode
according to this mapping.
SoldTo.Country to Account.Entity__c mapping
Customer’s SoldTo Country | Account.Entity__c | Account.TaxCompanyCode | Account.CommunicationProfileId |
---|---|---|---|
Netherlands (NL) |
|
|
Silent Profile Id
|
Germany (DE) |
|
|
Silent Profile Id
|
United Kingdom (UK) |
|
|
Silent Profile Id
|
Australia (AU) |
|
|
Silent Profile Id
|
|
|
|
|
All countries outside of NL, DE, UK, AU |
|
|
Default Profile Id
|
Important scope
This logic is only applicable when creating a Zuora account for the first time (i.e. do not update these values, only set them on the net new account creation).
Result
- Less manual changes required by the Billing team at the time of renewal.
- Customers who switch from web direct to sales assisted orders are not impacted the negative experience and side effects of a billing entity change.
Reported Examples
- https://gitlab.zendesk.com/agent/tickets/238823
- https://gitlab.zendesk.com/agent/tickets/281955
- https://gitlab.zendesk.com/agent/tickets/285559
- https://gitlab.zendesk.com/agent/tickets/284769
- https://gitlab.zendesk.com/agent/tickets/361066
- https://gitlab.zendesk.com/agent/tickets/515145
Support Priority Score: (1, 3, 3, 3, -, 3, 3, 2, 3, -, 3) => 24
Steps before closing
-
Merge MR -
Test in staging with Zuora workflow sign-off