What’s new
Many organizations treat Zuora as the rigid source of truth for their product catalog. Recreating this structure manually in a new system can be error-prone and often forces you to duplicate SKUs to support different billing frequencies. Stigg provides a scripted import tool that solves this by mirroring your Zuora hierarchy. It allows you to map multiple Zuora products and rate plans into a unified Stigg catalog without disrupting your downstream reporting or CPQ rules.Zuora catalog import script
The Zuora catalog import script imports product catalog data from Zuora into Stigg by converting Zuora products, rate plans, and charges into Stigg products, plans, add-ons, and prices using the Stigg GraphQL API.Key features
- Imports Zuora products, plans, add-ons, and flat-rate prices into Stigg
- Automatically detects add-ons based on naming (
add-on/addon) - Supports create, update, and publish workflows
- Dry-run mode to preview changes without modifying Stigg
How it works
The first Zuora product is mapped to the main product in Stigg. All plans and add-ons from additional Zuora products are assigned to that same product. Zuora rate plans are split into Stigg plans and add-ons, with add-ons detected automatically based on naming conventions. Only flat-rate pricing models are supported. All imported entities are created as drafts by default.Requirements
To run the Zuora catalog import script, make sure the following prerequisites are installed on your system:- Node.js (required to run the import script)
- Yarn or npm (used to install dependencies and execute the script)
Getting started
1. Clone the import Script Repository
Clone the public repository that contains the Zuora-to-Stigg import script:2. Configure environment variables
-
Use the provided
.env.examplefile as a template: -
Update the following values in
.env:ZUORA_PRODUCT_IDSaccepts a comma-separated list of Zuora product IDs to import.
3. Install dependencies
Install the required dependencies using Yarn or npm:4. Preview the import (recommended)
Before making any changes, run the script in dry-run mode to preview the entities that will be created or updated:- Applies no changes to Stigg
- Logs all planned actions to the console
5. Import the catalog
Run the default import to create new entities in Stigg:- Creates new entities only
- Does not update existing entities
- Creates all entities in
Draftstatus
Advanced usage
Update existing entities
To update existing products, plans, and prices:- Creates missing entities
- Updates existing entities
- Does not publish
Publish imported entities
To publish all unpublished entities:- Creates missing entities
- Publishes unpublished entities
- Does not update already published entities
Update and publish in one run
- Creates new entities
- Updates existing entities
- Publishes unpublished entities
Dry-run with any mode
Dry-run can be combined with any flags:Final notes
After import, plans are either left inDraft or published depending on the flags you use. Imported plans are marked as Synced, ensuring Zuora remains the authoritative source of billing data.
This setup lets you adopt Stigg incrementally, without disrupting your existing Zuora-based billing workflows.