CPQ DevKit™ for SAP
CPQ DevKit™ for SAP helps you configure a tenant, pull SAP CPQ global scripts into your workspace, edit them with validation, then push ready changes back.
Quick Start
- Install the extension from the VS Code Marketplace
- Open a folder and run CPQ DevKit™ for SAP: Configure Environment
- Enter the tenant name, URL, and OAuth client id. Store the client secret (and optional password) when prompted — they stay in VS Code secret storage
- Run Pull Global Scripts from Tenant to download scripts into the workspace
- Edit a script, mark it ready in the Changes view, then Push Ready Changes to Tenant
You can also create scripts locally with Create Global Script and work offline. Local change tracking and push bundles still work without a tenant connection.
What's New in 2.7.1
- New Marketplace icon: the CPQ DevKit™ wordmark on the SAP color plate
- Ask
@cpq-sap in chat, or use #sapEnv, to see the connected tenant
- Install Chat Skills adds guidance for global-script sync
- Requires VS Code 1.109 or later
See full release notes in the changelog.
How to use it
Connect a tenant
Run Configure Environment to add, edit, switch, or delete tenants. Each environment stores:
- tenant name
- tenant URL
- OAuth client id
- optional username if password-grant fallback is needed
Client secrets and passwords are never written to workspace files.
Use Export Environment Configuration / Import Environment Configuration to move tenant settings (without secrets) between machines.
Pull and edit scripts
Pull Global Scripts from Tenant downloads scripts and their property files into:
sap-cpq/global-scripts
sap-cpq/global-script-properties
Both folders are configurable. Open a Python script and use Open Script Properties to edit the matching JSON sidecar (name, system id, dates, events, and related metadata).
Validate Script checks empty files, tab indentation, trailing whitespace, missing functions, and invalid property data. The shortcut is Shift+Alt+V in a Python editor (Shift+Alt+P opens properties).
Review and push changes
The CPQ DevKit™ for SAP sidebar has a Changes view:
- Changed scripts and property files appear after you edit or after Refresh Changes
- Check the items you want to include
- Push Ready Changes to Tenant updates the connected tenant
- Or run Build Push Bundle to export the selected changes as JSON and advance the local baseline
Open Change Diff compares a changed file with the last pulled version.
Commands
All commands are in the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) under CPQ DevKit™ for SAP.
| Command |
Description |
| Configure Environment |
Add, edit, switch, or delete a tenant |
| Import Environment Configuration |
Import tenant settings (secrets are not included) |
| Export Environment Configuration |
Export tenant settings (secrets are not included) |
| Pull Global Scripts from Tenant |
Download scripts from the active tenant |
| Push Ready Changes to Tenant |
Push checked changes to the active tenant |
| Create Global Script |
Scaffold a new script and property file |
| Open Script Properties |
Open or create the property file for a script |
| Validate Script |
Check the current script and its properties |
| Refresh Changes |
Refresh the Changes view |
| Open Change Diff |
Diff a change against the last pulled version |
| Build Push Bundle |
Export checked changes as a JSON bundle |
| Clear Local Cache |
Reset the local change baseline |
| Show Local Cache |
Inspect the local change baseline |
| Convert to JSON / XML / CSV |
Convert the current data file |
| Install Chat Skills |
Add SAP sync guidance for chat |
Settings
Configure the extension under sapCpq.* in VS Code Settings.
| Setting |
Default |
Description |
sapCpq.workspace.globalScriptsPath |
sap-cpq/global-scripts |
Folder for Python global scripts |
sapCpq.workspace.propertiesPath |
sap-cpq/global-script-properties |
Folder for script property JSON files |
sapCpq.validation.requireSystemId |
true |
Require a system id when validating properties |
Requirements
- VS Code 1.109 or later
- An SAP CPQ tenant with API access for global scripts
- An OAuth client (client-credentials). Username/password is optional fallback
Security & Privacy
- Client secrets and passwords are stored in VS Code secret storage, not in the workspace
- Tenant name, URL, and client id are stored locally so you can switch environments
- Chat tools report the active tenant without secrets
Support
License
See LICENSE.md for details.
Frequently Asked Questions
What is CPQ DevKit™ for SAP?
A VS Code extension for SAP CPQ global script work: tenant pull/push, local change tracking, validation, and push bundles.
How do I connect to a tenant?
Run Configure Environment. Secrets stay in VS Code secret storage.
Can I work offline?
Yes. Create and validate scripts locally, then use Build Push Bundle. Pull and push need a configured tenant.
Which operating systems are supported?
macOS, Windows, and Linux.
Trademarks
SAP is a trademark of SAP SE. This extension is not affiliated with or endorsed by SAP SE.