Welcome to Zuora Labs

Zuora Labs is the environment where developers can get an early look of the latest Zuora platform features such as Custom Data Models and Data Query APIs. Try out these early features and give us feedback on the Zuora Labs community group to help shape the future direction of the platform!

With this initial launch, you'll be able to play with the:

Labs Scenarios

Zuora Labs will also include real customer use cases to demonstrate the power of these latest technologies.

In this ‘Getting Started' guide, we will focus on the Equipment & Shipping example.

What you'll learn

What you'll need

This Zuora Labs scenario will simulate the subscription and shipment of personal grooming products from AllBrighter, an innovative supplier of personal grooming products.

In this example, a customer orders a toothbrush and subscribes to a quarterly replacement of toothbrush heads (pack of 3).

A key element in this example is that while the customer has placed an order, the products won't be invoiced until they are shipped. This example can show how you can set up order capture independently of fulfillment and billing.

Also each quarter, a pack of 3 toothbrush heads will be shipped to the customer, the workflow will create these future dated shipping records through the end of the term (12 months).

A second workflow will then calculate and add a shipping charge, based on Zip Code, then activate the subscription, creating an invoice and collecting payment.

Let's now take a look at how Workflow can automate the processes in the back end to enable a smoother subscription management for the business.

We've set up Zuora Labs with custom objects and workflows to simulate this experience.

What you'll learn

What you'll need

Zuora Labs has predefined custom objects and workflows to simulate the Home Automation scenario.

The image below shows how the customer's experience and the business tasks can be automated using the Workflow app.

When the workflow is started you will be asked to fill out three fields. Two fields have defaults you are welcome to use, but you must specify a valid five digit zip code. In the USA zipcodes start at 00501 and continue until 99950. So ‘00000' or ‘99999' will immediately terminate the workflow as the ‘Validate Zip Code' check task fails:

Let's walk thru the product catalog, workflow, custom object and invoice template created for this scenario.

Product Rate Plans

An AllBrighter bundle product has already been set up in Zuora. Navigate to the Product Catalog menu item in the left-hand navigation, and search for this product. This product bundle includes:

  • electric toothbrush
  • electric flosser
  • pack of three toothbrush heads
  • quarterly subscription to a pack of three replacement heads

Custom Objects

Navigate to Data Models menu item in the left-hand navigation to view the custom objects.

A custom object named "Shippingtable" will get created once the workflow is run; the following fields gets defined:

  • Device Name
  • Serial #
  • Subscription Name
  • Shipping Status (Pending, BackOrder, Deprecated, Shipped)
  • Ship Date
  • Shipping Status

Workflows

Next, let's see a list of Workflows to choose from. A workflow, ‘Allbrighter Bundle Set Up Workflow' and, ‘AllBrighter Fulfillment Workflow', have been already set up.

A custom invoice template, ‘Allbrighter', has also been created for this scenario and shows unique branding for these products vs. the usual CloudStream branding used in all the other use cases.

Let's now execute the workflows and walk through the simulation.

The first workflow is called, ‘Allbrighter Bundle Set Up Workflow'. The user's name and a 5-digit zip code are taken from the online registration as input parameters. Upon execution (click the play button on the workflow), the workflow first checks if the zip code is valid. If it is, then the following are created:

Take a look at the new Billing Account and custom object, shippingtable_#. The items should be tagged as ‘Pending'.

This simulates order capture of the bundle and also generates extra shipping records for future quarterly shipments.

There is some simple validation of the zip code. Failing to supply a valid zip code will immediately end the workflow execution.

The next workflow is the AllBrighter Fulfilment Workflow. This simulates the calculation of the shipping cost and the invoicing of the subscription.

When this workflow is executed, the Albrighter Fulfillment Workflow adds shipping costs as a one time charge to the subscription and invoices.

The Zuora database will sometimes report a lock contention issue with updating the order with the actual shipping date. A standard, ‘wait and retry' workflow feature is then used to pause processing before restarting. Since the API call being made is valid, it will succeed at the next retry. But this workflow typically takes a few minutes to run.

Take a look at the Billing Account and custom object, Shippingtable_#. There are now two orders, an active subscription and an invoice that includes a shipping charge based on the entered zip code.

That shippingtable_# object should be updated with the status of ‘Shipped' for the four shipped items. Also update ship_date__c to the workflow execution date.