Happy Business Starts Here

Re: Term Update - Issue with term end date

Highlighted
Tutor

Term Update - Issue with term end date

Scenario : Created subscription A on 1st Jan 2017 with 24 months term.So the term end date is Dec 31 2018. Now am changing my subscription along with contract period on 1st Jun 2017 with 1 month term .While doing that , i got an exception from Zuora saying that "The Contract effective date should not be later than the term end date of the basic subscription" . So I assume that Zuora re-calculating the contract end date as 31st Jan 2017  from 1st Jan 2017(which is the initial term start date) with 1 month term.So as a fix , I am passing the field "termStartDate" as 1st Jun 2017( date on which I am changing the contract period ).  Now the request got processed successfully .Is this the right way to do or can anyone suggest what is the best approach ?

Activity Activity DateComments
Create Subscription with 24 months contractJan 1, 2017contract start date: Jan 1, 2017 contract end date: Dec 31, 2018 product p1

Add product & Update term .

1. P1 to P2 2. 24 Months to 1 month contract

June 1, 2017In this put request contractEffectiveDate for new product P2 is set as June 1, 2017 and  we are not passing termStartDate. we are seeing below error message , "The Contract effective date should not be later than the term end date of the basic subscription". We assume the system is calculating the new endDate as Jan31, 2017 using the intialTermStartDate and not based on current date. Is it a must to set termStartDate as current date in such scenarios, hope the invoice will pick older products without any issue.
 
 
 
3 REPLIES 3
Highlighted
Support SME

Re: Term Update - Issue with term end date

Hi @Ajayas4, TermStartDate is only required if the Type field is set to TermsAndConditions, I think that is why you must pass the field in your case. https://www.zuora.com/developer/api-reference/#operation/Action_POSTamend

 

 

Screen Shot 2020-01-13 at 11.21.06 AM.png
Tutor

Re: Term Update - Issue with term end date

@Yong Thanks for your reply .Actually we are not making a POST call in this scenario  . We are making a PUT request /v1/subscriptions/{subscription_id}.Sample request is given below .If we are not passing termStartDate ,I assume system is taking initial subscription create date and calculating the term end date based on that .

{
"autoRenew": true,
"notes": "1111",
"renewalSetting": "RENEW_WITH_SPECIFIC_TERM",
"renewalTerm": "1",
"renewalTermPeriodType": "Month",
"currentTerm": "1",
"termStartDate" : "2020-01-06",
"currentTermPeriodType": "Month",
"remove": [
{
"ratePlanId": "11111",
"contractEffectiveDate": "2020-01-06"
},
{
"ratePlanId": "22222",
"contractEffectiveDate": "2020-01-06"
}
],
"add": [
{
"productRatePlanId": "33333",
"contractEffectiveDate": "2020-01-06"
},
{
"productRatePlanId": "44444",
"chargeOverrides": [
{
"productRatePlanChargeId": "55555",
"discountAmount": 3.75,
"discountLevel": "subscription",
"endDateCondition": "Specific_End_Date",
"specificEndDate": "2020-11-05",
"description": "",
"PromotionGLAccount__c": null,
"Recovery1Amount__c": null,
"PromotionStartDate__c": "2020-01-06",
"PromotionName__c": "testpromotion1",
"PromotionNumber__c": "",
"Recovery2Amount__c": null,
"Recovery1AccountName__c": null,
"Recovery2AccountName__c": null
}
],
"contractEffectiveDate": "2020-01-06",
"RelatedProductRatePlanName__c": "name"
},
{
"productRatePlanId": "66666",
"chargeOverrides": [
{
"productRatePlanChargeId": "77777",
"discountAmount": 1.25,
"discountLevel": "subscription",
"endDateCondition": "Specific_End_Date",
"specificEndDate": "2021-11-05",
"description": "",
"PromotionGLAccount__c": null,
"Recovery1Amount__c": null,
"PromotionStartDate__c": "2020-01-06",
"PromotionName__c": "testpromotion2",
"PromotionNumber__c": "number",
"Recovery2Amount__c": null,
"Recovery1AccountName__c": null,
"Recovery2AccountName__c": null
}
],
"contractEffectiveDate": "2020-01-06",
"RelatedProductRatePlanName__c": "name"
},
{
"productRatePlanId": "888888",
"contractEffectiveDate": "2020-01-05"
}
]
}

 

Highlighted
Support SME

Re: Term Update - Issue with term end date

You're right @Ajayas4  If this is a renewal subscription, termStartDate is different from the subscription start date. Reference https://www.zuora.com/developer/api-reference/#operation/PUT_Subscription