Skip to content
CPQ DevKit™ for Salesforce
CPQ DevKit™ for Salesforce

Build Salesforce QCP scripts 5X faster

AI assistance for QCP development plus diff, backup, import/export, deployment, and reliable pull/push automation.

macOS • Windows • Linux

CPQ DevKit™ for Salesforce helps you develop, sync, diff, backup, and deploy Quote Calculator Plugin (QCP) scripts and configuration for Salesforce CPQ.

CPQ DevKit Commands

Quick Start

  1. Install the extension from the VS Code Marketplace
  2. Open a folder and run CPQ DevKit™ for Salesforce: Initialize Project
  3. Sign in to your Salesforce org when prompted (OAuth)
  4. Pull QCP records into src/, edit them, then push your changes back

Initialize Project also creates the local project files you need: tsconfig.json, package.json, .env, example QCP files, and unit-test templates.

What's New in 2.7.1

  • New Marketplace icon: the CPQ DevKit™ wordmark on the Salesforce color plate
  • Ask @cpq-sf in chat, or use #sfOrg, to see the connected org
  • Install Chat Skills adds a QCP debugger skill you can use in chat
  • Requires VS Code 1.109 or later

See full release notes in the changelog.

How to use it

  1. Run Initialize Project and complete Salesforce sign-in.
  2. Use the built-in walkthrough if you want a guided first pull.
  3. Pull QCP Records to download scripts into src/.
  4. Edit locally with IntelliSense, formatting, and optional AI completions.
  5. Diff against Salesforce, then Push Active File or Push QCP Files.
  6. Use backup, export, import, and deploy when you need to move configuration between orgs.

Turn on sfdcQcp.pushOnSave if you want a push prompt every time you save.

Project structure

Initialize Project creates and maintains:

  • .cpqdevkit/sfcpq/qcp-config.json — project and org connection
  • .cpqdevkit/sfcpq/qcp-log.json — pull/push history
  • src/ — local QCP source files
  • tests/ — templates plus QuoteModel downloads for local testing
  • tsconfig.json, package.json, .env, and example files as needed

Keep .cpqdevkit/sfcpq and .env out of git. The extension adds them to .gitignore for you.

Features

Two-way QCP sync

Edit QCP locally, then sync with Salesforce in one command.

  • Pull QCP Records — download all QCP scripts
  • Pull Active File — refresh the open file
  • Push QCP Files — upload all local changes
  • Push Active File — push only the file you are editing
  • Push on save — optional prompt when you save

Diff and compare

Compare a local file with Salesforce, or compare two local files, before you push.

Backup and export

  • Create CPQ Configuration Backup — QCP, Price Rules, Product Rules, and Discount Schedules
  • Export QCP Records, Export Price Rules, Export Product Rules, Export Discount Schedules
  • Export Products — Product2 records with CPQ fields (CSV or JSON)

Import and deploy

Move configuration from sandbox to production.

  • Import Price Rules, Product Rules, and Discount Schedules from exported JSON
  • Deploy CPQ Configuration from a backup
  • Dry-run mode to preview changes first

Org inspection

  • Inspect Org — Markdown report with package versions, CPQ settings, counts, and pricing-rule complexity
  • Compare Snapshots — compare two backup/export files for drift
  • Assess Revenue Cloud Migration Readiness — inventory legacy CPQ assets

AI completions

Suggestions for onBeforeCalculate, onAfterCalculate, and other QCP callbacks, with QuoteModel / QuoteLineModel context. Choose GPT-4o or Claude 3.5 Sonnet. Only a small window around your cursor is sent.

Unit testing

Test QCP locally with QuoteModel data downloaded from Salesforce.

Other tools

  • Open any JSON file as a table from the editor title bar
  • Validate Org Credentials, Open Project Configuration, Open Sync Log, and Copy Diagnostics when something looks off

Commands

All commands are in the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) under CPQ DevKit™ for Salesforce.

