ZUORA_PRODUCT_IDS are consolidated into a single Stigg product. The first product becomes the main product entry; all plans and add-ons from every additional product are assigned to it. Zuora rate plans are converted into Stigg plans and add-ons, with add-ons automatically detected based on naming conventions such as add-on or addon. Only flat-rate and per-unit (imported as flat-fee) pricing models are supported. All created entities are saved as drafts by default, with the option to publish them as part of the workflow.
If a product or package with the same refId already exists in Stigg and is archived, the script will automatically unarchive it during import.
1
Clone the import script repository
Clone the repository that contains the Zuora-to-Stigg catalog import script:
2
Set up your environment and credentials
Use the provided Update the values in
.env.example file as a template:.env with your Stigg credentials and Zuora configuration:ZUORA_PRODUCT_IDSaccepts a comma-separated list of Zuora product IDs.
3
Install dependencies
Install the required dependencies:
4
Run the default import
Run the script without any flags to perform a basic import:This mode:
- Creates new entities only
- Does not update existing entities
- Creates all entities in Draft status
5
Update existing entities (optional)
To update existing products, plans, and prices in Stigg, run the script with the This mode:
--update flag:- Creates new entities if they don’t exist
- Updates existing entities
- Does not publish any entities
6
Publish imported entities (optional)
To automatically publish all unpublished entities after import, use the This mode:
--publish flag:- Creates new entities if they don’t exist
- Publishes all unpublished entities
- Does not update existing published entities
7
Update and publish in one run (optional)
You can combine update and publish behavior in a single run:This mode:
- Creates new entities
- Updates existing entities
- Publishes all unpublished entities
8
Preview changes with dry-run mode
Use the In dry-run mode:
--dry-run flag with any command to preview changes without modifying Stigg:- No changes are applied to Stigg
- All planned actions are logged to the console for review
9
Freeze a plan with grandfathered forking (optional)
To preserve an existing plan or add-on as-is while the next import creates a fresh copy, run the fork command with the entity’s This marks the entity as grandfathered (
refId:GRANDFATHERED: true in its metadata). On the next import the script will:- Create a new plan or add-on with a
-copy-1suffix (e.g.Pro_Plan-copy-1) - Copy all entitlements from the grandfathered entity to the new one
- Leave the grandfathered entity untouched
-copy-1, -copy-2, and so on). See Import my Zuora catalog into Stigg for more details.