Skip to main content

Inventory Cost Revaluation API

Adjust inventory cost for standard costing adjustments, cost corrections, or revaluations.

Endpoints

MethodEndpointDescription
GET/record/v1/inventoryCostRevaluationRetrieve list of cost revaluations
GET/record/v1/inventoryCostRevaluation/{id}Retrieve a specific cost revaluation
POST/record/v1/inventoryCostRevaluationCreate 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

FieldTypeDescriptionRequired
tranDateDateTransaction dateYes
subsidiaryObjectSubsidiary reference {"id": "1"}Yes
postingPeriodObjectPosting period referenceNo
departmentObjectDepartment referenceNo
classObjectClass referenceNo
locationObjectPrimary location referenceNo
memoStringTransaction memo/descriptionNo
tranIdStringTransaction number (auto-generated if not provided)No

Line Item Fields (item.items)

FieldTypeDescriptionRequired
itemObjectItem reference {"id": "789"}Yes
locationObjectLocation reference for this lineYes
unitCostNumberNew unit cost for the itemYes
currentCostNumberCurrent cost (read-only, for reference)No
quantityNumberQuantity on hand (read-only, for reference)No
memoStringLine-level memoNo

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 unitCost becomes 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

  1. Document reasons for cost changes in the memo field
  2. Review inventory levels before revaluation to understand financial impact
  3. Coordinate timing with accounting periods and financial close
  4. Use approval workflows for significant cost changes
  5. Monitor cost variance reports after revaluation
  6. 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

  • unitCost must 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