CPQ DevKit™ for SAP
CPQ DevKit™ for SAP is a Visual Studio Code extension for SAP CPQ global script workspaces.
What it includes
- SAP CPQ environment configuration with secure client-secret storage
- A dedicated SAP CPQ sidebar with change tracking and ready-to-bundle selection
- Global script scaffolding with sidecar property file generation
- Validation for Python scripts and SAP CPQ property JSON files
- Push bundle generation for selected script/property changes
- Python snippets adapted from the legacy SAP CPQ script plugin
Workspace layout
By default the extension works with:
sap-cpq/global-scripts
sap-cpq/global-script-properties
Both paths are configurable through the sapCpq.workspace.* settings.
Environment configuration
Run CPQ DevKit™ for SAP: Configure Environment to add, edit, switch, or delete SAP CPQ environments. The extension stores:
- tenant name
- tenant URL
- OAuth client id
- PKCE mode flag
Client secrets are stored in VS Code secret storage, not in the workspace JSON file.
Change tracking
The extension keeps a local baseline in .cpqdevkit/sap/cache.json. On first load it seeds that baseline from the current workspace. After that:
- changed scripts and property files appear in the SAP CPQ Changes view
- check a changed item to include it in the ready-to-push set
- run
Build Push Bundle to export the selected changes to JSON and advance the local baseline
This package is intentionally workspace-first. It does not attempt direct tenant mutation from the extension yet.
Script properties
Each script gets a matching JSON file with a structure compatible with SAP CPQ global script metadata:
scriptDefinition.name
scriptDefinition.systemId
description
active
isModule
isCSRFProtected
startDate
endDate
forceProxyGeneration
events
Use Open Script Properties to generate or edit that file.
Validation
Validate Script checks:
- empty Python files
- tab-based indentation
- trailing whitespace
- missing function definitions
- missing or invalid script property data
- invalid property date ranges
Commands
Configure Environment
Import Environment Configuration
Export Environment Configuration
Clear Local Cache
Show Local Cache
Refresh Changes
Create Global Script
Open Script Properties
Validate Script
Build Push Bundle
Trademarks and Disclaimers
SAP is a trademark of SAP SE. This extension is not affiliated with or endorsed by SAP SE. It is an independent project built to support developers working with SAP CPQ. The extension's features and design are inspired by common developer needs and workflows in the SAP CPQ ecosystem.