CPQ DevKit™ for Oracle
CPQ DevKit™ for Oracle® CPQ Cloud is a Visual Studio Code extension for Oracle CPQ Cloud (BigMachines) development.
It improves day-to-day work on BML and BMQL with formatting, snippets, and project sync workflows.
Highlights
- BML/BMQL editing: snippets, autocomplete helpers, and formatting for
.bml, .json, .xml
- Project sync: download/sync CPQ objects (Functions/BML, Data Tables, Assets, Parts, Products, Pricing, Integrations, and more)
- Navigation: Go to Definition for
util. / commerce. functions and BMQL Data Table references
- Environment management: configuration-driven folder structure and fast environment switching
What's new in Release 2.6.0
See the full release notes in CHANGELOG.
Bonus
You can now register to CPQ DevKit™ for free at cpqdevkit.com. CPQ DevKit™ is a website build to augment Oracle® CPQ Cloud system's functionality from Visual Studio Code.

Features
CPQ DevKit™ for Oracle® CPQ Cloud (BigMachines) comes with several great features:
- safe functions with fast autocomplete
- formatter and beautifier for
.bml, .json, .xml
- all bmi system attributes and constants
- safe for loop snippets for
array and jsonarray
- functionality to interact with a
*.bigmachines.com website
- add auto-commit function when receiving new versions of files from the server (only if git is initialized you should use in directory with your project command $ git init).
For questions or concerns about the extention use the Q&A tab or contact us on the CPQ Consultant.
You can also find CPQ Consultant on Linkedin.
How to interact with a *.bigmachines.com domain?
After installation, you should go to the DevKit settings (in Visual Studio Code settings) and add configuration data for your environments, be that dev, test or prod.
Make sure your BigMachines user has below properties:
- is
FullAdmin
- has
User Administrator checkbox checked
- in the
All Access administrator group
Open a new directory where you want to setup the project Visual Studio Code.
📁 Configuration Files
To use CPQ DevKit™ for Oracle, you need to create two configuration files in your project directory:
1. project.config.jsonc - Project Configuration
This file defines your project-specific settings and folder structure. Create this file in your project root:
{
"apiVersion": "v19", //v17 is the default, any version after v15 is supported
"tableFormat": "json",
"folderSettings": {
"files": "_files",
"parts": "_parts",
"tables": "_tables",
"utilFunctions": "_utils",
"commerceFunctions": "_commerce",
"assets": "_assets",
"pricing": "_pricing",
"metadata": "_metadata",
"dictionary": "_dictionary",
"integrations": "_integrations"
},
"fileSettings": {
"bmlUtilPrefix": "util.", // use "" if you don't new format changes
"bmlCommercePrefix": "commerce.", // use "" if you don't new format changes
"bmlIncludeMetaTag": "true", // use "false" if you don't new format changes
"bmlIncludeTestTag": "true", // use "false" if you don't new format changes
"defaultDataFormat": "json"
}
}
Configuration Options:
apiVersion: Oracle CPQ API version (e.g., "v19", "v17", "v15")
tableFormat: Format for downloaded tables ("json" or "csv")
folderSettings: Local folder names for different file types:
files: Static files and documents
parts: Part definitions and configurations
tables: Data tables
utilFunctions: Utility BML functions
commerceFunctions: Commerce BML functions
assets: Asset management files
pricing: Pricing rules and configurations
metadata: Metadata catalogs
dictionary: Translation dictionaries
integrations: Integration configurations
fileSettings:
bmlUtilPrefix: Prefix for utility functions (default: "util.")
bmlCommercePrefix: Prefix for commerce functions (default: "commerce.")
bmlIncludeMetaTag: Whether to include meta tag in BML files ("true"/"false")
bmlIncludeTestTag: Whether to include test tag in BML files ("true"/"false")
defaultDataFormat: Default format for data files ("json" or "xml")
2. .cpqdevkit/developer.config.jsonc - Developer Configuration (keep in .gitignore)
This file contains your personal developer settings and credentials. Create the .cpqdevkit directory and this file:
{
"name": "CPQ DevKit™ for Oracle CPQ Cloud - developer's secret file",
"_git_auto_commit": false,
"_table_format": "json",
"_ocpq_environment_active": "dev",
"_ocpq_environments": [
{
"name": "dev",
"url": "https://<subdomain-dev>.bigmachines.com",
"username": "<username>",
"password": "<password>"
},
{
"name": "uat",
"url": "https://<subdomain-uat>.bigmachines.com",
"username": "<username>",
"password": "<password>"
}
]
}
To open the list of available commands, you must right-click on the project explorer panel and select the DevKit menu or open the list of all available commands (CTRL+SHIFT+P) and type DevKit into the search bar.
Complete List of Commands
🔐 Authentication Commands
Login to CPQ DevKit™ - Authenticate with CPQ DevKit™ services
Logout from CPQ DevKit™ - Sign out from CPQ DevKit™ services
CPQ DevKit™ Authentication Settings - Open authentication configuration
⚙️ Setup & Configuration
CPQ DevKit™ for Oracle: Setup Project - Initialize project configuration
CPQ DevKit™ for Oracle: Create Config File - Save all project configurations
CPQ DevKit™ for Oracle: Change Environment - Switch between environments
📥 Download Commands
CPQ DevKit™ for Oracle: Get all Data and Metadata - Download complete data and metadata catalog
CPQ DevKit™ for Oracle: GET ALL Files - Download all files from server
CPQ DevKit™ for Oracle: GET ALL Assets - Download all assets from server
CPQ DevKit™ for Oracle: GET ALL Parts - Download all parts from server
CPQ DevKit™ for Oracle: GET ALL BML - Download all BML functions from server
CPQ DevKit™ for Oracle: GET ALL Tables - Download all data tables from server
CPQ DevKit™ for Oracle: GET ALL Shopping Carts - Download all shopping cart data
CPQ DevKit™ for Oracle: GET ALL Product Catalog - Download complete product catalog
CPQ DevKit™ for Oracle: GET Integrations - Download all integrations (Vendors, Settings, Types, Commerce, Product Families)
CPQ DevKit™ for Oracle: GET ONE Table - Download a specific data table
🚀 Deploy & Development Commands
CPQ DevKit™ for Oracle: DEPLOY Functions - Deploy BML functions to server
CPQ DevKit™ for Oracle: SAVE Functions - Save BML functions to server
CPQ DevKit™ for Oracle: TEST Functions - Test BML functions on server
CPQ DevKit™ for Oracle: VALIDATE Functions - Validate BML functions on server
🛠️ Utility Commands
CPQ DevKit™: Convert to JSON - Convert XML/CSV files to JSON format
CPQ DevKit™: Convert to XML - Convert JSON/CSV files to XML format
CPQ DevKit™: Convert to CSV - Convert JSON/XML files to CSV format
Legal
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Node.js is a trademark of Joyent, Inc. We are not endorsed by or affiliated with Joyent.