Zuora is a great system for managing recurring revenue (subscription) businesses. It is a mature and sophisticated application for managing complex subscription products and the time-based events and accounting associated with them. Zuora spans Commerce, Billing, and Finance - that is, you can quickly create and iterate subscription product offerings, bill your customers correctly and on-time, and manage the revenue recognition of these billings.
So you have decided to do an integration to Zuora, so that your fulfillment system can be updated as customer subsriptions change, and when subscription events change.
The first thing to do is become familiar with the Callout system in Zuora. Zuora lets you, thru configuration, turn on callouts for standard subscription events, like start, end, Updated. Plus, you can configure custom callouts to alert you to other events. Set up a "15 days before end" callout to trigger a mailing, for instance.
Callouts are valuable because they create a queryable event that can be used as a transaction and processed thru an integration pipe. Without a callout, the integration must query and compare, and look for differences in status since last query.
Once you have set up callouts you are half way there! In all but a trivial Zuora setup, there is still more to do.
Most Zuora subscriptions have complexity - offers, add-ons, discounts, promotions, etc. If it is just a Start Stop subscription, you probably don't need Zuora. Zuora allows the whole sales and promotion arsenal to be applied to subscriptions - promotions, offers. bundles, upgrades, discounts, etc etc. One or many of these might overlay the base subscription, and may have different expiration dates.
When the callout fires, you probably need to establish the status of the Subscription at that date. To do that, you need to be familiar with the Rate Plan Charge table (above). We query for this table, put it in a Boomi Cache, then apply logic to get a set of charge records that represent the current state of the subscription.
There are two Zuora APIs, the regular one that supports callouts, and the Aqua API that is asynchronous, but supports better queries. We use them both to get a complete picture of the subscription on the event date, and pass it on to the fulfillment platform via Boomi.
Why should you invest in a Boomi integration platform to go with your Zuora subscription revenue suite? Here are three reasons.
Need for Speed - sure you can code up some Java that pulls data out of Zuora, reformats it and pushes it into the target system. But have you realized that that code is going to have to change ten times over the course of configuring and loading Zuora, and that the integration is the last piece to be built because it depends on stable and populated system endpoints? You need a toolset that can come up quickly, be modified quickly, and has in place all the logging debugging, and tracking tools you will need to not be holding up the whole project while you code the integration components. Boomi is that tool
It is More Complicated than You Think - Don’t listen to your developer Fred (see this post) who says no problem, two week of work to code this up. As the variations in customers, offerings, add-ons, and events mount, Fred will be buried under complex exception handling requirements that will emerge late in the project, and make him the bottleneck. And without a rich toolset to log and debug, the integration code will be the culprit (until proven otherwise) for every UAT incident.
Think Long Game - You are just getting started doing integrations with Zuora. If you are a services business, this data is critical for all your operations. You will be integrating Zuora data into Accounting/financials, Sales, CRM, and planning systems, in addition to Fulfillment. You are just getting started, so put in place a tool to help you glue all these business processes together with current, quality data.
Sure you have issues and concerns - but let the experienced Boomi Architects and Developers at Kitepipe show you how Boomi is a key part of success with Cloud applications in general, and Zuora in particular.