Products and license terms
A product is the complete description of what you sell: its name and reference id, its catalog price, and its license terms. The terms come from a license template picked on the product form; templates are created and managed on the templates page, one click away behind the Manage templates button.

The commercial fields
- Reference Id - your own SKU reference (for example,
PRO_EDITION- letters, digits and underscores). Customers see it on receipts, and orders and licenses reference it. Activations stamp it into the license as the product binding your application declares withset_product_id()- the product page shows it with a copy button for exactly that paste. It is fixed after creation. - Name / Description - what customers see.
- Price / Currency - the catalog price. It prefills manually created orders (quantity × price, editable there), and it is the price the Stripe catalog sync publishes for online checkout. After you change a price, run the sync again so online checkout charges the new amount. An order's recorded total is always what the operator or the payment provider said at the time, never a silent recomputation.
The license types
The license type is a property of the license template: the template picker lists every template labeled with its type (for example, "Pro yearly (Subscription, Floating)"), and picking one sets the product's type in the same step. When you author a new template on the templates page, the License type selector appears with the rest of the fields:
- Perpetual - a one-term license: paid once, never billed again. You can give it a duration (days) for a fixed term, counted from the license's creation or from each device's first activation (below). Leave the duration empty for a true perpetual license.
- Subscription - licenses renew each billing period (through Stripe or PayPal) and expire, after the grace period, when payment stops. The billing period and grace days live here with the rest of the license terms (subscriptions guide).
Floating is a checkbox available under both license types. Checking it turns licenses into concurrent-seat licenses: N simultaneous seats shared by any number of devices, held by renewable leases. The lease duration is the setting that matters most (the console enforces a minimum); the floating licenses guide covers how to choose it.
The form only shows fields that fit together: subscription settings appear only for the Subscription type, and the offline activation opt-in is offered only for perpetual, non-floating licenses, since an offline device can neither renew a seat lease nor re-check a subscription. The per-device duration fields are likewise offered only for perpetual, non-floating licenses (below).
The rest of the license terms
- Maximum devices - how many devices a license may hold at once; empty means no limit. On a floating license the field reads Seats: the concurrent seat pool size.
- Activations per device and Total activations - how many times a single device may activate, and how many activations the license allows across all devices. An activation is a claim of a seat: a device's first activation, and each return after a release (deactivation). A device re-verifying (renewing) its license is not an activation, so renewals never count toward either limit, on any license type. The per-device limit is checked each time a device claims a seat. Empty means no limit.
- Maximum offline period - on non-floating licenses, how long a device may keep
working without reaching the licensing service. Devices re-verify automatically
during the second half of the period; a device that cannot reach the service for
the whole period gets
EXPIREDuntil it reconnects, and revocations reach offline devices within this period at the latest. Leave it empty for the default of one year; the minimum is one day. Floating licenses show the same field as Lease duration (minimum 15 minutes). See choosing the maximum offline period. - Allow virtual machines - ticked by default. Unticked, a new device that reports
running in a virtual machine cannot activate the license (HTTP 403
vm_not_allowed); devices already activated keep working. On a product, it applies to the product's licenses and to its trial alike. SDK 1.2.0 and later send that report, and SDK 1.3.0 and later count WSL2 as a virtual machine; devices on earlier SDK versions are never refused (virtual machines). - Metadata - free-form JSON (up to 4 KB serialized) embedded in every license at
activation for your application to read with
get_license_metadata()/License.Metadata(edition flags, feature switches) - see product binding. Edits reach devices at their next activation or renewal.
Per-device durations
Two more fields appear for perpetual, non-floating licenses, on the templates page and in the product's license terms (and so in Customize license for a single order):
- Duration starts at - License creation, the default, ends the license Duration days after it is created. Each device's first activation gives each device its own Duration days, counted from that device's first activation; reinstalling or deactivating does not restart a device's period. The per-device option needs a Duration of at least one day, and is not available with Subscription or Floating.
- New period on the same device after (days) - shown only when Duration starts at is "Each device's first activation": how many days after a device's period ended it may start a new one (up to 365). 0 or empty means never, so each device gets one period per license.
Trial support
A product can carry an automatic trial: one trial key, built into your application, that gives every new machine its own trial. Tick Enable trial support in the product's license settings, on the create form or with Edit:
- Trial length (days) - how long each machine's trial lasts, counted from its first activation; 30 by default.
- New trial on the same machine after (days) - how many days after a machine's trial ended it may start a new one, up to 365; 365 by default, and 0 or empty means one trial per machine.
Saving the product creates its trial license, and the product's page shows the trial
key with a Copy button, the trial's length and new-trial window, and Trial devices. The
trial license takes Allow virtual machines, the Maximum offline period and the metadata (plus
"edition": "trial") from the product, and follows them whenever you save the product.
Trial machines are not active devices: they are never billed and never count toward your
plan's device limit. Unticking Enable trial support stops the product's trials, after a
confirmation (stopping trials).
Trials exist only as a product setting: templates and Customize license have no trial fields.
The old License History Duration (days) field is gone from the forms; the history-retention setting its help text described never existed.
Templates and their page
The Manage templates button next to the picker opens the license templates page, the home of template authoring. Create a template there (type, limits, duration, floating and its lease, metadata), and it appears in every product's picker, labeled with its type. The page also lists, renames, and deletes the reusable records.
A template's Reference Id follows the same rule as a product's: letters, digits
and underscores only (for example, PRO_1YEAR), stored in upper case. The form
applies the rule as you type - a lower-case letter becomes upper-case, and a character
outside the rule (a hyphen, a space, a dot) is not accepted and the field says which
characters are allowed. The id is fixed after creation.
The product keeps its own copy of the picked terms: editing a product's license terms changes that product only, never other products that started from the same template. Deleting a template never affects existing products, for the same reason. The templates page has no menu entry of its own; you reach it from the product form when you need it.

Custom deals: different terms for one order
The product's terms are what every ordinary sale gets. For a negotiated deal, use Customize license on the order form; it reuses this same page to author terms that apply to one order only, leaving the product untouched.
Deleting a product
Delete from the product's own page (the Delete button next to Edit; the listing deliberately has none). Deletion removes the product from the list and from new orders. Existing orders and licenses are not affected: they carry their own copies of its name and license terms, so history keeps rendering and issued licenses keep activating. A product's trial license stays as well, so copies of your application that carry its trial key keep starting trials; switch trials off first to stop them. If the product was synced to Stripe for online checkout, the Stripe price is not removed automatically; retire that checkout separately.
Practical modeling advice
- Model one set of license terms per licensing behavior, not per price point: "Pro perpetual," "Pro subscription," and "Team floating" are three templates even if you sell ten SKUs over them. A trial is not a template: it is a setting of the product.
- Model the product you intend to sell first rather than a test one; your integration work then carries over when you upgrade.
- Renaming a product later is safe; ids are stable, and licenses keep working.