---
title: "Connect Zuora to Rig — Rig guide"
description: "Connect Zuora to Rig with an OAuth client. Sync accounts, subscriptions, invoices, payments, orders and revenue schedules into your warehouse."
canonical: "https://rig.so/guides/connect-zuora"
format: markdown
---

Search guides, references, playbooks…⌘K

Browse guides

# Connect Zuora to Rig

Zuora Billing holds subscriptions, invoices, payments and revenue schedules. Rig reads 43 billing, order and revenue objects through Zuora's Data Query, with every field included, and lands one table per object in your warehouse. Zuora connects with an OAuth client ID and secret.

## Before you start

- You need a Zuora administrator who can manage users and create OAuth clients.
- Pick an Active Zuora user for the client. Its role needs the **Data Query** permission, because Rig reads through Data Query.
- Know which Zuora environment your tenant runs in, for example EU Production or US Production (Cloud 1).

## Step 1: Create a Zuora OAuth client

1. Click your username at the top right and go to **Settings \> Administration \> Manage Users**.
2. Find the user and check that the status is **Active**. Activate the user or choose another if it is not.
3. Click the user's name to open it.
4. In the **New OAuth Clients** section, enter a name for the client, such as Rig. If Multi-entity is on, choose the entities the client can access.
5. Click **Create**. Zuora shows the Client ID and Client Secret.
6. Copy both before you click **OK**. Zuora shows the secret only once.

## Step 2: Connect it in Rig

New to Rig? Watch how to find Connections

Adding a source needs a workspace owner, or a role with the Manage connections permission, on a workspace where you manage your own connections. If the Connectors tab says “Data ingestion for this workspace is managed by Rig”, ask an owner or Rig support to add the source.

1. In Rig, open `Connections`, choose the `Connectors` tab and go to `Sources & actions`.
2. Search for **Zuora**, open the card and click `Connect`.
3. **Client ID**: The Client ID Zuora showed.
4. **Client secret**: The Client Secret Zuora showed.
5. **Zuora environment**: Choose the environment of the tenant the OAuth client belongs to.
6. **Rows per query**: Leave `100000` as it is. Lower it only if Zuora fails jobs for exceeding its output limit.
7. Click `Continue`. Rig checks the credentials and lists the streams it can reach, so choose the ones you want and click `Connect`.
8. The source then syncs on its schedule, which is nightly unless you change it. To load data straight away, click `Sync` on its row; `Test` pulls a small sample first if you want to check the connection.

## What Rig pulls in

Zuora lands in its own `zuora` schema in your warehouse:

- **Accounts and contacts**: account, contact, payment method and user.
- **Subscriptions**: subscription, rate plan, rate plan charge and rate plan charge tier.
- **Orders**: order, order action, order item and order TCB.
- **Invoices**: invoice and invoice item.
- **Credit and debit memos**: credit memo, debit memo, their items and parts, and credit memo applications.
- **Payments and refunds**: payment, payment application, payment part, refund, refund application and refund transaction log.
- **Product catalogue**: product, product rate plan, product rate plan charge and charge tier.
- **Revenue**: revenue schedule items, revenue events and the revenue charge summary item, with their invoice, credit memo and debit memo item links.

Each table includes every column the object exposes, custom `__c` fields among them. Rig reads Zuora's deleted-records feed on each sync to mark deleted records, which costs extra API calls.

## Good to know

- Column names are Data Query's own: lowercase and run together, such as `updateddate` and `accountid`. Table names follow the usual snake case, such as `credit_memo_item`.
- Data Query Live fails a query that scans more than 10 million input rows of a table or returns more than 500,000 rows. Rig splits large tables into date windows and reads at most Rows per query rows in each job.
- Zuora runs 5 Data Query jobs at a time for the whole tenant, with 10 queued. Rig's jobs share that allowance with every other tool querying Zuora.
- A first sync of a large tenant takes many jobs. Later syncs read only what changed.
- Zuora returns Live timestamps in your tenant's preferred timezone, so convert to UTC when comparing across sources.
- To disconnect Zuora, click the bin icon on the source's row under `Sources & actions`. Only whoever connected the source or a workspace owner can do this, and data already synced stays in the warehouse.

## What people use this for

- Report recurring revenue from subscriptions and charges
- Follow invoices through to payment
- Reconcile billing with recognised revenue
- Understand orders and the product catalogue

[More ideas for using Zuora](https://rig.so/integrations/zuora)

## Zuora documentation

- [Create an OAuth client for a user](https://docs.zuora.com/en/zuora-platform/security-and-identity/administrator-settings/manage-api-users/create-an-oauth-client-for-a-user)
- [Overview of Data Query](https://docs.zuora.com/en/zuora-platform/data/overview-of-data-query)

Was this guide helpful?

Yes No

---

- [This page as HTML](https://rig.so/guides/connect-zuora)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
