Supported entities
Custom properties can be defined for the following entity types:- Customer
- Subscription
- Invoice
- Credit note
Property types
When you create a property you pick a type. The type drives how the value is rendered in the app and how it is validated on write.Defining a property
Go to Settings > Custom Properties and click New property.1
Choose the entity type
Select whether the property applies to Customers, Subscriptions, Invoices or Credit notes.
A property belongs to a single entity type.
2
Set a key and a name
- Key — the immutable machine name used in the API and in webhook payloads
(e.g.
crm_account_id). It may only contain letters, digits and underscores, and must be unique per entity type. The key cannot be changed after creation, so pick a stable one. - Name — the human-friendly label shown in the app.
- Description (optional) — a short note explaining what the property is for.
3
Pick the type and its constraints
Choose one of the property types. Depending on the type you can configure
extra rules:
- Single / Multi select — the list of allowed options.
- Number — an optional minimum and maximum.
- Text — an optional maximum length.
4
Set required and default (optional)
- Required — when enabled, the property must be present when the entity is created or fully updated through the API.
- Default value — pre-filled when no value is supplied.
- Display order — controls where the property appears relative to the others.
Filling in values
Once a property is defined, it shows up automatically:- On the entity’s create and edit forms in the app.
- As a column in the entity’s list view.
- On the entity’s detail view.
Using values in the API and webhooks
Custom property values are exposed as a JSON object, keyed by each property’skey, on the
corresponding entity in the REST and gRPC APIs, and on the matching webhook events. For example an
invoice or credit note payload carries a custom_properties object: