Skip to content
command line script for migrating zuora product catalog
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



A command line script for migrating zuora product catalog between instances. For instance, it's very useful to migrate from production to a sandbox.

This is a very rough tool, not production quality!


This is a DESTRUCTIVE process! It will delete as much of the product catalog as it is able to, in the target instance. Be careful!

You will need to customize the lists of custom field names in

You will need to create a custom field named ProductionId__c, on each of Product, ProductRatePlan, and ProductRatePlanCharge. These are filled with the Id of the record that was copied. This script deletes all existing products and writes all the products it finds in the source instance. In future, the ProductionId__c fields might be able to be used to sync changes, rather than deleting the entire catalog and creating anew.

You should also make sure that any existing products you want the script to be able to delete are not referenced by any subscriptions. The easiest way to do this is to delete all the accounts.


python3 --verbose --deploy --version

Will not actually deploy without --deploy argument (and is therefore safe)

--deploy argument WILL DELETE target instance product catalog!

Product catalog source instance is configured in '~/.zuora-production-config.json' Product catalog target instance is configured in '~/.zuora-sandbox-config.json'

You can’t perform that action at this time.