Skip to main content
Flexibility and customization are key aspects of Hyperline. Custom properties let you represent and store all the extra data you need. You can define custom properties and associate them with customer, product, subscription, and invoice entities. You can also use subscription custom properties in subscription templates. Custom property values support a range of types, including text, email, number, boolean, date, select, and multi-select.

Use cases

Custom properties provide a wide range of possibilities. For example, you can use them to represent additional fields for your customers or integrate extra billing details into your subscriptions or subscription templates. They can also assist in entitlement and feature flagging by representing features activatable on specific products or subscriptions. Invoice custom properties can also scope both accounting rules and the sync rules of your accounting integration. For example, you can post revenue to a different account per business unit. These are just examples, and you can customize them to meet any specific needs based on your use case.

Create a custom property

1

Navigate to Settings then Custom properties

2

Click New custom property

3

Fill in the form

Enter a name, a slug, the property type, and the entities on which the custom property will be available. The slug is a unique identifier mainly used for technical integration using the API. You can also set a default value and make the property required so that each selected entity must have a value.Additionally, you can activate this custom property for technical purposes only. In that case, you can’t edit it in Hyperline’s interface, and it’s only available through the API. When you turn this option off, you can edit the field in both the interface and the API.

Email properties

Use the Email type to store an email address, such as a billing contact or an account manager. Hyperline validates email property values as email addresses:
  • When you set a default value, it must be a valid email address.
  • When you edit an entity’s custom properties, Hyperline blocks saving until the value is a valid email address.
You can clear the value of an optional email property by leaving the field empty. Email properties behave like text properties elsewhere in Hyperline. You can use them in list filters, customer segments, accounting rules, and approval workflow conditions. They also appear on hosted quotes and PDFs.

Requiring a custom property value

Enable Required when every entity associated with the custom property must have a value. Hyperline then prevents users from creating or saving an associated customer, product, subscription, or invoice until they provide one. If you make a custom property required after entities already exist, Hyperline doesn’t immediately change those entities. The next time a user edits or saves one, they must provide the missing value before they can continue. This also applies when the edit is unrelated to custom properties, such as changing an invoice status.
A required custom property marked as API only can’t be completed in the interface. Make sure your integration provides the value through the API whenever it creates or updates an associated entity.
Before making a select or multi-select property required, configure at least one available value so your team can complete the field.

Setting a default value

Set a Default value on a custom property to fill it automatically on new entities. The input follows the property type: for select and multi-select properties, select from the available values. When a customer, product, plan, subscription, or invoice is created without a value for the property, Hyperline stores the default value:
  • On the subscription and invoice creation forms, Hyperline prefills the field with the default value. You can change it before saving.
  • Customers, products, and plans don’t show custom properties at creation. Hyperline applies the default value automatically.
  • Entities created through the API or an integration get the default value when they don’t provide one.
A value provided explicitly always takes precedence over the default value. Hyperline doesn’t update existing entities when you set or change a default value.

Example 💡

You add a required Region property on customers with EU as the default value. Customers created from now on get EU unless another region is provided. Your existing integrations keep creating customers without sending the new property.

Default values and required properties

When a required property has a default value, you can create an entity without providing a value. Hyperline uses the default value instead. Hyperline also doesn’t block updates to existing entities that have no value, so integrations keep working after you make a property required. You still can’t clear the value on purpose. Hyperline doesn’t write the default value to existing entities. They keep an empty value until someone provides one. The interface still asks for a value when a user edits one of these entities.

Managing custom property values

After you create a custom property, you can find it on the related entity in the interface. On the customer, the custom properties appear at the bottom of the information panel on the customer details page.
For products, they appear in a dedicated box on the product in the Advanced settings section.
For subscriptions, you can set the value in the second step of the subscription assignment flow. The same subscription custom properties are available when configuring a subscription template.
For invoices, you can set the values from the invoice details when creating or editing an invoice. When Hyperline generates an invoice from a subscription, it automatically copies the subscription’s custom property values to the invoice. This happens when the same custom property is available on both entities. You can still edit the invoice value afterward when the invoice can be updated.
Automatic copying only applies to custom properties that are available on both the subscription and invoice entities.

Filtering by custom properties

You can filter customers, subscriptions, and invoices by their custom property values in the respective list views. When you create custom properties for customers, subscriptions, or invoices, filter controls automatically appear in the filters dropdown on the Customers, Subscriptions, and Invoices pages. The filter type depends on the custom property type:
  • Boolean properties: Display as a dropdown with On and Off options
  • Select properties: Display as a dropdown with the predefined values you configured
  • Text and email properties: Display as a text input that matches values containing what you type
To filter by custom properties:
  1. Navigate to the Customers, Subscriptions, or Invoices page
  2. Click the filters dropdown
  3. Select the custom property filter you want to apply
  4. Select the value to filter by
The list automatically updates to show only records matching your selected criteria.
Custom properties marked as API only don’t appear in the filter panel.

Displaying custom properties on hosted pages

This is currently only available for the customer portal page. You can select which custom properties to display on the customer portal by navigating to the Settings > Hosted pages section.

Using the API

You can create, retrieve and manage custom properties using the API. Additionally, you can retrieve the values using the custom_properties field when fetching a customer, product, subscription, or invoice. You can also set invoice custom properties when you create or update an invoice through the API. Subscription template configurations use the same custom_properties field as subscriptions when you create or update a configuration through the API.

How this differs from the properties field

Hyperline introduced the properties field first, but it lacks structure (for example, it isn’t named or typed). Non-technical users also can’t manage it through the interface. While you can still use this field to store unstructured technical details on supported entities, use custom properties when possible to ensure safety and better manageability.