Pricing Group API
Create, read, update, and delete pricing group records using the NetSuite REST API.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/pricingGroup | List all pricing groups |
GET | /record/v1/pricingGroup/{id} | Get specific pricing group |
POST | /record/v1/pricingGroup | Create new pricing group |
PATCH | /record/v1/pricingGroup/{id} | Update existing pricing group |
DELETE | /record/v1/pricingGroup/{id} | Delete pricing group |
Base URL
https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/pricingGroup
Key Fields
Basic Information
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Internal ID (read-only) | - |
name | string | Pricing group name | Yes |
isInactive | boolean | Inactive flag | No |
Configuration
| Field | Type | Description | Required |
|---|---|---|---|
description | string | Group description | No |
discountPercent | number | Default discount percentage | No |
Item Associations
| Field | Type | Description | Required |
|---|---|---|---|
items | collection | Items in this pricing group | No |
Example: Create Pricing Group
POST /record/v1/pricingGroup
Content-Type: application/json
Authorization: Bearer {access_token}
{
"name": "Volume Customers",
"description": "High-volume customer pricing tier",
"discountPercent": 15.0,
"isInactive": false
}
Response
{
"links": [
{
"rel": "self",
"href": "https://1234567.suitetalk.api.netsuite.com/services/rest/record/v1/pricingGroup/10"
}
],
"id": "10",
"name": "Volume Customers",
"description": "High-volume customer pricing tier",
"discountPercent": 15.0,
"isInactive": false
}
Example: Create Category-Based Pricing Group
POST /record/v1/pricingGroup
Content-Type: application/json
{
"name": "Electronics Bulk Pricing",
"description": "Special pricing for electronics category bulk purchases",
"discountPercent": 20.0,
"isInactive": false
}
Example: Create Seasonal Pricing Group
POST /record/v1/pricingGroup
Content-Type: application/json
{
"name": "Holiday Season 2025",
"description": "Promotional pricing for holiday season",
"discountPercent": 25.0,
"isInactive": false
}
Example: Update Pricing Group
PATCH /record/v1/pricingGroup/10
Content-Type: application/json
{
"discountPercent": 18.0,
"description": "Updated high-volume customer pricing tier - Q1 2026"
}
Partial Updates
With PATCH, only include fields you want to change. All other fields remain unchanged.
Query Filters
Find Pricing Groups by Name
GET /record/v1/pricingGroup?q=name LIKE 'Volume%'
Find Active Pricing Groups
GET /record/v1/pricingGroup?q=isInactive=false
Find Groups with Discount > 20%
GET /record/v1/pricingGroup?q=discountPercent > 20
Find Groups by Description
GET /record/v1/pricingGroup?q=description LIKE '%promotional%'
Common Use Cases
1. Create Customer Tier Pricing Groups
const tiers = [
{
name: "Standard Customers",
description: "Default pricing tier",
discountPercent: 0
},
{
name: "Volume Customers",
description: "High-volume pricing tier",
discountPercent: 15
},
{
name: "Enterprise Customers",
description: "Enterprise pricing tier",
discountPercent: 25
}
];
for (const tier of tiers) {
await createPricingGroup(tier);
}
2. Create Promotional Pricing Group
await createPricingGroup({
name: "Black Friday 2025",
description: "Limited time promotional pricing",
discountPercent: 30.0
});
3. Update Existing Pricing Group
await patchPricingGroup(groupId, {
discountPercent: 20.0,
description: "Updated Q2 2026 pricing"
});
4. Deactivate Expired Pricing Group
await patchPricingGroup(promotionalGroupId, {
isInactive: true,
description: "Expired - Holiday promotion ended"
});
5. Category-Specific Pricing
const categories = [
{ name: "Software Products", discountPercent: 10 },
{ name: "Hardware Products", discountPercent: 15 },
{ name: "Services", discountPercent: 5 }
];
for (const category of categories) {
await createPricingGroup({
name: category.name,
description: `Pricing for ${category.name}`,
discountPercent: category.discountPercent
});
}
Important Notes
Required Fields
name- Pricing group name is required- All other fields are optional
Pricing Group Functionality
- Pricing groups allow you to apply consistent pricing rules to multiple items
- Groups can be assigned to specific customer segments or categories
- Discount percentages override standard pricing but can be overridden by customer-specific pricing
Discount Hierarchy
The pricing system follows this hierarchy (highest to lowest priority):
- Customer-specific item pricing
- Price level pricing
- Pricing group discounts
- Base item price
Item Association
- Items can be assigned to multiple pricing groups
- When multiple groups apply, NetSuite uses the most favorable pricing for the customer
- Group assignments are typically managed through item records or bulk updates
Activation and Deactivation
- Inactive pricing groups are not applied to transactions
- Deactivating a group does not affect historical transactions
- Use deactivation to end promotional periods or retire obsolete pricing tiers
Best Practices
- Use descriptive names that clearly indicate the purpose (e.g., "Volume Tier 1", "Holiday Promo 2025")
- Document effective dates and eligibility criteria in the description field
- Create separate groups for different product categories or customer segments
- Review and update discount percentages regularly based on business needs
- Archive expired promotional groups instead of deleting them
Integration with Pricing System
- Price Levels: Pricing groups work alongside price levels for comprehensive pricing control
- Price Books: Groups can be used within price books for advanced pricing strategies
- Customer Categories: Assign pricing groups based on customer categorization
- Item Pricing: Define which items belong to which pricing groups
Common Scenarios
- Volume Discounts: Create groups for different volume tiers
- Seasonal Promotions: Temporary pricing groups for sales events
- Product Categories: Different pricing for different product lines
- Customer Segments: Pricing based on customer type or industry
- Geographic Pricing: Regional pricing variations
See Also
- Price Level - Customer pricing tiers
- Price Book - Advanced pricing strategies
- Price Plan - Subscription pricing plans
- Inventory Item - Assign items to pricing groups
- Customer - Assign pricing groups to customers
- Customer Category - Categorize customers for pricing