Zuora integration summary

Stitch’s Zuora integration can use one of two APIs: REST API and AQuA API. When setting up the integration in Stitch, you can choose which API to use.

Additionally, Stitch supports replicating custom fields for any object that supports custom fields in Zuora. Custom fields are supported for both the REST API and AQuA API.

Note: Each API has its benefits and limitations. For example: With the AQuA API, you can replicate large data sets and deleted records for objects that support it. Once an integration is saved, the API selected can’t be changed. Learn more about the APIs.

Refer to the Schema section for a list of objects available for replication.

Zuora feature snapshot

A high-level look at Stitch's Zuora (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on April 17, 2018

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-zuora

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Zuora

Zuora setup requirements

To set up Zuora in Stitch, you need:

  • A Standard or higher Stitch plan. While those currently in the Free Trial will also be able to set up Zuora, replication will be paused until a Standard plan or higher is selected after the trial ends.
  • Administrator permissions in Zuora. These permissions are required to create a Zuora user for Stitch.

Step 1: Create a Stitch Zuora user

In this step, you’ll create a Zuora user for Stitch. Creating a Stitch-specific user will ensure that Stitch is distinguishable in any logs or audits.

Create the Zuora user

Zuora user permissions

  1. Sign into your Zuora account, if you haven’t already.
  2. Click your username in the top-right corner.
  3. Click Administration, then Manage Users.
  4. Click Add Single User.
  5. Enter a first and last name for the user.
  6. Enter an email address in the Work Email field.
  7. Enter an email address in the Login Field.
  8. In the Zuora Platform Role field, select Standard User.
  9. For the remaining Role fields, select the Standard User option.
  10. There aren’t any requirements for the Locale and Language fields - leave them as the defaults.
  11. Click Save to create the user.

After the user is created, Zuora will send a verification email to the email address in the Work Email field. Complete the verification and set a password for the Stitch user before moving on to the next step.

Step 2: Add Zuora as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Zuora icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Zuora” would create a schema called stitch_zuora in the destination. Note: Schema names cannot be changed after you save the integration.

  5. If the Zuora instance you want to connect to Stitch is a sandbox, check the Connect to a Sandbox Environment checkbox.
  6. In the Username field, enter the Stitch Zuora user’s username. This is the email address that was in the Login Name field when you created the user.
  7. In the Password field, enter the password associated with the Stitch Zuora user.
  8. If the Zuora instance you want to connect to Stitch is a sandbox, check the Connect to a Sandbox Environment box.
  9. If the Zuora instance you want to connect to Stitch is based in Europe, check the Connect to a European endpoint box. If you aren’t sure if this is applicable to you, refer to Zuora’s documentation.

Step 3: Select a Zuora extraction API

Stitch’s Zuora integration gives you the ability to select the API that you want Stitch to use to extract data. If you aren’t sure which API you should use, take a look at the brief comparison below.

Note: This setting can be changed at any time, but will only affect extractions that take place after the change.

Once you’ve decided, click the radio button next to the API you want to use.

REST API AQuA API
Good for replicating

Small data sets, more frequently

Large data sets, less frequently

Deleted records

Unsupported

Supported. An additional column (deleted) will be added to objects that support deletions, which indicates the record’s deletion status.

Deleted data extraction is unsupported by the AQuA API for the following objects:

  • accountingPeriod

  • contactSnapshot

  • discountAppliedMetrics

  • paymentGaterwayReconciliationEventLog

  • paymentTransactionLog

  • paymentMethodTransactionLog

  • paymentReconciliationJob

  • paymentReconciliationLog

  • processedUsage

  • refundTransactionLog

  • updaterBatch

  • updaterDetail

Refer to Zuora’s documentation for more info.

Requires additional Zuora credentials

Not required

Required. Using the AQuA API requires a Partner ID - to obtain one, reach out to Zuora Global Support.

Step 4: Define the historical sync

The Sync Historical Data setting will define the starting date for your Zuora integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Zuora’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 5: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Zuora integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 6: Set tables and columns to replicate

To complete the setup, you’ll need to select the tables and columns you want to replicate to your data warehouse.

Check out the Schema section to learn more about the available tables in Zuora and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A green checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

Initial and historical replication jobs

After you finish setting up Zuora, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Zuora replication

Replicate deleted data

If using the AQuA API for data extraction, deleted data will be replicated for objects that support it. Supported objects will contain a boolean column named deleted that indicates a record’s deletion status.

Note: This column won’t be automatically included for replication - it must be set to replicate.

Deleted data is supported for all objects with the exception of the following:

  • accountingPeriod

  • contactSnapshot

  • discountAppliedMetrics

  • paymentGaterwayReconciliationEventLog

  • paymentTransactionLog

  • paymentMethodTransactionLog

  • paymentReconciliationJob

  • paymentReconciliationLog

  • processedUsage

  • refundTransactionLog

  • updaterBatch

  • updaterDetail

Custom field replication

Custom object properties, or attributes, are supported by Stitch’s Zuora integration. If custom fields are available through Zuora’s API, Stitch will replicate them to your destination.

This is applicable to any object that supports custom fields in Zuora. Refer to Zuora’s documentation for info on which objects support custom fields.

Unsupported objects

Stitch’s Zuora integration doesn’t currently support replication for the following objects:

  • discountApplyDetail

  • invoiceFile

  • paymentMethodSnapshot

  • productDiscountApplyDetail

  • unitOfMeasure


Zuora table schemas

Zuora object relationships

To get a better understanding of how Zuora objects relate to each other, check out Zuora’s Entity Relationship Diagram.

Understanding the relationships between different data sets will allow you to perform more in-depth and complex analyses.

Don’t see a table listed here? The list of tables shown below is not an exhaustive list of all the tables Stitch can replicate from Zuora.

We’re working on adding documentation for additional Zuora tables. If there’s a specific table you’d like to see here, let us know by opening an issue in the Stitch Docs GitHub repo.



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.