CPQ DevKit™ for Salesforce
The #1 VS Code extension for Salesforce CPQ developers. Develop, sync, diff, backup, and deploy Quote Calculator Plugin (QCP) scripts and CPQ configuration — all from VS Code.


Quick Start
- Install the extension from the VS Code Marketplace
- Open a folder and run CPQ DevKit™ for Salesforce: Initialize Project
- Authenticate with your Salesforce org via OAuth
- Start coding — pull QCP files into
src/, make changes, push back!
The extension also scaffolds tsconfig.json, package.json, .env, example QCP files, and unit test templates so you can start writing and testing QCP scripts immediately.
Features
Two-Way QCP Sync
Push and pull Quote Calculator Plugin scripts between VS Code and Salesforce. Edit locally with full IDE support (IntelliSense, linting, formatting) and sync changes in one click.
- Pull QCP records — download all QCP scripts from Salesforce
- Pull active file — refresh the currently open file from Salesforce
- Push QCP files — upload all local changes to Salesforce
- Push active file — push just the file you're working on
- Push on save — optionally prompt to push when you save a file
Diff & Compare
Compare local files with their Salesforce counterparts to review changes before pushing, or compare two local files side by side.
Backup & Export
Create comprehensive backups of your entire CPQ configuration:
- Backup CPQ Configuration — full backup of QCP, Price Rules, Product Rules, and Discount Schedules
- Export QCP Records — export all QCP scripts
- Export Price Rules — export Price Rules with conditions and actions
- Export Product Rules — export Selection, Validation, and Alert rules
- Export Discount Schedules — export schedules with tiers
- Export Products — export Product2 records with CPQ fields (CSV or JSON)
Import & Deploy
Migrate CPQ configurations between orgs. Export from sandbox, import to production.
- Import Price Rules — import from exported JSON files with upsert logic (creates new, updates existing by Name)
- Import Product Rules — deploy Product Rules between orgs
- Import Discount Schedules — restore schedules from backup with tier support
- Deploy CPQ Configuration — full config deployment from backup files
- Dry-run mode — preview changes before applying
AI-Powered Code Completions
Get intelligent, context-aware code suggestions for QCP development (Pro plan):
- Completions for
onBeforeCalculate, onAfterCalculate, and other QCP callback methods
- Understands
QuoteModel, QuoteLineModel, and Salesforce CPQ fields
- Powered by GPT-4o or Claude 3.5 Sonnet (configurable)
- Small code window around your cursor is sent when completions are triggered
Unit Testing
Test your QCP scripts locally using real QuoteModel data fetched from Salesforce — catch issues before deploying.
JSON Table View
Open any JSON file as an interactive table using the editor title bar button (powered by AG Grid).
- Open Project Config — jump to
.cpqdevkit/sfcpq/qcp-config.json
- Open Sync Log — jump to
.cpqdevkit/sfcpq/qcp-log.json
- Copy Diagnostics — copy environment and settings info to clipboard for debugging or support
Commands
All commands are available from the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) under the CPQ DevKit™ for Salesforce category.
| Command |
Description |
| Login |
Authenticate with CPQ DevKit services |
| Logout |
Sign out of CPQ DevKit services |
| Initialize Project |
Set up project structure and authenticate with Salesforce |
| Create example QCP files |
Scaffold example QCP scripts in your project |
| Pull QCP records |
Download all QCP scripts from Salesforce |
| Pull active file |
Refresh the current file from Salesforce |
| Push QCP files |
Upload all local changes to Salesforce |
| Push active file |
Push the current file to Salesforce |
| Compare records and show differences |
Diff local vs. remote QCP scripts |
| Compare active file |
Diff the current file with its Salesforce record |
| View transpiled code |
View the transpiled JavaScript for the active file |
| View QCP record in Salesforce |
Open the record in your browser |
| Backup local or remote files |
Create a local backup of QCP files |
| Get QuoteModel record |
Fetch a QuoteModel from Salesforce for local testing |
| Export Products |
Export Product2 records to CSV or JSON |
| View JSON as Table |
Display a JSON file in an interactive table |
| Backup CPQ Configuration |
Full backup of QCP, Price Rules, Product Rules |
| Export QCP Records |
Export all QCP scripts |
| Export Price Rules |
Export Price Rules with conditions/actions |
| Export Product Rules |
Export Product Rules |
| Export Discount Schedules |
Export Discount Schedules with tiers |
| List Backups |
Browse previous backups |
| Import Price Rules |
Import Price Rules from an exported file |
| Import Product Rules |
Import Product Rules from an exported file |
| Import Discount Schedules |
Import Discount Schedules from an exported file |
| Deploy CPQ Configuration |
Deploy a full CPQ configuration to Salesforce |
| Set AI API Key |
Configure your API key for AI completions |
| Toggle AI Completions |
Enable or disable AI code suggestions |
| Clear AI API Key |
Remove your stored API key |
| Open Project Config |
Open qcp-config.json |
| Open Sync Log |
Open qcp-log.json |
| Copy Diagnostics |
Copy environment info to clipboard |
| Validate org credentials |
Test that your Salesforce credentials are valid |
Settings
Configure the extension under sfdcQcp.* in VS Code Settings.
| Setting |
Default |
Description |
sfdcQcp.pushOnSave |
false |
Prompt to push the file to Salesforce on save |
sfdcQcp.saveLog |
true |
Save a log entry for each push/pull operation |
sfdcQcp.maxLogEntries |
150 |
Maximum number of entries in the sync log |
sfdcQcp.prettier |
true |
Create a .prettierrc file on project initialization |
sfdcQcp.prettierConfig |
(see below) |
Prettier configuration object |
sfdcQcp.export.outputFormat |
"csv" |
Export format for data exports (csv or json) |
sfdcQcp.debugMode |
false |
Enable detailed debug logging |
sfdcQcp.enableTelemetry |
false |
Enable anonymous product telemetry (never includes file contents or CPQ data) |
sfdcQcp.aiCompletionsEnabled |
true |
Enable AI-powered code completions (requires Pro plan) |
sfdcQcp.aiModel |
"gpt-4o" |
AI model for completions (gpt-4o or claude-3-5-sonnet) |
sfdcQcp.apiBaseUrl |
"https://app.cpqdevkit.com/api" |
Base URL for the CPQ DevKit API |
sfdcQcp.requestTimeout |
30000 |
Timeout in ms for Salesforce API requests (5 000–120 000) |
Requirements
- VS Code 1.105+
- Salesforce org with the CPQ managed package installed
- Access to Custom Script (QCP) records in your org
Security & Privacy
- OAuth authentication — no passwords stored
- Credentials are encrypted with a workspace-unique key and stored locally
.cpqdevkit/sfcpq and .env are auto-added to .gitignore
- Backup/Import/Deploy and AI completions communicate with CPQ DevKit services (
sfdcQcp.apiBaseUrl)
- AI completions send only a small code window around your cursor when enabled
Privacy Policy
Documentation
Support
License
See LICENSE.md for details.
Salesforce, Salesforce CPQ, and related marks are trademarks of Salesforce, Inc. CPQ DevKit™ is not endorsed by or affiliated with Salesforce.