Skip to main content

Account

Zuora

Account

An account is a customer account that collects all of the critical information about the customer, such as contact information, payment terms, and payment methods. This SOAP API reference describes the Account object and its fields.

Account Object

The Account object represents an individual customer account. Each Account object includes everything Zuora needs to bill and collect, such as addresses, payment methods, and payment terms.

Zuora uses the Account object to track all subscriptions, usage, and transactions for each customer account. Each account is a source of a recurring invoice stream.

Every subscription must be associated with an account. At least one active account must exist before any subscriptions can be created.

Supported Calls

You can use this object with the following calls:

Limits

Number of Subscriptions

The default maximum number of subscriptions allowed on an account is 12,000. However, if you have overridden the value of this limit for your tenant, the value will remain according to your configuration.

Zuora can increase the limit of subscriptions per account upon request. To increase the limit, see Zuora’s Performance Booster and Performance Booster Elite offerings.

Note that the method that Zuora uses to calculate the number of existing subscriptions on an account is explained as below.

When you create a new subscription on an account, the start and end dates of the subscription determine a time frame. When calculating the number of existing subscriptions on the account, Zuora only counts in those existing subscriptions that have a time frame that overlaps with the new subscription to be created. The time frame of an existing subscription is also determined by the start and end dates of the existing subscription. For an evergreen subscription, this time frame is without an end date.

Contacts per Account

100 contacts are allowed for each customer account.

Creating a Contract When Threshold is Exceeded

If you reach or exceed this limit, the following message is displayed:

You cannot create more than 100 contacts for each customer account. If you need to create this contact, please delete some others first.

Walkthroughs and use cases

You can see examples here:

Field Descriptions

All field names are case sensitive. Check enumerated values in descriptions to confirm capitalization and spacing. See Field Types for additional information.

Name Required to Create? Allowed Operations Description

AccountNumber

optional Create
Query
Update
Delete
Filter
Unique account number assigned to the account. You can modify the account number of a customer account only if the account has no subscriptions or draft subscriptions only. Otherwise, the account number cannot be modified.

Type: string
Character limit: 50
Version notes: --
Values: one of the following:

  • null to auto-generate
  • a string of 50 characters or fewer that doesn't begin with the default account number prefix
AdditionalEmailAddresses optional Create
Query
Update
Delete
Filter
List of additional email addresses to receive email notifications.

Type: string
Character limit: 1200
Version notes: WSDL 7.0+
Values: comma-separated list of email addresses

AllowInvoiceEdit optional Create
Query
Update
Delete
Filter

Indicates if associated invoices can be edited.

Type: boolean
Character limit: 5
Version notes: --
Values: true, false (default if left null)

AutoPay optional Create
Query
Update
Delete
Filter

Indicates if future payments are automatically collected when they're due during a Payment Run.

Type: boolean
Character limit: 5
Version notes: --
Values: true, false (default)

Balance NA

Query
Filter

Current outstanding balance for the account.

Type: decimal
Character limit: 16
Version notes: type is double for WSDL 18.0 and older
Values: automatically generated

Batch conditional Create
Query
Update
Delete
Filter

Organizes your customer accounts into groups to optimize your billing and payment operations.

Required if use the subscribe() call, optional for other supported calls.
Type: string
Character limit: 20
Version notes: --
Values:any system-defined batch (Batch1 - Batch50 or by name).

BcdSettingOption optional Create
Query
Update
Delete
Filter
Billing cycle day setting option.

Type: string
Character limit: 9
Version notes: --
Values: AutoSet, ManualSet

BillCycleDay required Create
Query
Update
Delete
Filter
Billing cycle day (BCD) on which bill runs generate invoices for the account.

Type: int
Character limit: 2
Version notes: WSDL 30.0+ 
Values: any activated system-defined bill cycle day (1 - 31)

BillToId

optional

Create
Query
Update
Delete
Filter
ID of the person to bill for the account.

Type: zns:ID
Character limit: 32
Version notes: --
Values: a valid contact ID for the account

CommunicationProfileId optional Create
Query
Update
Delete
Filter
Associates the account with a specified communication profile.

Type: zns:ID
Character limit: 32
Version notes: --
Values: a valid communication profile ID

CreatedById NA

Query
Filter

ID of the Zuora user who created the Account object.

Type: zns:ID
Character limit: 32
Version notes: WSDL 20.0+
Values: automatically generated

CreatedDate NA

Query
Filter

Date when the Account object was created.

