
Build Salesforce QCP scripts 5X faster
AI assistance for Quote Calculator Plugin development, script validation, diff workflows, and reliable pull/push automation.
macOS • Windows • Linux
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.
What's New in 2.6.2
- Consistent command labels across the Command Palette, README, translations, and release notes
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:
- Create CPQ Configuration Backup — 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).
Troubleshooting Tools
- Open Project Configuration — 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 |
|---|---|
| Sign In | Authenticate with CPQ DevKit services |
| Sign Out | 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 | 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 |
| Open QCP Record in Salesforce | Open the record in your browser |
| Create Backup | Create a local backup of QCP files |
| Download QuoteModel | Fetch a QuoteModel from Salesforce for local testing |
| Export Products | Export Product2 records to CSV or JSON |
| View as Table | Display a JSON file in an interactive table |
| Create CPQ Configuration Backup | 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 Configuration | 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/sfcpqand.envare 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
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.
Frequently Asked Questions
What is CPQ DevKit™ for Salesforce?
A VS Code extension that streamlines Salesforce CPQ Quote Calculator Plugin (QCP) development with pull/push workflows, examples, and testing utilities.
How do I connect to my org?
Use the Initialize Project command to authenticate via OAuth and set up your workspace.
Can I compare or back up my QCP files?
Yes. You can back up local/remote files and compare local files with records from Salesforce.
Which operating systems are supported?
macOS, Windows, and Linux.
