As of Sept 2019, we introduced the capability to remove the dependency of generating Order Metrics from the creation of the Order itself.
This is an enhancement to the product, where previously the generation of an Order and its associated metrics were tightly coupled together, and failure in metrics generation also led to failure in Order generation. After this change, Orders will be created even when metrics generation fails.
The main goal of this enhancement is to unblock your business so that issues in metrics generation do not block you from processing orders. A side effect will be the absence of metrics for Orders where metrics generation fails.
When metrics are generated successfully, this is an example of what you might see:
{
"success": true,
"order": {
"orderNumber": "O-00000005",
"orderDate": "2020-02-01",
"createdDate": "2020-01-19 01:44:52",
"createdBy": "402881e522cf4f9b0122cf5d82860002",
"updatedDate": "2020-01-19 01:44:52",
"updatedBy": "402881e522cf4f9b0122cf5d82860002",
"existingAccountNumber": "A00000001",
"currency": "USD",
"status": "Completed",
"subscriptions": [
{
"subscriptionNumber": "A-S00000002",
"customFields": {},
"baseVersion": 1,
"newVersion": 2,
"orderActions": [
{
"type": "UpdateProduct",
"sequence": 0,
"triggerDates": [
{
"triggerDate": "2020-02-01",
"name": "ContractEffective"
},
{
"triggerDate": "2020-02-01",
"name": "ServiceActivation"
},
{
"triggerDate": "2020-02-01",
"name": "CustomerAcceptance"
}
],
"updateProduct": {
"ratePlanId": "402880e66fbc10d3016fbd2fadc93cae",
"uniqueToken": null,
"specificUpdateDate": null,
"newRatePlanId": "402880e66fbc10d3016fbd3082c73ccf",
"productRatePlanId": "402880e66fbc10d3016fbd2ea5da3ca4",
"chargeUpdates": [],
"customFields": {}
},
"customFields": {},
"orderItems": [
{
"id": "402880e66fbc10d3016fbd30db733ce1",
"startDate": "2020-02-01",
"endDate": "2020-11-30",
"quantity": 10,
"orderActionId": "402880e66fbc10d3016fbd30d9543cdf",
"scId": "402880e66fbc10d3016fbd3082c73cd0"
}
],
"orderMetrics": [
{
"productRatePlanChargeId": "402880e66fbc10d3016fbd2f20ee3ca6",
"originRatePlanId": "402880e66fbc10d3016fbd2fadc93cae",
"tcb": [
{
"subscriptionOwner": "A00000001",
"invoiceOwner": "A00000001",
"amount": 1000,
"endDate": "2020-11-30",
"orderItemId": "402880e66fbc10d3016fbd30db733ce1",
"termNumber": 1,
"generatedReason": "IncreaseQuantity",
"type": "Regular",
"startDate": "2020-02-01"
}
],
"quantity": [
{
"subscriptionOwner": "A00000001",
"invoiceOwner": "A00000001",
"amount": 10,
"endDate": "2020-11-30",
"orderItemId": "402880e66fbc10d3016fbd30db733ce1",
"termNumber": 1,
"generatedReason": "IncreaseQuantity",
"startDate": "2020-02-01"
}
],
"productRatePlanId": "402880e66fbc10d3016fbd2fadb23cab",
"tcv": [
{
"subscriptionOwner": "A00000001",
"invoiceOwner": "A00000001",
"amount": 1000,
"endDate": "2020-11-30",
"orderItemId": "402880e66fbc10d3016fbd30db733ce1",
"termNumber": 1,
"generatedReason": "IncreaseQuantity",
"type": "Regular",
"startDate": "2020-02-01"
}
],
"chargeNumber": "C-00000002",
"elp": [
{
"subscriptionOwner": "A00000001",
"invoiceOwner": "A00000001",
"amount": 1000,
"endDate": "2020-11-30",
"orderItemId": "402880e66fbc10d3016fbd30db733ce1",
"termNumber": 1,
"generatedReason": "IncreaseQuantity",
"type": "Regular",
"startDate": "2020-02-01"
}
],
"mrr": [
{
"subscriptionOwner": "A00000001",
"invoiceOwner": "A00000001",
"amount": 100,
"endDate": "2020-11-30",
"orderItemId": "402880e66fbc10d3016fbd30db733ce1",
"termNumber": 1,
"generatedReason": "IncreaseQuantity",
"type": "Regular",
"startDate": "2020-02-01"
}
]
}
]
}
]
}
],
"customFields": {}
}
}
If metrics generation fails, then the following will be present instead:
{
"success": true,
"order": {
"orderNumber": "O-00000006",
"orderDate": "2020-02-04",
"createdDate": "2020-01-19 01:49:37",
"createdBy": "402881e522cf4f9b0122cf5d82860002",
"updatedDate": "2020-01-19 01:49:37",
"updatedBy": "402881e522cf4f9b0122cf5d82860002",
"existingAccountNumber": "A00000001",
"currency": "USD",
"status": "Completed",
"subscriptions": [
{
"subscriptionNumber": "A-S00000002",
"customFields": {},
"baseVersion": 2,
"newVersion": 3,
"orderActions": [
{
"type": "UpdateProduct",
"sequence": 0,
"triggerDates": [
{
"triggerDate": "2020-02-04",
"name": "ContractEffective"
},
{
"triggerDate": "2020-02-04",
"name": "ServiceActivation"
},
{
"triggerDate": "2020-02-04",
"name": "CustomerAcceptance"
}
],
"updateProduct": {
"ratePlanId": "402880e66fbc10d3016fbd3082c73ccf",
"uniqueToken": null,
"specificUpdateDate": null,
"newRatePlanId": "402880e66fbc10d3016fbd34e0ea3cf1",
"productRatePlanId": "402880e66fbc10d3016fbd2ea5da3ca4",
"chargeUpdates": [],
"customFields": {}
},
"customFields": {},
"orderItems": [],
"orderMetrics": []
}
]
}
],
"customFields": {}
}
}
This feature will be turned on over the next month for tenants that had Orders enabled after Sept 2019, without requiring any action on your part. If your tenant had Orders enabled prior to that, please contact Zuora Global Support to enable this feature.
Notes:
- If you do not use the OrderItem and OrderElp fields, we strongly suggest turning off those fields completely. This will ensure that the metrics generation never fails. Contact Zuora Global Support to turn off these fields.
- For further details and to enable decoupling of metrics from Orders, please contact Zuora Global Support.
#Announcement