Type: dateTime
Character limit: 29
Version notes: WSDL 20.0+
Values: automatically generated

CreditBalance NA

Query
Filter

Total credit balance for the account.

Type: decimal
Character limit: 16
Version notes: WSDL 22.0+
Values: automatically generated

CrmId optional Create
Query
Update
Delete
Filter
CRM account ID for the account. Used in Salesforce integration.

Type: string
Character limit: 100
Version notes: --
Values: a string of 100 characters or fewer

Currency required Create
Query
Update*
Delete
Filter

Currency that the customer is billed in. See Currency for more information.

You can update this value only when the account is in Draft status. Once the account is activated, you cannot update this value.

Type: string
Character limit: 100
Version notes: --
Values: a currency value defined in the Zuora Ui admin settings

CustomerServiceRepName optional Create
Query
Update
Delete
Filter
Name of the account's customer service representative, if applicable.

Type: string
Character limit: 50
Version notes: --
Values: a string of 50 characters or fewer

DefaultPaymentMethodId optional Create
Query
Update
Delete
Filter
ID of the default payment method for the account. This field is required if the AutoPay field is set to true.

Type: zns:ID
Character limit: 32
Version notes: --
Valuesa valid ID for an existing payment method

Gateway NA NA Deprecated at WSDL 23.0. Use the PaymentGateway field instead.
Id NA

Query
Filter

ID of object. Upon creation of this object, this field becomes AccountId.

Type: zns:ID
Character limit: 32
Version notes: --
Values: automatically generated

InvoiceDeliveryPrefsEmail optional Create
Query
Update
Delete
Filter
Indicates if the customer wants to receive invoices through email. 

Type: boolean
Character limit: 5
Version notes: --
Values: truefalse (default if left null)

InvoiceDeliveryPrefsPrint optional Create
Query
Update
Delete
Filter
Indicates if the customer wants to receive printed invoices, such as through postal mail.

Type: boolean
Character limit: 5
Version notes: --
Valuestruefalse (default if left null)

InvoiceTemplateId optional Create
Query
Update
Delete
Filter
The ID of the invoice template. Each customer account can use a specific invoice template for invoice generation.

Type: zns:ID
Character limit: 32
Version notes: --
Values: a valid template ID configured in Z-Billing Settings

To find the ID of your current invoice template:

In Zuora, navigate to Settings > Z-Billing > Manage Invoice Rules and Templates and click Show Id next to the template you want to use.

LastInvoiceDate optional

Query
Filter

The date when the previous invoice was generated for the account. The field value is null if no invoice has ever been generated for the account.

Type: 

  • date: Supported as of WSDL version 69+
  • dateTime: Supported through WSDL version 68

Character limit: 29

Version notes: --

Values: automatically generated

Name required Create
Query
Update
Delete
Filter
Name of the account as displayed in the Zuora UI.

Type: string
Character limit: 255
Version notes: -- 
Values: a string of 255 characters or fewer

Notes optional Create
Query
Update
Delete
Filter
 Comments about the account.

Type: string
Character limit: 65,535
Version notes: --
Values: a string of 65,535 characters

ParentId optional Create
Query
Update
Delete
Filter
Identifier of the parent customer account for this Account object. Use this field if you have customer hierarchy enabled.

Type: zns:ID
Character limit: 32
Version notes: --
Values: a valid account ID

PaymentGateway optional Create
Query
Update
Delete
Filter
Gateway used for processing electronic payments and refunds.

Type: string
Character limit: 40
Version notes: WSDL 23.0+
Values: one of the following:

  • a valid configured gateway name
  • Null to inherit the default value set in Payment Settings
  • If no default payment gateway is in the tenant, this field is required for the create and update.
PaymentTerm required Create
Query
Update
Delete
Filter
Indicates when the customer pays for subscriptions.

Type: string
Character limit: 100
Version notes: --
Valuesa valid, active payment term defined in the web-based UI administrative settings

PurchaseOrderNumber optional Create
Query
Update
Delete
Filter
The number of the purchase order associated with this account. Purchase order information generally comes from customers.

Type: string
Character limit: 100
Version notes: --
Values: a string of 100 characters or fewer

SalesRepName optional Create
Query
Update
Delete
Filter
The name of the sales representative associated with this account, if applicable.

Type: string
Character limit: 50
Version notes: --
Values: a string of 50 characters or fewer

SequenceSetId optional

Create
Query
Update
Delete
Filter

The ID of the billing document sequence set to assign to the customer account. The billing documents to generate for this account will adopt the prefix and starting document number configured in the sequence set.

