Custom fields and legacy custom fields
Depending on the object type and how custom fields are created, some custom fields on standard objects are recognized as legacy custom fields, while others are referred to as custom fields or advanced custom fields.
The following standard objects support both custom fields and legacy custom fields:
- Account
- Credit Memo
- Debit Memo
- EInvoiceProfile (only if the E-Invoicing feature is enabled)
- Invoice
- Payment
- Product
- Product Rate Plan
- Product Rate Plan Charge
- Refund
- Subscription
- Subscription Rate Plan
- Subscription Rate Plan Charge
- Usage
For other standard objects, only legacy custom fields are supported.
Comparison between custom fields and legacy custom fields
Zuora recommends using custom fields if possible because custom fields are more powerful and have fewer limitations than legacy custom fields.
The following table describes the differences between custom fields and legacy custom fields.
Custom field | Legacy custom field | |
---|---|---|
Supported custom field types for an object |
All custom field types, except the Relationship type that applies only to custom objects. See Custom field types for a complete list. |
|
The maximum number of total custom fields on an object |
Varies depending on your Zuora edition or Zuora modules:
For more information, see Zuora Editions and Zuora Modules. |
50 |
The maximum number of filterable custom fields on an object |
Varies depending on your Zuora edition or Zuora modules:
For more information, see Zuora Editions and Zuora Modules. |
10 |
Support self-serve conversion from indexed to non-indexed and vice versa? | Yes | No |
Support the Unique setting? (Enforce a unique value restriction on the custom field) |
Yes Applies only to custom fields on custom objects. |
No |
Support the Auditable setting? (Enable Audit Trail to record the changes of the custom field) |
Yes Applies only to custom fields on custom objects. |
No |
Support the UI Read Only setting? (Restrict the access to the custom field in the UI to read-only) |
No | Yes |
Support for sharing with sub-entities? |
No |
Yes For more information, see Share custom fields with sub-entities. |
How to create? |
Via the Object Manager. For more information, see Define an advanced custom field on a standard object. |
Via the Object Manager or the Manage Custom Fields settings page. For more information, see Define a legacy custom field on a standard object. |
Define an advanced custom field on a standard object
You can define advanced custom fields on a standard object via the Object Manager. For more information, see Manage custom fields with the Object Manager.
If the standard object does not support advanced custom fields, you can define only legacy custom fields on the object. For more information, see Define a legacy custom field on a standard object.
Define a legacy custom field on a standard object
You can define a legacy custom field on a standard object in the following ways:
- If the standard object supports advanced custom fields, you can define legacy custom fields only on the Manage Custom Fields settings page. For more information, see Manage legacy custom fields.
- If the standard object does not support advanced custom fields, you can define legacy custom fields via the Object Manager or the Manage Custom Fields settings page. For more information, see Manage custom fields with the Object Manager and Manage legacy custom fields.
Identify legacy custom fields on a standard object
To identify legacy custom fields on a standard object, perform the following steps:
- Navigate to Platform > Object Manager in the left navigation menu.
- In the Objects tab, locate the standard object you want to view and click the object name in the Label column. The object detail page opens.
Zuora lists all custom fields in the Custom Fields tab on the object detail page. If the value in the Legacy column is true, the custom field is a legacy custom field.