Save orders as draft orders
When you create an order, you can save your order along with its configurations as a draft order so that you can complete the order later. You can also update a draft order and then save the updated draft order.
Save an order as a draft order during order creation using the Zuora application
To save a draft order during order creation, perform the following steps:
-
Navigate to Customers > Orders. The Orders page opens.
-
Click Create New Order at the top right. The Create New Order page opens.
-
In the Account field, enter the name of the account that owns the order. You can enter the account by clicking either Account Name or Account Number.
- If you click Account Name, enter part of the account name in the Account field and the filtered accounts can be dynamically listed for your selection.
- If you click Account Number, enter the complete account number.
- (Optional) Click one of the following buttons to perform the corresponding tasks:
- Create Subscription
- Amend Subscription. For tasks that you can perform using the preceding buttons, see Order actions tutorials.
- Click Save as Draft at the bottom right to save the order as a draft order.
- (Optional) To preview billing information for the subscription, click Preview Billing. Specify the preview settings and click Update Preview to see the preview invoices. After you are finished, click Back to return to the previous page.
Update a draft order and save the updated draft order using the Zuora application
To update draft orders and save the updated draft orders, perform the following steps:
- Navigate to Customers > Orders.
- Search for the order by performing an exact search for the draft order or filtering all orders in the Draft status.
- Click the order number of the draft order to open the order details page.
- Update the draft order on the page last modified
- Click Save as Draft at the bottom right to save the order as an updated draft order.
- (Optional) To preview billing information for the subscription, click Preview Billing. Specify the preview settings and click Update Preview to see the preview invoices. After you are finished, click Back to return to the previous page.
Save an order as a draft order during order creation using the REST API
When you create an order, you can put your order in the Draft
status as follows:
- Determine the value of the following variable:
Variable Description $AccountNum
The number of the account that will own the order. For example, A00000001
. - Use the Create an order operation to create an order under the specified account and put the order in the
Draft
status. The following example shows how to create a new subscription with product rate plan4028b2e68167594c0181675d8ab80a21
and add another product rate plan8a90876c8901dac3018902ba81655a49
with a different start date to the subscription and save the order as a draft order.
Request | POST/v1/orders/ |
---|---|
Request Body |
{ "existingAccountNumber": "$AccountNum", "subscriptions": [ { "orderActions": [ { "createSubscription": { "subscribeToRatePlans": [ { "productRatePlanId": "4028b2e68167594c0181675d8ab80a21" } ], "terms": { "initialTerm": { "period": 12, "periodType": "Month", "termType": "TERMED", "startDate": "2020-01-01" }, "renewalSetting": "RENEW_WITH_SPECIFIC_TERM", "renewalTerms": [ { "period": 12, "periodType": "Month" } ], "autoRenew": false } }, "type": "CreateSubscription", "triggerDates": [ { "triggerDate": "2020-01-01", "name": "ContractEffective" }, { "triggerDate": "2020-01-01", "name": "ServiceActivation" }, { "triggerDate": "2020-01-01", "name": "CustomerAcceptance" } ] }, { "addProduct": { "productRatePlanId": "8a90876c8901dac3018902ba81655a49" }, "type": "AddProduct", "triggerDates": [ { "triggerDate": "2020-01-15", "name": "ContractEffective" }, { "triggerDate": "2020-01-15", "name": "ServiceActivation" }, { "triggerDate": "2020-01-15", "name": "CustomerAcceptance" } ] } ] } ], "orderDate": "2020-01-01", "status": "Draft" } |
To preview invoices for the new subscription, use the Preview order operation.
Update a draft order and save the updated draft order using the REST API
When an order is in Draft
status, you can update the draft order and save the updated draft order as follows:
- Determine the value of the following variable:
Variable Description $OrderNumber
The order number of the order to update. For example, O-00000003
. - Update the order that is in the
Draft
status. The following example shows how to update an existing draft order that adds a new product to an existing subscriptionA-S00000001
. The update is to change the product rate plan ID to a new value4028b2e6811f5f5f01811f818a4209ec
through the Add Product order action.
Request | PUT/v1/orders/{orderNumber} |
---|---|
Request Body |
{ "existingAccountNumber": "$AccountNum", "subscriptions": [ { "orderActions": [ { "addProduct": { "productRatePlanId": "4028b2e6811f5f5f01811f818a4209ec" }, "type": "AddProduct", "triggerDates": [ { "triggerDate": "2020-02-01", "name": "ServiceActivation" }, { "triggerDate": "2020-02-01", "name": "CustomerAcceptance" }, { "triggerDate": "2020-02-01", "name": "ContractEffective" } ] } ], "subscriptionNumber": "A-S00000001" } ], "orderDate": "2020-01-01" } |
To preview invoices for the new subscription, use the Preview order operation.
Limitations
Note the following limitations when saving orders as draft orders:
- If you have added an order line item to an order, you cannot save the order to a draft order.
- If your events are the Order and OrderAction objects based custom events that are listed in the Custom Events tab, when saving orders as draft orders, you can save the draft orders successfully. However, you may see a failure error "'To Email Address' is required." when verifying the Result of your events from Platform > Events & Notifications > Email History. You can skip the failure errors or send notifications by setting condition rules on the Order and Order Action objects.
Object | Set condition rules to skip the failure errors when saving draft orders | Set condition rules to send notifications when saving draft orders |
---|---|---|
Order | (changeType == 'INSERT' && Order.Status != 'Draft') || (changeType == 'UPDATE' && Order.Status != 'Draft' && Order.Status_old == 'Draft') | (changeType == 'INSERT' && Order.Status == 'Draft') || (changeType == 'UPDATE' && Order.Status == 'Draft') |
OrderAction | (changeType == 'INSERT' && OrderAction.Status != 'Draft' && OrderAction.AutoGenerated == 'false') || (changeType == 'UPDATE' && OrderAction.Status != 'Draft' && OrderAction.Status_old == 'Draft') | (changeType == 'INSERT' && OrderAction.Status == 'Draft') || (changeType == 'UPDATE' && OrderAction.Status == 'Draft') |
To set the condition rules, you can use either of the following methods:
- Use the Update an event trigger operation to update an event trigger on the Order and Order Action objects
- Use Zuora UI to update the events, see Manage custom events and custom scheduled events
Related tasks after saving and previewing a draft order
You can perform the following tasks after saving and previewing a draft order: