Object Types
The sidebar lists every registered object type. Each type has a set of built-in fields (read-only, defined in code) and optionally supports custom fields that admins can create, edit, and delete.
Revenue fields on the quote, order, and contract objects use one vocabulary end to end: ARR, Recurring Revenue Prorated, One-Time Revenue, and Phase Contract Value on phases; TCV, One-Time TCV, and Recurring TCV on the containers, plus First-Year ARR, Exit ARR, and Blended ARR on the quote block; Net Unit Price, Net Amount, and Net Amount Prorated on lines. The same names appear on the Salesforce managed package objects.
Built-in Fields
Every object type ships with built-in fields that cannot be removed or renamed. These cover the essential data for each object — things likename, sku, price, quantity, etc.
Built-in fields are displayed in a read-only table showing:
- Name — human-readable label
- Key — the programmatic identifier (used in formulas and rules)
- Type — the data type (text, number, currency, boolean, etc.)
- Description — what the field represents
Custom Fields
Custom fields let you extend any extendable object type with additional data specific to your business. They are stored per-account and scoped to a single object type.Supported Field Kinds
Creating a Custom Field
- Navigate to Admin > Pricebook > Object Explorer
- Select an object type from the sidebar (e.g. Product)
- Click Add Custom Field
- Fill in the form:
- Name — display label shown in the UI
- Key — programmatic identifier (lowercase letters, numbers, and underscores only). This cannot be changed after creation.
- Kind — the field type (see table above)
- Description — optional explanatory text
- Configure kind-specific settings (precision, options, formula expression, etc.)
- Click Submit
Editing and Deleting Custom Fields
Custom fields can be edited by clicking the Edit button in the custom fields table. The key cannot be changed after creation. Deletion is blocked when a field is:- Mapped to a CRM field — unmap it in your CRM integration settings first
- Referenced by a formula field - remove the reference from the formula first:
quote.custom_attributes.{key},company.custom_attributes.{key}, a line’scustom_attributes.{key}orproduct.custom_attributes.{key}(row.custom_attributes.{key}androw.product.custom_attributes.{key}for a Quote Line formula’s own line), or a phase’scustom_attributes.{key}in a Quote Block formula - Referenced by a pricing rule — remove the
config.{key}reference from the rule first
Using Custom Fields
In Formulas
Formula fields read custom fields under their object’scustom_attributes. A Quote Block field with key installation_cost is quote.custom_attributes.installation_cost in a Quote Block or Quote Line formula. A Quote Line formula reads its own line’s fields as row.custom_attributes.{key}, and any line’s, inside FILTER or MAP over phase.lines or quote.lines, as line.custom_attributes.{key}. A Quote Block formula reads each phase’s Quote Phase formula fields inside FILTER or MAP over quote.phases, as phase.custom_attributes.{key}: SUM(MAP(quote.phases, phase, phase.custom_attributes.margin)) adds them up. A formula field never reads another formula field on its own object, or one worked out after it: Quote Line formulas come first, then Quote Phase, then Quote Block.
In Rules
Custom fields can be referenced in pricing rules usingconfig.{key}. This lets you build validation and pricing logic around your custom data.

