Skip to main content

Use Zuora Secure Data Share for Snowflake to access Zuora data

Zuora

Use Zuora Secure Data Share for Snowflake to access Zuora data

Overview

Zuora Secure Data Share for Snowflake enables your organization to access your Zuora data from directly within your organization's own Snowflake account. Secure Data Share eliminates the engineering effort traditionally required to manage data extracts, integrations, and data schema changes. Secure Data Share also provides your team with instant access to Zuora's comprehensive subscription operational and analytical data to make timely data-driven decisions based on data insights.

Accessing your Zuora data in Snowflake enables you to:

  • Run reports and perform analytics on your Zuora data using your own business intelligence (BI) tool, using Snowflake as the data source. BI tools that offer native connections to Snowflake include:

    • Microsoft Power BI
    • Looker
    • Tableau
    • Qlik
    • Domo

    For a more complete list, see Business Intelligence (BI) in the Snowflake documentation.

  • Combine your Zuora data with other data in Snowflake to perform holistic analysis. For example, in data science applications such as predicting subscriber churn.

  • Use Snowflake's industry-leading data compute infrastructure to run high-speed queries against virtually unlimited volumes of Zuora data. You can run exploratory queries as needed to support your business.

How Secure Data Share works

Your Zuora data is stored in a Snowflake account that is managed by Zuora. This data is then shared with your organization's Snowflake account so that you can query the data as if it were stored in your organization's Snowflake account. You have read-only access to the shared database.

In Snowflake terminology, Zuora manages a "provider account" and your organization's account is a "consumer account."

For more information about Secure Data Share, see Introduction to Secure Data Share in the Snowflake documentation.

Automatic CSBX refresh in Secure Share for Snowflake

The automatic CSBX refresh in Secure Share for Snowflake ensures a seamless synchronization between your CSBX Snowflake account and the associated CSBX sandbox.

This automaton makes data refresh seamless and eliminates manual intervention or the need to contact support for any help. 

When you initiate a CSBX sandbox refresh, it immediately triggers an automatic CSBX Snowflake account refresh. This automatic refresh ensures that your Snowflake secure share is up-to-date and consistent with the latest production data in your CSBX tenant.

However, in addition to the CSBX Sandbox account refresh time the CSBX Snowflake might take a little longer to have the latest updated data during the automatic data refresh process. 

The automatic refresh functionality is exclusively applicable to billing tenants.

Snowflake cost considerations

The following table describes how Snowflake storage and compute costs are handled for the shared database:

Snowflake storage costs Snowflake compute costs
Zuora covers all storage costs associated with the shared database. Your organization will incur no additional storage costs for accepting Zuora's shared database. Zuora does not cover your compute costs associated with querying the shared database. Your organization will pay Snowflake directly for compute costs incurred from querying the shared database.

Set up Secure Data Share

To check your eligibility to use Secure Data Share, see Availability.

To set up Secure Data Share, contact your Zuora account representative and provide the following information:

  • The tenant ID of the Zuora tenant to share data from. For information about locating the tenant ID, see Managing your tenant profile.
  • The entity to share data from. Only applicable if the Multi-entity feature is enabled in your Zuora tenant.
  • The account identifier of your organization's Snowflake account. You can obtain the account identifier from the URL of your organization's Snowflake account: <account_identifier>.snowflakecomputing.com

Zuora creates a database from your Zuora data and shares the database with your organization's Snowflake account. The name of the database is zuora_<id>, where <id> is the tenant ID of the Zuora tenant that the data is shared from.

You can request to share data from multiple tenants/entities. In this case, Zuora shares a separate database for each tenant/entity.

Data security

When you set up Secure Data Share, Zuora only shares data from the tenant that you specify. In addition, the shared database is only accessible via the Snowflake account that you specify.

The shared database is read-only.

The visibility of the shared database depends on how your Snowflake administrator has set up access control. For more information, see Access Control in Snowflake in the Snowflake documentation.

