Question:
Use case: On a contract we have few subcriptions created, from which we need to stop syncing some subscriptions(avoid creating amendments) on Zuora when a contract is sent to Zuora.
How to achieve this use case.
... View more
Answer:
Please find below Sample code shows a high level example of adding a bundle to a quote.
//Get an existing quote by Id zqu.Quote currentQuote = zqu.Quote.getInstance('<quoteId>'); //Add products to the Quote List<zqu.Product> productsToAdd = zqu.Product.loadProductsWithChildren(new List<Id>{'product1Id', 'product2Id'}); List<zqu.QuoteProduct> addedProducts = currentQuote.addQuoteProducts(productsToAdd); //Commit the products to the database currentQuote.save();
Please find below KC article for more information on Quote class . https://knowledgecenter.zuora.com/CA_Commerce/I_Development_Resources/C_Component_Library/C_Global_Classes/Quote_Class
... View more
Solution:
Please perform below mentioned steps to acheive the use case
1. Pre Requisite: Must use an account that is set up for Uplift renewals BEFORE YOU CREATE ANY OPPTY /QUOTE CONTRACTS: a. Go to the Account record and : i. Set the Renewal Model field to “Contract Based” ii. Set Renewal Pricing Method to “Uplift”
2. Create & Contract an Initial Oppty
3. Manually add Uplift % to subscription records you just created on the new contract. *** Note that this must be done BEFORE you create the renewal Opportunity & Quote i. Open each subscription record ii. In the Uplift % field type a number ( ex. 5 for 5% uplift) iii. Save the subscription record iv. Repeat this process with each subscription
4. Process the Contract and Send to Zuora Also check the Subscriptions to ensure that: The renewal Uplift % field is populated
4. Create a renewal Oppty & Quote (from the Active Contract you just created) *Note make sure the Contract that you are going to renew is Active in CPQ a. Check the Renewal Quoted check box ( on the Oppty) 5. Contract the renewal Oppty
a.Review subscriptions – they should have negative discount (in the additional Discount field ) and the Customer Unit price should be the uplifted rate. b. On subscription, Check "Force Update on Renewal" field to trigger Update amendment.
6. Preview the renewal contract, you will see both Renewal Contract and and Update Product Amendment with uplifted price.
... View more
Answer:
Below is the same code to create amendment quote
//Create a new Quote
zqu__Quote__c quoteSObject = new zqu__Quote__c();
quoteSObject.zqu__SubscriptionType__c = 'Amend Subscription';
quoteSObject.zqu__ZuoraAccountId__c =
ApexPages.currentPage().getParameters().get('existingAccountId');
quoteSObject.zqu__ExistSubscriptionId__c =
ApexPages.currentPage().getParameters().get('existingSubscriptionId');
zqu.Quote amendmentQuote = zqu.Quote.createNewInstance(quoteSObject);
// Quote and Quote Charge Details inserted to database here
amendmentQuote.buildAndSave();
//Add products to the Quote
List<zqu.Product> productsToAdd = zqu.Product.loadProductsWithChildren(new List<Id>{'product1Id', 'product2Id'});
List<zqu.QuoteProduct> addedProducts = amendmentQuote.addQuoteProducts(productsToAdd);
// Creates/updates/deletes Quote Charge Detail records
// based on changes made to the Quote Products
amendmentQuote.save();
Also please find below KC article which has many examples.
https://knowledgecenter.zuora.com/CA_Commerce/I_Development_Resources/C_Component_Library/C_Global_Classes/Quote_Class
... View more
Solution:
Payment Term and Billing batch are required fields to create an account on Zuora. You will get this error when these fields are not provided.
Perform below steps to resolve the error.
Navigate to Zuora Config -> Default Value Settings
Cllick on Edit and enter value for "Payment term" and " Billing Account batch"
Save the changes
This should resolve the error.
... View more
Solution: After installing Zuora quotes on salesforce org, make sure to add user to Zuora quotes managed package license as described in below KC
https://knowledgecenter.zuora.com/CA_Commerce/C_Zuora_Quotes/B_Install_Z-Force_Quotes_on_Salesforce.com/Add_Users_to_Package_License
Once the user added to license, user was able to Zquotes.
... View more
Solution:
You can achieve above use case by Checking "Allow Blank Activation Dates" setting on Zuora Connector settings.
Please find below KC article for more information
https://knowledgecenter.zuora.com/CA_Commerce/F_Salesforce_CPQ_Connector_to_Zuora_Connector/G_Zuora_Connector_Settings
... View more
Question:
Is there a way to disable the validation that requires SAD and CAD to be populated on the Contract record prior to syncing it to Zuora?
I'd like to be able to trigger the Sub at a later point in time.
I get this error when trying to send to Zuora without providing SAD and CAD.
... View more
Solution: This error is usually thrown when a valid user crendentials is not provided on Z 360 connection setup and Quotes connection settings.
To resolve this issue, provide correct api user details from the zuora tenant to which the org is connected.
... View more
Question: User experiencing below error while sending Quote to Zuora.
An exception occurred when trying to save the JSON data for the quotes in this sendToZBilling call. The following error message was returned: The SFDC organization xxxxxxxxxxxxxxx is not the one configured in Zuora.
How to resolve this error?
... View more
Solution :
Once a product is created with a PRC and synced to Zuora sucessfully , User cannot update the charge as the connector doesn't pre-validate because it doesn't cross-check the existing charge model to know if the model is different than it was before. Inability to update charge model on sync is a limitation and will be documented in limitations KC shortly.
https://knowledgecenter.zuora.com/CA_Commerce/F_Salesforce_CPQ_Connector_to_Zuora_Connector/Product_Catalog_Integration_in_Zuora_Connector_Salesforce_CPQ
... View more
Issue: We are using Zuora connector for salesforce.
Created a product with Flatfee charge model and synced to Zuora without any errors.
Now when we change the charge model to Per unit and sync to Zuora, it is showing sync success BUT not syncing Zuora.
... View more
Solution : This particluar use case when user was trying to 2 amendments
* Remove Product
* New Product
The connector is designed to make an amend call per type of amendment, so you need to make sure Generate Invoice flag is set to False on the contract,thus no invoice will be generated when the contract is sent to Zuora. To generate a single invoice, you'd have to explicitly generate invoice after everything has gone through.
... View more
Solution: Engineering team have identified a bug on 9.11 version where Multi entity and Bundling features are enabled which is causing the error mentioned.
Engineering team have fixed the issue in next patch release 9.11.1 which when upgraded on the effected org fixed the issue.
Please raise a support request if you come accross this issue to get the installation link for 9.11.1
... View more
Problem: On 9.11 quotes version with having Multi entity and Bundling features enabled, while sending a quote to Zuora we are expereincing below error.
... View more
Solution: With Zuora connector for salesforce, Every product should have a pricebook, which is mapped to Zuora PRP when synced to Zuora.
In this case, User did not add any price book to the product and upon trying to sync the product will throw this error.
... View more
Solution: With having Zuora connector for salesforce, you should have unique name for every rate plan in a product.
Here the user was trying to add rate plan which has same name to the product again. which is the cause of the error.
Every Price book is mapped to Product Rate Plan in Zuora, so every PRP name should be unique.
... View more
Issue: Zuora Connector for salesforce and creating a product and trying to sync to Zuora, below error is thrown
Product Sync Results Product Rate Plan [Test]: Failed. Errors: The Rate Plan Name Test already exists. Please use another Rate Plan Name.
... View more
Solution: Here this error is thrown for a Product was created with Tiered pricing per unit model and trying to sync to Zuora.
When creating Tiered Pricing Per unit model, Zuora price is mapped to Discount Schedule - Slab Salesforce CPQ Price Setting.
This error was thrown because a discount schedule was not added to related price book.
Please find more details of Price mapping in below Knowledge base article.
https://knowledgecenter.zuora.com/CA_Commerce/F_Salesforce_CPQ_Connector_to_Zuora_Connector/Product_Catalog_Integration_in_Zuora_Connector_Salesforce_CPQ
... View more
Issue: Product [01t1t000001iJOKAA2] is defined with tiered List Pricing, but has no Discount Schedule for Pricebook [01s1t000005A6s2AAC] An unexpected error has occurred. Your solution provider has been notified. (ZSB)
When trying to sync List price per unit model product getting this error.
... View more
Answer: It is not possible to create 2 charges for one rateplan when creating product and using Zuora connector for salesforce.
In order to have 2 charges, you would need to create 2 products.
Please find below KC article for more information https://knowledgecenter.zuora.com/CA_Commerce/F_Salesforce_CPQ_Connector_to_Zuora_Connector/Product_Catalog_Integration_in_Zuora_Connector_Salesforce_CPQ
... View more