CommandDescription
Sign InSign in to CPQ DevKit
Sign OutSign out of CPQ DevKit
Initialize ProjectCreate the project and sign in to Salesforce
Create Example QCP FilesAdd example QCP scripts
Pull QCP RecordsDownload all QCP scripts
Pull Active FileRefresh the current file
Push QCP FilesUpload all local changes
Push Active FilePush the current file
Compare RecordsDiff local vs. Salesforce QCP
Compare Active FileDiff the current file with Salesforce
View Transpiled CodeView transpiled JavaScript for the active file
Open QCP Record in SalesforceOpen the record in the browser
Create BackupLocal backup of QCP files
Download QuoteModelFetch a QuoteModel for local tests
Export ProductsExport Product2 records to CSV or JSON
View as TableOpen JSON as a table
Create CPQ Configuration BackupFull backup of QCP and rules
Export QCP RecordsExport all QCP scripts
Export Price RulesExport Price Rules
Export Product RulesExport Product Rules
Export Discount SchedulesExport Discount Schedules
List BackupsBrowse previous backups
Import Price RulesImport Price Rules from a file
Import Product RulesImport Product Rules from a file
Import Discount SchedulesImport Discount Schedules from a file
Deploy CPQ ConfigurationDeploy a full CPQ configuration
Inspect OrgGenerate an org inspection report
Compare SnapshotsCompare two backups or exports
Assess Revenue Cloud Migration ReadinessWrite a migration workbook
Set AI API KeyStore your API key for completions
Toggle AI CompletionsTurn AI suggestions on or off
Clear AI API KeyRemove the stored key
Install Chat SkillsAdd the QCP debugger skill for chat
Open Project ConfigurationOpen qcp-config.json
Open Sync LogOpen qcp-log.json
Copy DiagnosticsCopy environment info for support
Validate Org CredentialsTest that Salesforce sign-in still works

Settings

Configure the extension under sfdcQcp.* in VS Code Settings.

SettingDefaultDescription
sfdcQcp.pushOnSavefalsePrompt to push the file to Salesforce on save
sfdcQcp.saveLogtrueSave a log entry for each push/pull
sfdcQcp.maxLogEntries150Maximum sync-log entries
sfdcQcp.prettiertrueCreate a .prettierrc file during Initialize Project
sfdcQcp.export.outputFormat"csv"Export format (csv or json)
sfdcQcp.debugModefalseEnable detailed logging
sfdcQcp.enableTelemetryfalseAnonymous product telemetry (never includes file contents or CPQ data)
sfdcQcp.aiCompletionsEnabledtrueEnable AI completions (requires Pro)
sfdcQcp.aiModel"gpt-4o"Completions model (gpt-4o or claude-3-5-sonnet)
sfdcQcp.apiBaseUrl"https://app.cpqdevkit.com/api"CPQ DevKit API base URL
sfdcQcp.requestTimeout30000Timeout in ms for Salesforce requests
sfdcQcp.export.products.outputFormat"csv"Default Product2 export format
sfdcQcp.export.products.fields(built-in field list)Product2 and CPQ fields included in product export

Requirements

  • VS Code 1.109 or later
  • A Salesforce org with the CPQ managed package installed
  • Access to Custom Script (QCP) records in that org

Security & Privacy

  • Salesforce sign-in uses OAuth. Passwords are not stored.
  • Org credentials stay on your machine.
  • .cpqdevkit/sfcpq and .env are added to .gitignore
  • Backup, import, deploy, and AI completions use CPQ DevKit services
  • AI completions send only a small code window around your cursor

Privacy Policy

Documentation

Support

License

See LICENSE.md for details.

Frequently Asked Questions

What is CPQ DevKit™ for Salesforce?

A VS Code extension for Salesforce CPQ QCP work: pull/push, backups, import/export, deploy, AI completions, and local testing.

How do I connect to my org?

Run Initialize Project and complete OAuth. The extension saves the workspace configuration it needs.

Can I compare, back up, and deploy CPQ configuration?

Yes. You can diff records, create local and full CPQ backups, export products, and import or deploy QCP, Price Rules, Product Rules, and Discount Schedules.

Which operating systems are supported?

macOS, Windows, and Linux.

Salesforce, Salesforce CPQ, and related marks are trademarks of Salesforce, Inc. CPQ DevKit™ is not endorsed by or affiliated with Salesforce.