Tables and columns available in Snowflake

The following tables are available in the shared database. To determine the columns available in each table, you can use the SHOW COLUMNS command from Snowflake's SQL syntax. For more information, see SHOW COLUMNS in the Snowflake documentation. Columns containing PCI data contain null values and are excluded from the share.

To save your Total Active Rows (TAR) credit, Zuora syncs a basic group of Billing objects, all custom objects, and all supported Revenue objects to Snowflake by default. If you want to sync other supported Billing objects to Snowflake, submit a request at Zuora Global Support.

The following table shows details of each supported table type:

Table type Sync by default List of available objects
Billing - basic standard objects Yes See Basic standard objects.
Billing - other standard objects No See Other standard objects.
Billing - custom objects Yes All custom objects in your tenant are supported. For more information, see Custom Objects.
Revenue objects Yes See Available Revenue objects.
Tables for monitoring (N/A) See Tables for monitoring.

Available Billing objects

Zuora supports syncing standard and custom objects to Snowflake.

Basic standard objects

Zuora syncs the following basic standard objects to Snowflake by default:

  • Account
  • AccountingCode
  • AccountingPeriod
  • Amendment
  • Contact
  • CreditMemo
  • CreditMemoItem
  • CreditTaxationItem
  • DebitMemo
  • DebitMemoItem
  • DebitTaxationItem
  • Invoice
  • InvoiceItem
  • JournalEntry
  • JournalEntryItem
  • OrderAction
  • OrderMrr
  • OrderQuantity
  • Orders
  • OrderTcb
  • OrderTcv
  • Payment
  • PaymentMethod
  • PaymentSchedule
  • PaymentScheduleItem
  • Product
  • ProductRatePlan
  • ProductRatePlanCharge
  • RatePlan
  • RatePlanCharge
  • Refund
  • RevenueEvent
  • RevenueEventInvoiceItem
  • RevenueSchedule
  • RevenueScheduleItem
  • Subscription
  • TaxationItem

Other standard objects

Zuora does not sync the following standard objects to Snowflake by default. If you want Zuora to sync these objects, submit a request at Zuora Global Support. Additional fees might apply.

  • BillingRun
  • CreditBalanceAdjustment
  • CreditMemoApplication
  • CreditMemoApplicationItem
  • CreditMemoPart
  • CreditMemoPartItem
  • DailyConsumptionSummary
  • Feature
  • FXCustomRate
  • GuidedUsage
  • InvoiceAdjustment
  • InvoiceItemAdjustment
  • InvoicePayment
  • JournalRun
  • MinCommitPeriod
  • MinCommitTransaction
  • NonSubscriptionInvoiceItem
  • OrderActionRatePlan
  • OrderContact
  • OrderElp
  • OrderItem
  • OrderLineItem
  • PaymentApplication
  • PaymentApplicationItem
  • PaymentMethodSnapshot
  • PaymentPart
  • PaymentPartItem
  • PaymentRun
  • PaymentTransactionLog
  • PrepaidBalance
  • PrepaidBalanceFund
  • PrepaidBalanceTransaction
  • ProcessedUsage
  • ProductFeature
  • ProductRatePlanChargeTier
  • RatePlanChargeTier
  • RatingResult
  • RealTimeRatingProcessedUsage
  • RefundApplication
  • RefundApplicationItem
  • RefundInvoicePayment
  • RefundPart
  • RefundPartItem
  • RevenueChargeSummary
  • RevenueChargeSummaryItem
  • RevenueEventCreditMemoItem
  • RevenueEventDebitMemoItem
  • RevenueEventInvoiceItemAdjustment
  • RevenueEventItem
  • RevenueEventItemCreditMemoItem
  • RevenueEventItemDebitMemoItem
  • RevenueEventItemInvoiceItem
  • RevenueEventItemInvoiceItemAdjustment
  • RevenueEventType
  • RevenueScheduleCreditMemoItem
  • RevenueScheduleDebitMemoItem
  • RevenueScheduleInvoiceItem
  • RevenueScheduleInvoiceItemAdjustment
  • RevenueScheduleItemCreditMemoItem
  • RevenueScheduleItemDebitMemoItem
  • RevenueScheduleItemInvoiceItem
  • RevenueScheduleItemInvoiceItemAdjustment
  • SubscriptionProductFeature
  • SubscriptionStatusHistory
  • UpdaterBatch
  • UpdaterDetail
  • Usage
  • User
  • ValidityPeriodSummary

