Skip to main content

Products

Products represent the billable services or resources of your organization. Each product can have multiple prices and supports a one-level hierarchy (root product with children/add-ons).

Product Fields

FieldDescription
NameDisplay name (1-255 characters)
SlugURL-friendly unique identifier
DescriptionDetails about the product
TypeDetermines the usage model (see table below)
Visibilitypublic or private
Unit labelName of the unit (e.g., "users", "GB")
IncrementMinimum quantity step (e.g., 10 = quantities 10, 20, 30...)
RequiredWhether it is required to subscribe
Website URLLink to documentation/product page

Product Types

TypeDescriptionRecurrence
baseStandard recurring productRecurring
addon_quantityAdd-on with per-quantity pricingRecurring
addon_fixedAdd-on with fixed pricingRecurring
meteredUsage-based billingRecurring (in arrears)
one_time_fixedFixed one-time feeOne-time
one_time_quantityPer-unit one-time feeOne-time

Product Hierarchy

Products support one level of hierarchy:

Root Product (parentProductId = null)
├── Child product 1 (add-on)
├── Child product 2 (setup fee)
└── Child product 3 (optional module)

Hierarchy Rules

  • Nesting more than 1 level is not possible (children cannot have children)
  • Child products inherit the organization/company from the parent
  • Only root products can be added to plans
  • Child products appear as add-ons/options of the parent product

Status and Lifecycle

draft → active → archived
↓ ↑ ↓
DELETE PUBLISH RESTORE
StatusDescription
draftUnder development, not visible to plans
activeAvailable for plans and subscriptions
archivedDeactivated; cannot be used in new subscriptions

Rules

  • Archive: Not possible if used by active, trialing, or past_due subscriptions. Automatically deactivates all prices
  • Restore: Returns to active status
  • Publish: Moves from draft to active

Bulk Operations

  • Bulk archive: Archives multiple products
  • Bulk delete: Removes products not used in subscriptions
  • Move to group: Moves products to a product group
  • Change visibility: Changes the visibility of multiple products
  • Change company: Moves products to another company

Reordering

Products have a displayOrder field to control the display order in the dashboard and portal. Reordering is possible via drag-and-drop or API.