Sync business-critical data from your data warehouse to Zuora with Hightouch
Setup
After selecting Zuora from our Destinations catalog, you will be prompted to enter your Zuora Base URL, Client ID, and Client Secret.
Use this table from Zuora to select the correct Zuora URL, and follow these steps to create an OAuth Client in Zuora that will provide you with the required Client ID and Secret.
Syncing
Hightouch supports syncing to the following Zuora objects:
AccountsSubscriptionsUsage
Sync modes
Here are the possible modes for how to alter Outreach objects:
- Upsert: pushes new objects to Zuora and updates fields that change in your warehouse.
- Supported for 
AccountsandSubscriptions. 
 - Supported for 
 - Update: updates particular fields on existing objects in Zuora. It doesn't add new objects.
- Supported for 
Accounts,Subscriptions, andUsage. 
 - Supported for 
 - Insert: adds new objects in Zuora.
- Supported for 
Usage. 
 - Supported for 
 
Record matching
Records can be matched from your source to your Zuora workspace by the given fields in the dropdown.
The following are supported record ID's for each object:
Accounts:Account Number,Account IDSubscription:Subscription Number,Subscription IDUsage:Usage Record ID

A record ID is required when performing Upsert or Update actions, but not
Insert.
Field mapping
You can sync columns from your source to Zuora's object properties, including custom fields.
Required fields
Each object / action pair will have their own required properties to be mapped. These required properties will be in their own mapping section during sync configuration. Be sure to scroll down to our Zuora Object Notes to see which fields are required, and their respective data types.

Optional and custom fields
Any optional built-in fields or custom fields sent to Zuora will be mapped in the custom mappings section of sync configuration. Scroll down to our Zuora Object Notes to see Zuora's optional built-in fields, and their respective data types.

Helpful tip:
Use our advanced mapper to fill in static values for numbers or string values that may be consistent across your sync, that may not have a column in your data warehouse. See the example below.

Zuora object notes
Accounts
The following fields can be used for Accounts for each respective action.
Upsert (click to view table)
| Field Name | Notes | Required | 
|---|---|---|
| accountNumber | string | |
| applyCredit | boolean | |
| applyCreditBalance | boolean | |
| autoPay | boolean | |
| batch | string | |
| billCycleDay | integer | yes | 
| billToContact.firstName | string | yes | 
| billToContact.lastName | string | yes | 
| collect | boolean | |
| communicationProfileId | string | |
| creditMemoReasonCode | string | |
| creditMemoTemplateId | string | |
| crmId | string | |
| currency | string | yes | 
| debitMemoTemplateId | string | |
| documentDate | string | |
| invoice | boolean | |
| invoiceCollect | boolean | |
| invoiceTargetDate | string | |
| invoiceTemplateId | string | |
| name | string | yes | 
| notes | string | |
| parentId | string | |
| paymentGateway | string | |
| paymentTerm | string | |
| runBilling | boolean | |
| salesRep | string | |
| sequenceSetId | string | |
| soldToSameAsBillTo | boolean | |
| tagging | string | |
| targetDate | string | |
| Class__NS | string | |
| CustomerType__NS | string | |
| Department__NS | string | |
| IntegrationId__NS | string | |
| IntegrationStatus__NS | string | |
| Location__N | string | |
| Subsidiary__NS | string | |
| SyncDate__NS | string | |
| SynctoNetSuite__NS | string | 
Update (click to view table)
| Field Name | Notes | 
|---|---|
| autoPay | boolean | 
| batch | string | 
| billCycleDay | integer | 
| billToContact | Contact | 
| communicationProfileId | string | 
| creditMemoTemplateId | string | 
| crmId | string | 
| debitMemoTemplateId | string | 
| defaultPaymentMethodId | string | 
| invoiceDeliveryPrefsEmail | boolean | 
| invoiceDeliveryPrefsPrint | boolean | 
| invoiceTemplateId | string | 
| name | string | 
| notes | string | 
| parentId | string | 
| paymentGateway | string | 
| paymentTerm | string | 
| salesRep | string | 
| sequenceSetId | string | 
| soldToContact | Contact | 
| tagging | object | 
| Class__NS | string | 
| CustomerType__NS | string | 
| Department__NS | string | 
| IntegrationId__NS | string | 
| IntegrationStatus__NS | string | 
| Location__NS | string | 
| Subsidiary__NS | string | 
| SyncDate__NS | string | 
| SynctoNetSuite__NS | string | 
Notes:
- By default, 
autoPayis set tofalsefor insertedAccounts, unless it's defined in the mappings for your sync.- If you would like to set 
autoPayto true, you must include either apaymentMethod,creditCard, orhmpCreditCardPaymentMethodIdin your mappings. 
 - If you would like to set 
 - If either the 