Custom objects

Zuora syncs all custom objects in your tenant to Snowflake by default.

The custom object names in Snowflake are consistent with the custom object names in Data Query, which are prefixed with default__. For example, default__vehicle.

Available Revenue objects

Zuora syncs the following Revenue objects to Snowflake by default:

  • REVENUECALENDAR
  • REVENUECONTRACT
  • REVENUECONTRACTACCOUNTINGENTRIES
  • REVENUECONTRACTACCOUNTINGSEGMENTS
  • REVENUECONTRACTACCOUNTINGTYPE
  • REVENUECONTRACTACTIONS
  • REVENUECONTRACTAPPROVALS
  • REVENUECONTRACTBILLSDIMENSIONS
  • REVENUECONTRACTBILLSFACTS
  • REVENUECONTRACTCOSTDIMENSIONS
  • REVENUECONTRACTCOSTFACTS
  • REVENUECONTRACTHOLDS
  • REVENUECONTRACTLINESDIMENSIONS
  • REVENUECONTRACTLINESFACTS
  • REVENUECONTRACTMJENTRIESDIMENSIONS
  • REVENUECONTRACTMJENTRIESFACTS
  • REVENUECONTRACTVCDIMENSIONS
  • REVENUECONTRACTVCFACTS
  • REVENUEPERIODS

Tables for monitoring

The following tables in Snowflake are generated by Zuora for data monitoring purposes:

FAQs

  • How frequently is the shared database updated with the latest data?

    The frequency at which data is synchronized into your Snowflake warehouse is configurable. Typically, it is advisable for you to choose to synchronize data every 15 or 60 minutes, although options are available for lower latency. Additional fees are applicable depending on the latency setting. Contact Zuora to discuss options. 

  • Is it possible for Zuora to access data in my organization's Snowflake account?

    No.

  • Are there limits to how much data Zuora will share to my Snowflake account?

    Yes, Zuora will share data up to your committed TAR level.

  • What does TAR stand for?

    TAR stands for Total Active Rows and is the total count of rows made available from Zuora to your Snowflake account in your secure data share. Zuora will exclude data from INFORMATION_SCHEMA and TAR_USAGE_HISTORY in the total active row count. Zuora will include soft deleted records as part of the total active row count. 
    Customers are able to view and monitor total active rows by querying the TAR_USAGE_HISTORY table provided by Zuora, which is a daily snapshot and accounting of TAR levels.
    Your purchase of this feature commits you to a specific total committed TAR level for each tenant identified on the applicable Order Form.

  • What happens if the data in my Zuora tenant grows so much that my committed TARs level is exceeded?

    If your committed TAR level is exceeded, Zuora will pause new data updates into your share from Zuora until your TAR level is increased. Contact your Zuora account representative to discuss options for increasing your allowance if you are approaching your TAR limit.

  • Are there any limits associated with querying the shared database in Snowflake?

    No. You can query the shared database as if it were stored in your organization's Snowflake account. However, your organization is responsible for the compute costs of querying the shared database.

  • Are there any costs associated with querying the shared database in Snowflake?

    Yes. All queries that you run inside your Snowflake account against the shared database will consume your organization's Snowflake compute credits. Your organization will directly pay Snowflake for those compute credits. However, Zuora covers all data storage costs associated with the shared database. Your organization will not incur any additional storage fees from Snowflake as a result of the share. In other words, your organization pays for all the Snowflake compute, but nothing extra for Snowflake storage.

    In addition, access to the shared database will involve additional Zuora license fees.

  • Does Snowflake support ZOQL?

    No. You can use Snowflake's SQL syntax to query data. For more information, see SQL Command Reference in the Snowflake documentation.

  • Are the business object tables in Snowflake the same as those in Zuora?

    Yes. However, you must refer to the supported objects in Snowflake because not all available objects in Data Query are supported in Snowflake.

  • Are slowly changing dimensions supported?

    Not at this time. Zuora provides an exact replica of what you can find in Data Query.

  • How long do I have to wait before I can use Zuora Secure Data Share for Snowflake?

    Up to 21 days from the time you provide Zuora with your target Snowflake account details.

  • On what data model is Secure Share for Snowflake based?

    Secure Share for Snowflake is modeled based on the Data Query framework, designed to mirror Data Query’s object definition and adhere to its design principles. This strategic approach ensures that Secure Share maintains full compatibility with Data Query. However, Secure Share only supports a specific subset of Data Query objects. For more information on the detailed list of supported tables, see Tables and columns available in Snowflake.

  • How does Secure Share handle schema changes from Data Query?

    To maintain consistency within the system, Secure Share automatically updates its schema to mirror any changes made in Data Query. This includes adding new fields and removing obsolete ones. This process ensures that Secure Share remains aligned with Data Query, providing users with a seamless and accurate data sharing experience.

  • What are the best practices for querying in Secure Share to ensure efficient data retrieval?

    Zuora recommends that you use queries that specify particular column names instead of utilizing SELECT *. This practice helps prevent disruptions that could arise from schema changes, such as the addition of new fields or the removal of obsolete ones. By selecting specific columns in your queries, you can enhance the accuracy and efficiency of data retrieval, ensuring that your operations remain streamlined and effective.

