"null pointer exception" when amending a quote with a rate plan that has new charges
Hi there - I'm looking for a solution to a peculiar problem, I hope I can explain it properly. To be clear: We've already "solved" this problem for our current customer base by using amendments to remove and re-add the offending product rate plan to all impacted customers, but I want to know how/why this happens and if there is a more correct way to solve this moving forward - or if this is actually just a Zuora bug that needs to be addressed in a future update.
We have a Rate Plan called "XYZ Marketing", which had one recurring monthly charge for $59.99. We sold this product/rate plan to about 300 customers. After those 300 sales, our team told us that they needed to be able to add monthly Discounts to this rate plan, so we went into Zuora and added a Discount-Percentage charge to the existing Rate Plan, and re-synced the product catalog with Salesforce so that it was available in Zuora CPQ.
Afterwards, selling XYZ Marketing to any new customer was fine, but any time we tried to make ANY amendments to a customers subscription who previously was sold the XYZ Marketing Rate Plan BEFORE we added the discount-percentage charge in Zuora was suddenly hit with a "null pointer exception" as soon as they reached the Product Selector page in ZQuotes.
This error prevented ZQuotes from running calculations/zRules, and stopped it from being Saved or Submitted. Nothing could be done to the subscription at all until the XYZ Marketing rate plan without the discount line item was removed and then the XYZ Marketing rate plan with the discount line item was re-added. To be clear: this was NOT a new Rate Plan - we had to physically remove the rate plan and re-add the same rate plan just because there was a new charge type introduced between the original sale and the current amendment quote.
This points clearly to the Discount line item being the culprit for this null pointer exception, but I'm unclear if this is expected behavior or if I should be reporting this as a bug in the software. There are some instances where we wouldn't want to be forced to remove and re-add a product just to account for a new charge line, such as with Usage charges for example. We wouldn't want to remove/re-add the Usage charge because that would mean the Usage charge had a new start date and potentially we'd lose out on collecting old usage for example.
So ultimately my question is : Why does this scenario cause a null pointer, is it a known issue, and what is the correct way to resolve it moving forward other than to remove and re-add the offending product?
Re: "null pointer exception" when amending a quote with a rate plan that has new charges
This certainly appears to be a bug. For similar issues i create a ticket and the Zuora developers recreate it on their system and document the bug to be tracked.
This is good to know because we are in the process of looking into using a discount charge and we could have found ourselves with this same problem. Thanks for your detailed description