Create Support Rules

Support Rules are defined using a JSON configuration file that controls how support line items are generated during quoting.

This file defines:

  • Which support programs exist
  • How support is priced
  • How support part numbers are generated
  • Which support option is selected by default

You can start by downloading the Support Rules template and customizing it for your pricing model:

Download Template

File Structure

The Support Rules file is an array of rule objects. Each rule represents a support program and applies to any product with auto_support enabled in the pricelist.

Each rule contains three required keys:

  • id — A fixed identifier for the support rule. This value is required and must be one of:
    • support_products_capex
    • support_products_opex
    • support_cloud
    • support_managed_services
  • subscription — Defines how the generated support item is billed. This value is required and must be one of:
    • monthly
    • annual
    • prepaid:<months> (e.g. prepaid:12)
  • tiers — Defines the available support options presented during quoting. You control how many tiers exist. Each tier represents one selectable support option.

Tier Properties

Each tier must include the following fields:

  • type — Display name shown in the UI (e.g. Standard Support, Premium Support).
  • value — Support price expressed as a percentage of the base product price. If set to 0, no support line item is added and support is considered included.
  • affix — Characters added to the generated support part number. Used only when value is greater than 0.
  • position — Determines where the affix is applied to the base part number. Allowed values: prefix, suffix.
  • selected — Controls the default support option selected in the UI. Only one tier may have selected set to true.

Part Numbers

  • The original product part number is used as the base
  • A prefix or suffix is applied according to your rule
  • Support price is calculated from base price of root item
  • A new support line item is added automatically

All behavior is driven entirely by this configuration file.

Example

[
	{
		"id": "support_products_capex",
		"subscription": "annual",
		"tiers": [
			{ "type": "Standard Support", "value": 0.15, "affix": "S", "position": "suffix", "selected": true },
			{ "type": "Advanced Support", "value": 0.2, "affix": "A", "position": "suffix", "selected": false },
			{ "type": "Premium Support", "value": 0.25, "affix": "B", "position": "suffix", "selected": false }
		]
	},
	{
		"id": "support_products_opex",
		"subscription": "monthly",
		"tiers": [
			{ "type": "Standard Support", "value": 0, "affix": "", "position": "suffix", "selected": true },
			{ "type": "Advanced Support", "value": 0.1, "affix": "A", "position": "suffix", "selected": false },
			{ "type": "Premium Support", "value": 0.15, "affix": "A", "position": "suffix", "selected": false }
		]
	},
	{
		"id": "support_cloud",
		"subscription": "monthly",
		"tiers": [
			{ "type": "Standard Support", "value": 0, "affix": "", "position": "suffix", "selected": true },
			{ "type": "Advanced Support", "value": 0.1, "affix": "A", "position": "suffix", "selected": false },
			{ "type": "Premium Support", "value": 0.15, "affix": "A", "position": "suffix", "selected": false }
		]
	},
	{
		"id": "support_managed_services",
		"subscription": "monthly",
		"tiers": [
			{ "type": "Standard SLA", "value": 0, "affix": "", "position": "suffix", "selected": true },
			{ "type": "Advanced SLA", "value": 0.1, "affix": "A", "position": "suffix", "selected": false },
			{ "type": "Premium SLA", "value": 0.15, "affix": "A", "position": "suffix", "selected": false }
		]
	}
]