Inventory Cost Revaluation API
Adjust inventory cost for standard costing adjustments, cost corrections, or revaluations.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /record/v1/inventoryCostRevaluation | Retrieve list of cost revaluations |
| GET | /record/v1/inventoryCostRevaluation/{id} | Retrieve a specific cost revaluation |
| POST | /record/v1/inventoryCostRevaluation | Create a new cost revaluation |
| PATCH | /record/v1/inventoryCostRevaluation/{id} | Update an existing cost revaluation |
| DELETE | /record/v1/inventoryCostRevaluation/{id} | Delete a cost revaluation |
Key Fields
Header Fields
| Field | Type | Description | Required |
|---|---|---|---|
tranDate | Date | Transaction date | Yes |
subsidiary | Object | Subsidiary reference {"id": "1"} | Yes |
postingPeriod | Object | Posting period reference | No |
department | Object | Department reference | No |
class | Object | Class reference | No |
location | Object | Primary location reference | No |
memo | String | Transaction memo/description | No |
tranId | String | Transaction number (auto-generated if not provided) | No |
Line Item Fields (item.items)
| Field | Type | Description | Required |
|---|---|---|---|
item | Object | Item reference {"id": "789"} | Yes |
location | Object | Location reference for this line | Yes |
unitCost | Number | New unit cost for the item | Yes |
currentCost | Number | Current cost (read-only, for reference) | No |
quantity | Number | Quantity on hand (read-only, for reference) | No |
memo | String | Line-level memo | No |
Example: Create Inventory Cost Revaluation
Request
POST /record/v1/inventoryCostRevaluation
Content-Type: application/json
{
"tranDate": "2025-12-25",
"subsidiary": {"id": "1"},
"department": {"id": "10"},
"class": {"id": "5"},
"memo": "Year-end cost revaluation - Standard cost adjustment",
"item": {
"items": [
{
"item": {"id": "789"},
"location": {"id": "1"},
"unitCost": 26.50,
"memo": "Updated standard cost from $25.00 to $26.50"
},
{
"item": {"id": "790"},
"location": {"id": "1"},
"unitCost": 16.00,
"memo": "Updated standard cost from $15.50 to $16.00"
}
]
}
}
Response
{
"id": "34567",
"tranDate": "2025-12-25",
"tranId": "COSTREVAL-2025-001",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"department": {
"id": "10",
"refName": "Operations"
},
"class": {
"id": "5",
"refName": "Warehouse A"
},
"memo": "Year-end cost revaluation - Standard cost adjustment",
"item": {
"items": [
{
"item": {
"id": "789",
"refName": "Widget A"
},
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"currentCost": 25.00,
"unitCost": 26.50,
"quantity": 100,
"costDifference": 1.50,
"totalImpact": 150.00,
"memo": "Updated standard cost from $25.00 to $26.50"
},
{
"item": {
"id": "790",
"refName": "Widget B"
},
"location": {
"id": "1",
"refName": "Main Warehouse"
},
"currentCost": 15.50,
"unitCost": 16.00,
"quantity": 75,
"costDifference": 0.50,
"totalImpact": 37.50,
"memo": "Updated standard cost from $15.50 to $16.00"
}
]
},
"totalCostImpact": 187.50,
"links": [
{
"rel": "self",
"href": "https://{{account}}.suitetalk.api.netsuite.com/services/rest/record/v1/inventoryCostRevaluation/34567"
}
]
}
Example: Update Inventory Cost Revaluation
Request
PATCH /record/v1/inventoryCostRevaluation/34567
Content-Type: application/json
{
"memo": "Year-end cost revaluation - Standard cost adjustment - Revised",
"item": {
"items": [
{
"item": {"id": "791"},
"location": {"id": "1"},
"unitCost": 18.75,
"memo": "Additional cost adjustment"
}
]
}
}
Response
{
"id": "34567",
"memo": "Year-end cost revaluation - Standard cost adjustment - Revised",
"totalCostImpact": 237.50,
"links": [
{
"rel": "self",
"href": "https://{{account}}.suitetalk.api.netsuite.com/services/rest/record/v1/inventoryCostRevaluation/34567"
}
]
}
Sublists/Line Items
Item Sublist Structure
The item.items array contains cost revaluation line items. Each line represents a cost adjustment for a specific item at a specific location.
{
"item": {
"items": [
{
"item": {"id": "789"},
"location": {"id": "1"},
"unitCost": 26.50,
"memo": "Cost adjustment reason"
}
]
}
}
Multi-Location Revaluation
You can revalue the same item at different locations:
{
"item": {
"items": [
{
"item": {"id": "789"},
"location": {"id": "1"},
"unitCost": 26.50,
"memo": "Main Warehouse cost update"
},
{
"item": {"id": "789"},
"location": {"id": "2"},
"unitCost": 27.00,
"memo": "Distribution Center cost update"
}
]
}
}
Query Filters
Filter by Date Range
GET /record/v1/inventoryCostRevaluation?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31'
Filter by Subsidiary
GET /record/v1/inventoryCostRevaluation?q=subsidiary.id = 1
Filter by Transaction ID
GET /record/v1/inventoryCostRevaluation?q=tranId = 'COSTREVAL-2025-001'
Filter by Department
GET /record/v1/inventoryCostRevaluation?q=department.id = 10
Filter by Date and Subsidiary
GET /record/v1/inventoryCostRevaluation?q=tranDate >= '2025-01-01' AND subsidiary.id = 1
Complex Query with Sorting
GET /record/v1/inventoryCostRevaluation?q=tranDate BETWEEN '2025-01-01' AND '2025-12-31' AND subsidiary.id = 1&orderby=tranDate DESC&limit=50
Important Notes
Accounting Impact
- Cost Increase: Debit Inventory Asset, Credit Cost Revaluation Account (Income/Expense)
- Cost Decrease: Debit Cost Revaluation Account, Credit Inventory Asset
- The revaluation affects the inventory value based on quantity on hand
- Formula:
Cost Impact = (New Unit Cost - Current Unit Cost) × Quantity on Hand
Costing Method Requirements
- Primarily used with Standard Costing method
- May be available for other costing methods depending on NetSuite configuration
- Check your inventory costing settings before using this API
Cost Changes
- The new
unitCostbecomes the standard cost for the item - Affects future transactions using this item
- Does not affect historical transactions
- The cost change is location-specific
Permissions Required
- Create: Transactions > Inventory Cost Revaluation > Create
- Edit: Transactions > Inventory Cost Revaluation > Edit
- Delete: Transactions > Inventory Cost Revaluation > Delete
- View: Transactions > Inventory Cost Revaluation > View
- May require additional permissions for cost management
Best Practices
- Document reasons for cost changes in the memo field
- Review inventory levels before revaluation to understand financial impact
- Coordinate timing with accounting periods and financial close
- Use approval workflows for significant cost changes
- Monitor cost variance reports after revaluation
- Schedule revaluations during low-activity periods to avoid conflicts
Limitations
- Cannot revalue items with zero quantity on hand (no impact)
- Closed accounting periods may restrict revaluations
- Some item types may not support cost revaluation
- Negative costs are typically not allowed
- May be limited by role permissions and account settings
When to Use Cost Revaluation
Use Cost Revaluation for:
- Updating standard costs for standard costing items
- Correcting cost errors
- Annual or periodic cost updates
- Reflecting market price changes
- Adjusting for currency fluctuations
Do NOT use for:
- Quantity adjustments (use Inventory Adjustment instead)
- Location transfers (use Inventory Transfer instead)
- Individual transaction cost corrections (use Journal Entries)
Data Validation
unitCostmust be a positive number (in most cases)- Unit cost should be reasonable for the item type
- Location must be valid for the item
- Transaction date must be within an open accounting period
- Item must exist and have inventory tracking enabled
Impact Analysis
Before creating a cost revaluation, consider:
- Current quantity on hand at the location
- Cost difference (new cost - current cost)
- Total financial impact (cost difference × quantity)
- GL account impact for the revaluation
- Downstream effects on work orders, assemblies, etc.
Reporting
After cost revaluation, review:
- Inventory Valuation Summary
- Cost Revaluation History
- Inventory Cost Variance reports
- GL Impact Report
- Standard Cost Update Audit Trail