You can create, view, edit, and remove Zuora Billing custom fields from the Zuora UI or through the Zuora APIs. You can also use the Customer Account Export and Import functions to export and import, respectively, the values for an account's custom fields.
Indexing custom fields in many instances offers performance gains. For example, tenants who perform synchronous API queries against their custom fields can expect to see performance gains. The following index options are available:
The following is an example of indexed and non-indexed custom fields for an object:
If you have less than 10 custom fields per object, these fields are automatically indexed. If you have more than 10 custom fields on an object, the first 10 custom fields created are automatically indexed. You can manage indexed and non-indexed fields from the Zuora UI.
To create a custom field:
When creating a custom field of type Picklist, note that every 100 picklist values will add 15-20 milliseconds to the subscribe() call.
The field name that is displayed on the Zuora UI.
The field name that is used in the Zuora APIs.
The API Name is case-sensitive. When you use this custom fields in API calls, you must specify the API name exactly as defined in the correct case.
The suffix "__c" (two underscores and the letter "c") is automatically appended to the end of the API name when the field is created.
Optional description of what the new custom field is for.
Whether the field is required.
For example, if you create a required custom field for the Account object, users will need to specify a value for the field each time they create a new customer account.
UI Read Only
Whether the field is read-only on the Zuora UI.
If selected, the custom field will not be updatable via the UI, but will be updatable via the APIs.
To edit a custom field, select the field, then click Edit. You can edit all of the properties of the field except for the data type. You cannot change the data type of an existing field, and you cannot remove items from a picklist list after saving the custom field. After editing a custom field, you must update your WSDL to reflect the changes.
To remove a custom field, click Remove, located to the right of the Required column in the list of fields.
Editing a field that is already in use may affect your existing integrations.
If you edit an existing custom field, you must make the corresponding change to your WSDL and your integration client.
Because of this, changing the custom field definition can break existing clients if you do not make the corresponding offline change in your integration client.
Keep track of your custom fields so that you can verify your custom fields after updating your WSDL.
The following example describes some of the considerations to keep in mind while editing and deploying custom fields.
In the first example, Company A created a custom text field for the Account object with the following attributes:
Company A can then edit their WSDL to include the custom field
CF_Name__c as one of the API fields of the Account object, and write business logic in their integration client (their own web site or a similar client) to collect information from their end-user for
CF_Name__c and issue an API call to Zuora.
If Company A then changes the API Name to
CF_Nick_Name__c without informing their customers, the existing customer clients will continue to send the name
CF_Name__c to Zuora, rather than the updated name. In this case, the old name will not be recognized and will cause an error.
Similarly, if Company A changes the field length from
10 without notifying their customers, a client that sends the value "Jennifer Smith" as
CF_Name__c to Zuora in the create call will receive an "Invalid_value" error.
You can only update the "Invoice Detail" custom field, in other words the Invoice Item custom field, through a Zuora API call against the InvoiceItem object. This is only field on the Invoice Item that supports the
See Zuora Object Custom Fields for more information.