Classification API
Manage classifications (classes) for business segmentation. Classifications provide an additional dimension for tracking revenue and expenses across product lines, divisions, or other business segments.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /record/v1/classification | List all classifications |
| GET | /record/v1/classification/{id} | Get a specific classification by ID |
| POST | /record/v1/classification | Create a new classification |
| PATCH | /record/v1/classification/{id} | Update an existing classification |
| DELETE | /record/v1/classification/{id} | Delete a classification |
Key Fields
Required Fields
| Field | Type | Description | Required |
|---|---|---|---|
name | String | Classification name | Yes |
Optional Fields
| Field | Type | Description | Required |
|---|---|---|---|
subsidiary | Object/Array | Subsidiary or subsidiaries where this classification is available | No |
parent | Object | Parent classification (for classification hierarchy) | No |
includeChildren | Boolean | Include child classifications in reports | No |
isInactive | Boolean | Whether the classification is inactive | No |
Example: Create Classification
Request
POST /record/v1/classification
Content-Type: application/json
{
"name": "Corporate",
"subsidiary": [
{"id": "1"},
{"id": "2"}
],
"parent": {
"id": "8"
},
"includeChildren": true,
"isInactive": false
}
Response
{
"id": "20",
"name": "Corporate",
"subsidiary": [
{
"id": "1",
"refName": "Parent Company"
},
{
"id": "2",
"refName": "US Subsidiary"
}
],
"parent": {
"id": "8",
"refName": "Enterprise Division"
},
"includeChildren": true,
"isInactive": false,
"links": [
{
"rel": "self",
"href": "https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/classification/20"
}
]
}
Example: Update Classification
Request
PATCH /record/v1/classification/20
Content-Type: application/json
{
"name": "Corporate Services",
"includeChildren": false
}
Response
{
"id": "20",
"name": "Corporate Services",
"includeChildren": false,
"links": [
{
"rel": "self",
"href": "https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/classification/20"
}
]
}
Query Filters
You can filter classifications using query parameters:
Filter by Subsidiary
GET /record/v1/classification?q=subsidiary.id ANYOF 1,2
Filter by Active Status
GET /record/v1/classification?q=isInactive IS false
Filter by Parent Classification
GET /record/v1/classification?q=parent.id IS 8
Search by Name
GET /record/v1/classification?q=name CONTAINS Corporate
Get Top-Level Classifications
GET /record/v1/classification?q=parent.id IS EMPTY
Complex Filter Example
GET /record/v1/classification?q=subsidiary.id ANYOF 1 AND isInactive IS false AND parent.id IS NOTEMPTY
Pagination and Sorting
GET /record/v1/classification?limit=50&offset=0&orderby=name ASC
Important Notes
-
Class Feature: Classifications (often called "Class" in NetSuite) must be enabled in Setup > Company > Enable Features > Classification.
-
Subsidiary Association: In OneWorld accounts, assign classifications to specific subsidiaries to control where they can be used.
-
Classification Hierarchy: Use parent classifications to create organizational hierarchies for better reporting and analysis.
-
Include Children: When
includeChildrenis true, reports will aggregate child classification data into the parent. -
Transaction Tagging: Classifications can be assigned to transactions, journal entries, and items to track financial data by business segment.
-
Use Cases: Common uses include tracking by product line, business unit, division, brand, or project.
-
Required on Transactions: Administrators can make classification selection mandatory on transactions via Setup > Accounting > Accounting Preferences.
-
Deletion Restrictions: Classifications used in transactions or assigned to records cannot be deleted. Mark them as inactive instead.
-
Permissions: Requires "Lists > Classes" permission in NetSuite.
-
Multi-Dimensional Reporting: Classifications work alongside Department and Location to provide multi-dimensional financial reporting and analysis.
-
Profitability Analysis: Classifications are particularly useful for analyzing profitability by product line or business segment.
-
Budget and Planning: Many organizations use classifications for budgeting and financial planning across different business units.