Type: string
Character limit: 32
Version notes: WSDL 96.0+
Values: a string of 32 characters or fewer

SoldToId

optional

Create
Query
Update
Delete
Filter
ID of the person who bought the subscription associated with the account.

Type: zns:ID
Character limit: 32
Version notes: --
Values: a valid contact ID for the account

Status required Create
Query
Update
Delete
Filter
Status of the account in the system.

Type: string
Character limit: 8
Version notes: --
Values: one of the following:

  • leave null if you're using subscribe()
  • if you're using create():
  • Draft
  • Active
  • Canceled
TaxCompanyCode optional Create
Query
Update
Subscribe

Unique code that identifies a company account in Avalara. Use this field to calculate taxes based on origin and sold-to addresses in Avalara.

This feature is in Limited Availability. If you want to have access to the feature, submit a request at Zuora Global Support

Type: string
Character limit: 50
Version notes: WSDL 70.0+
Values: a valid company code

TaxExemptCertificateID optional Create
Query
Update
Delete
Filter
ID of your customer's tax exemption certificate.

Type: string
Character limit: 32
Version notes: requires Z-Tax
Values: a string of 32 characters or fewer

TaxExemptCertificateType optional Create
Query
Update
Delete
Filter
Type of the tax exemption certificate that your customer holds. 

Type: string
Character limit: 32
Version notes: requires Z-Tax
Values: a string of 32 characters or fewer

TaxExemptDescription optional Create
Query
Update
Delete
Filter
Description of the tax exemption certificate that your customer holds.

Type: string
Character limit: 500
Version notes: requires Z-Tax
Values: a string of 500 characters or fewer

TaxExemptEffectiveDate optional Create
Query
Update
Delete
Filter
Date when the customer's tax exemption starts.

Type: 

  • date: Supported as of WSDL version 69+
  • dateTime: Supported through WSDL version 68

Character limit: 29
Version notesrequires Z-Tax

TaxExemptExpirationDate optional Create
Query
Update
Delete
Filter
Date when the customer's tax exemption certificate expires

Type: 

  • date: Supported as of WSDL version 69+
  • dateTime: Supported through WSDL version 68

Character limit: 29
Version notesrequires Z-Tax

TaxExemptIssuingJurisdiction optional Create
Query
Update
Delete
Filter
Indicates the jurisdiction in which the customer's tax exemption certificate was issued.

Type: string
Character limit: 32
Version notesrequires Z-Tax
Values: a string of 32 characters or fewer

TaxExemptStatus conditional Create
Query
Update
Delete
Filter

Status of the account's tax exemption.

Required if you use Z-Tax. This field is unavailable if you don't use Z-Tax.

Type: string (enum)
Character limit: 19
Version notes: requires Z-Tax
Values: one of the following:

  • Yes
  • No (default)
  • PendingVerification
TotalInvoiceBalance NA

Query
Filter

Total balance of the account's invoices.

Type: decimal (currency)
Character limit: 16
Version notes: requires Credit Balances
Values: a valid currency value

UpdatedById NA

Query
Filter

ID of the user who last updated the account.

Type: zns:IDzns:ID
Character limit: 32
Version notes: --
Values: automatically generated

UpdatedDate NA

Query
Filter

Date when the account was last updated.

Type: dateTime
Character limit: 29
Version notes: --
Values: automatically generated

VATId optional Create
Query
Update
Delete
Filter

EU Value Added Tax ID.

This feature is in Limited Availability. If you want to have access to the feature, submit a request at Zuora Global Support

Type: string
Character limit: 25
Version notesrequires taxation, WSDL 70.0+
Values: a valid Value Added Tax ID

Additional Field Detail

AccountNumber

The unique account number assigned to the account being created. An Account object must include an AccountNumber value, but you don't have to specify the value.

If you choose not to specify a value for the AccountNumber field when you create an account object, then Zuora assigns a unique account number for you based on the account number prefix specified during setup.

If you choose to specify an AccountNumber value, then you need to use a unique string that doesn't use the account number prefix specified during setup; that prefix is exclusively for Zuora's autopopulation.

You can edit this field until there are posted invoices on the account.

AllowInvoiceEdit

Indicates if associated invoices can be edited. Set to true to allow editing. Set to false or omit the field to prevent editing.

If you omit this field in the following calls, then Zuora uses the default value, false:

AutoPay

Indicates if future payments are automatically collected when they're due during a Payment Run. Set to true to automatically bill. Set to false to or omit the field to prevent automatic billing.