workEmailorpersonalEmailfields are included in mappings, the account's email delivery preference is automatically set totrue. - To see more information on any respective field, view the Zuora API docs for Creating an account or Updating an account via the API.
 
Subscriptions
The following fields can be used for Subscriptions for each respective action.
Upsert (click to view table)
| Field Name | Notes | Required | 
|---|---|---|
| accountKey | string | yes | 
| applyCredit | boolean | |
| applyCreditBalance | boolean | |
| autoRenew | boolean | |
| collect | boolean | |
| contractEffectiveDate | string | yes | 
| creditMemoReasonCode | string | |
| customerAcceptanceDate | string | |
| documentDate | string | |
| externallyManagedBy | string | |
| gatewayId | string | |
| initialTerm | integer | |
| initialTermPeriodType | string | |
| invoice | boolean | |
| invoiceCollect | boolean | |
| invoiceOwnerAccountKey | string | |
| invoiceSeparately | boolean | |
| invoiceTargetDate | string | |
| notes | string | |
| paymentMethodId | string | |
| renewalSetting | string | |
| renewalTerm | integer | yes | 
| renewalTermPeriodType | string | |
| runBilling | boolean | |
| serviceActivationDate | string | |
| subscriptionNumber | string | |
| subscribetoRatePlans.productRatePlanId | string | yes | 
| targetDate | string | |
| termStartDate | string | |
| termType | string | yes | 
| CpqBundleJsonId**QT | string | |
| OpportunityCloseDate**QT | string | |
| OpportunityName**QT | string | |
| QuoteBusinessType**QT | string | |
| QuoteNumber**QT | string | |
| QuoteType**QT | string | |
| IntegrationId**NS | string | |
| IntegrationStatus**NS | string | |
| Project**NS | string | |
| SalesOrder**NS | string | |
| SyncDate__NS | string | 
Update (click to view table)
| Field Name | Notes | 
|---|---|
| add | Array of objects | 
| applicationOrder | Array of strings | 
| applyCredit | boolean | 
| applyCreditBalance | boolean | 
| autoRenew | boolean | 
| clearingExistingBillToContactId | boolean | 
| clearingExistingPaymentTerm | boolean | 
| collect | boolean | 
| creditMemoReasonCode | string | 
| currentTerm | integer | 
| currentTermPeriodType | string | 
| documentDate | string | 
| externallyManagedBy | string | 
| includeExistingDraftDocItems | boolean | 
| includeExistingDraftInvoiceItems | boolean | 
| invoice | boolean | 
| invoiceCollect | boolean | 
| invoiceSeparately | boolean | 
| invoiceTargetDate | string | 
| notes | string | 
| preview | boolean | 
| previewType | string | 
| renewalSetting | string | 
| renewalTerm | integer | 
| renewalTermPeriodType | string | 
| runBilling | boolean | 
| targetDate | string | 
| termStartDate | string | 
| termType | string | 
| CpqBundleJsonId__QT | string | 
| OpportunityCloseDate__QT | string | 
| OpportunityName__QT | string | 
| QuoteBusinessType__QT | string | 
| QuoteNumber__QT | string | 
| QuoteType__QT | string | 
| IntegrationId__NS | string | 
| IntegrationStatus__NS | string | 
| Project__NS | string | 
| SalesOrder__NS | string | 
| SyncDate__NS | string | 
Notes:
- Only the fields to be changed should be specified. If an empty field is submitted with this operation, the corresponding field in the account is emptied.
 - To see more information on any respective field, view the Zuora API docs for Creating a subscription or Updating a subscription via the API.
 
Usage
The following fields can be used for Usage for each respective action.
Insert (click to view table)
| Field Name | Type | Required | 
|---|---|---|
| AccountId | string | |
| AccountNumber | string | |
| ChargeId | string | |
| ChargeNumber | string | |
| Description | string | |
| EndDateTime | string <date-time> | |
| Quantity | double | yes | 
| StartDateTime | string <date-time> | yes | 
| SubmissionDateTime | string <date-time> | |
| SubscriptionId | string | |
| SubscriptionNumber | string | |
| UOM | string | yes | 
Update (click to view table)
| Field Name | Notes | 
|---|---|
| EndDateTime | string <date-time> | 
| Quantity | double | 
| RbeStatus | string | 
| StartDateTime | string <date-time> | 
| SubmissionDateTime | string <date-time> | 
| UOM | string | 
Notes
- Any field with a type of 
string <date-time>must be in the format"YYYY-MM-DDTHH:mm:ss". - To see more information on any respective field, view the Zuora API docs for Creating a usage record or Updating a usage record via the API.