Availability

Zuora Secure Data Share for Snowflake allows Zuora, as a Data Provider to Snowflake Data Cloud, to securely share data with data consumers across different regions and cloud platforms. Cross-region data share is supported for Snowflake consumer accounts hosted on provisioned AWS or Azure regions.

The following table lists the provisioned clouds and regions in alphabetical order:

Cloud Region
AWS AP Northeast 1 (Tokyo)
AP Southeast 2 (Sydney)
CA Central 1 (Central)
EU Central 1 (Frankfurt)
EU West 1 (Ireland)
US East 1 (N. Virginia)
US East 2 (Ohio)
US West 1 (N. California)
US West 2 (Oregon)
Azure Australia East (New South Wales)
East US 2 (Virginia)
West Europe (Netherlands)
West US 2 (Washington)

Limitations

  • Google Cloud Platform is not yet supported for cross-cloud and cross-region availability.
  • EU-US data transfer is not advisable because of legal restrictions. For these types of scenarios, please contact your Zuora account representative to discuss.
  • Zuora warehouse does not support the Multi-Org functionality. That is, when using Zuora Warehouse as a data source, the retrieved data may not be automatically filtered based on the user's organization within a tenant, presenting a limitation in handling distinct organizational structures.

Zuora Billing specific limitation

All monetary values in the shared database are in transaction currency. Currently, conversions to “HomeCurrency” are not synced.

Zuora Revenue specific limitations

  • The testing and trial requirements can be discussed by contacting your Zuora account representative.
  • The minimum patch version to have this feature enabled is 37.009.06.00. To upgrade your instance to the recommended patch version, submit a request at Zuora Global Support.
  • All objects available in the Zuora secure data share do not support custom display labels; all columns will have the standard label.
  • Revenue secure share data does not include all the custom objects available through the data query utility.
  • Pre-summary, summary, and waterfall data objects, available through BI Views, will not be available from revenue secure share.
  • All the views created and computed using your snowflake account can cost you additional charges.
  • This feature does not fall in the standard Zuora licensing structure as this is an add-on feature with additional cost.