You can only set this value to true when the default payment method is an electronic payment method. If you use the subscribe() call, then you need to pass an electronic method, such as a credit card. If you use the create(account) call, then you need to set the default method to an electronic payment method before you activate the account and before you set the AutoPay value to true.

Batch 

A batch organizes your customer accounts into groups to optimize your billing and payment operations. For example, you can create a batch of accounts that are never processed in bill runs because they're canceled, test, or free trial accounts. You can create other batches that group accounts by region or industry.

BillCycleDay 

Indicates the account's billing cycle day (BCD), which is when the bill runs generate invoices for the account. To avoid proration charges on the first invoice, set this field to the same day as the account was created.

If you want the BCD to be the end of the month, regardless of the number of days in the month, then set the BillCycleDay value to 31.

For WSDL 30 - 32: Set the value to 0 to automatically set the BCD to the same day as the triggering date of the account's first recurring charge. This auto-set function applies only to recurring charges, not to one-time charges nor usage charges.

For WSDL 33+: If you want to automatically set the BCD to the same day as the triggering date of the account's first recurring charge, then set the optional field, BcdSettingOption to AutoSet, and set the BillCycleDay field to null or to 0.

BillToId 

The ID of the person to bill for the account. This value can be the same as the SoldToId value.

If you don't specify a value for this field in a subscribe() call, then Zuora generates the ID from the specified contact.

This field is required for active accounts, but optional for draft accounts.

CommunicationProfileId

Associates the account with a specified communication profile, which is a set of policies that determine how and which notifications are sent to users with the specified communication profile.

Use this field with a subscribe() call for a new subscription.

CreditBalance

The total credit balance for the account. A credit balance represents the total amount of credit that can be applied to future invoices or refunded to a customer. For example, a customer pays for a one-year subscription, but cancels after two months. You can retain the amount the customer paid and allow the customer to use that credit to pay toward another invoice.

CrmId 

The CRM account ID for the account. If you create this Account object with a subscribe() call, then you need to return later to set or update this value if you want this field in the account.

A CRM is a customer relationship management system, such as Salesforce.com. The CRM ID is the account ID from that system. If you are using Salesforce.com as your CRM, then Zuora 360 uses the CrmId field value to synchronize information from ZBilling to Salesforce.com.

Id

The ID of this object. Every object has a unique identifier that Zuora automatically assigns upon creation. You use this ID later when you work with the object. For example, if you send an amend() call to modify an existing subscription, then you need to include the specific Subscription object's ID with the call.

The ID for the Account object is AccountId.

InvoiceDeliveryPrefsEmail

Indicates if the customer wants to receive invoices through email.

If you set this value to true, there must be a value for Contact.PersonalEmail or Contact.WorkEmail, otherwise you will receive an error message.

PaymentTerm 

Indicates when the customer pays for subscriptions. The field values are defined in the web-based UI on the Define Payment Terms page. Common payment terms are Due Upon Receipt and Net 60, but your specific values depend on your own configuration.

SoldToId 

The ID of the person who bought the subscription associated with the account. This value can be the same as the BillToId value.

This field is required for active accounts, but optional for draft accounts.

Status

The status of the account in the system.

Omit this field when you use a subscribe() call, which automatically sets the Status value to Active.

Specify a value for this field when you use a create() call.

Include contact IDs in the BillToId and SoldToId fields when you change the Status value to Active.

Cancel all subscriptions associated with this account before you change the Status value to Canceled. You can't cancel an account that has active subscriptions.

There are a few rules about updating the status of accounts:

  • Draft account: You can update a Draft account to Active, assuming the Bill To/Sold To Contacts are assigned. 
  • Active Account: You can update an Active account to Canceled status only if all subscriptions for the account have been canceled (the subscription's Status is set to Cancelled).
  • Cancelled Account: You can update a Canceled account to Active status at any time. However, you cannot update a canceled account to Draft status. 
  • You cannot update an Active or Cancelled account to Draft.

Some fields can only be updated while the object is still in Draft status. These are noted in the table above with an asterisk (*) next to the word "Update". 

Account Number cannot be updated as well when it's associated with an Invoice.

TaxExemptEffectiveDate and TaxExemptExpirationDate

The TaxExemptEffectiveDate and TaxExemptExpirationDate fields exist in Zuora WSDL for backward compatibility with custom implementations accessing Zuora. The fields are not used in the Zuora applications; they do not affect the current integration with payment gateways.

You can use these fields as custom fields in your customization.