Skip to main content

Save orders as draft orders

Zuora

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:

  1. Navigate to Customers > Orders. The Orders page opens.

  2. Click Create New Order at the top right. The Create New Order page opens.

  3. 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.
  4. (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.
  5. Click Save as Draft at the bottom right to save the order as a draft order. 
  6. (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:

  1. Navigate to Customers > Orders.
  2. Search for the order by performing an exact search for the draft order or filtering all orders in the Draft status.
  3. Click the order number of the draft order to open the order details page.
  4. Update the draft order on the page last modified 
  5. Click Save as Draft at the bottom right to save the order as an updated draft order. 
  6. (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:

  1. Determine the value of the following variable:
    Variable Description
    $AccountNum The number of the account that will own the order. For example, A00000001.
  2. 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 plan 4028b2e68167594c0181675d8ab80a21 and add another product rate plan 8a90876c8901dac3018902ba81655a49 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:

  1. Determine the value of the following variable:
    Variable Description
    $OrderNumber The order number of the order to update. For example, O-00000003.
  2. 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 subscription A-S00000001. The update is to change the product rate plan ID to a new value  4028b2e6811f5f5f01811f818a4209ec 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 Billing Settings > Setup Profiles, Notifications and Email Templates > 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:

Related tasks after saving and previewing a draft order

You can perform the following tasks after saving and previewing a draft order: