Retrieve an inventory revaluation
Operation ID: getInventoryRevaluation
Group: Inventory › Inventory Revaluations
Open in the interactive reference
GET /inventory/inventory-revaluations/{id}
Read-only: Reads and returns; changes nothing.
Retrieves an inventory revaluation. Use the revaluation's id, not its documentNumber.
The revaluation comes back with all of its lines, including their batches and serials. GET inventory/inventory-revaluations returns the same fields without the lines.
The warehouse is set on each line, not on the revaluation, so one revaluation can revalue the same item in several warehouses. A negative totalRevaluationAmount is a write-down.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
id |
path | string | yes | The unique identifier of the revaluation you want to retrieve. |
Response
200 Success
Under data (getInventoryRevaluationOutput):
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | The unique identifier for the revaluation. Example: "8e4b17c0-5d92-4a63-b0f7-1c8e35a029d4". |
documentNumber |
string | no | The revaluation's document number, for example 'REV-1187'. Example: "REV-1187". |
documentStatus |
string | yes | The status of the revaluation. Possible values: 'DRAFT', 'COMMITTED', 'CANCELLED'. Example: "DRAFT". |
documentDate |
date | no | The date the revaluation is dated. Format YYYY-MM-DD. Example: "2026-08-18". |
entityId |
string | no | The unique identifier for the legal entity whose books this moves. See id on GET base/entities. Example: "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43". |
entityName |
string | no | The display name of that legal entity. Example: "Acme Netherlands B.V.". |
costingValuationType |
string | no | How the value change is recorded. Possible values: 'revaluation', 'directCostCapitalisation'. 'revaluation' restates the cost outright, and 'directCostCapitalisation' adds a cost that was expensed elsewhere onto the stock. Example: "revaluation". |
capitalisationExpenseAccountId |
string | no | The unique identifier for the general ledger account a direct cost capitalization takes the expense off. Absent on an ordinary revaluation. See id on GET accounting/chart-of-accounts/:id. |
costingElementTypeId |
string | no | The unique identifier for the costing element type the cost breakdown rows are recorded against. Required to commit. Example: "f2a58c31-9d47-4e06-8b25-3c7f1a94e5d8". |
reasonCodeId |
string | no | The unique identifier for the reason code, when one was given. See id on GET inventory/reason-codes/:id. |
reasonCode |
string | no | The code of that reason code. |
reasonCodeDescription |
string | no | The description of that reason code. |
currency |
string | no | The currency of every amount on the revaluation, the legal entity's functional currency. Format ISO 4217, for example 'EUR'. Example: "EUR". |
totalRevaluationAmount |
decimal | no | The sum of every line's revaluationAmount, in the revaluation's currency. This is what the document moves on the balance sheet. Example: "-450". |
active |
boolean | no | Whether the document is active. |
notes |
string | no | Free text on the revaluation. |
lineCount |
number | no | How many lines the revaluation has. Example: 1. |
createdDate |
date-time | no | The date and time the revaluation was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
lastModifiedDate |
date-time | no | The date and time the revaluation record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-18T09:14:22.517Z". |
lines |
array<object> | no | The lines of the revaluation. Absent from the collection endpoint, which publishes lineCount instead. Example: [{"id":"6c2f9a41-7b58-4d30-91e6-4a0d8c25f3b7","itemId":"517a93e4-cbb4-4571-9e3d-2343e56cfd84","itemCode":"WIDGET-01","locationCode":"WH-CENTRAL","unitCode":"EA","quantity":"150","currentUnitCost":"12","newUnitCost":"9","revaluationAmount":"-450"}]. |
lines[].id |
string | yes | The unique identifier for the revaluation line. Pass it in updateLines or deleteLines on PATCH inventory/inventory-revaluations/:id to change or remove the line. |
lines[].itemId |
string | no | The unique identifier for the item being revalued. See id on GET inventory/items/:id. |
lines[].itemCode |
string | no | The code of that item. |
lines[].itemName |
string | no | The display name of that item. |
lines[].locationId |
string | no | The unique identifier for the warehouse whose stock this line restates. The same item may be carried at a different cost in each warehouse. See id on GET inventory/warehouses/:id. |
lines[].locationCode |
string | no | The code of that warehouse. |
lines[].locationName |
string | no | The display name of that warehouse. |
lines[].unitId |
string | no | The unique identifier for the unit the quantity is in. See id on GET inventory/unit-of-measures/:id. |
lines[].unitCode |
string | no | The code of that unit. |
lines[].quantity |
decimal | no | How much stock this line restates the cost of, in the line's unit. |
lines[].inventoryQuantity |
decimal | no | The same amount in the item's stocking unit. |
lines[].currentUnitCost |
decimal | no | What the stock is carried at today, in the revaluation's currency. You supply it and the platform checks it rather than deriving it. Read it from GET inventory/inventory-levels. |
lines[].newUnitCost |
decimal | no | What it should be carried at after this posts, in the revaluation's currency. |
lines[].previousAfterSaleCost |
decimal | no | The accrued after-sale cost before this document, in the revaluation's currency. Moving-average direct cost capitalization only. |
lines[].newAfterSaleCost |
decimal | no | The after-sale cost to capitalize, in the revaluation's currency. Moving-average direct cost capitalization only. |
lines[].revaluationAmount |
decimal | no | The value this line moves on the balance sheet, in the revaluation's currency: (newUnitCost - currentUnitCost) x quantity. |
lines[].status |
string | no | Where the line sits in the platform's own process. This is free text with no fixed set of values. |
lines[].notes |
string | no | Free text on the line. |
lines[].batches |
array<object> | no | The batches being restated. Their quantities must add up to the line's quantity. |
lines[].batches[].batchNumberId |
string | no | The unique identifier for the batch number. |
lines[].batches[].batchNumber |
string | no | The batch number itself. |
lines[].batches[].quantity |
decimal | no | How much of the line this batch accounts for. |
lines[].batches[].currentUnitCost |
decimal | no | What this batch is carried at today, in the revaluation's currency. |
lines[].batches[].newUnitCost |
decimal | no | What it should be carried at. |
lines[].serials |
array<object> | no | The serialized units being restated, one entry per unit, so there must be exactly as many as the quantity says. |
lines[].serials[].serialNumberId |
string | no | The unique identifier for the serial number. |
lines[].serials[].serialNumber |
string | no | The serial number itself. |
lines[].serials[].currentUnitCost |
decimal | no | What this unit is carried at today, in the revaluation's currency. |
lines[].serials[].newUnitCost |
decimal | no | What it should be carried at. |
lines[].serials[].previousAfterSaleCost |
decimal | no | The unit's accrued after-sale cost before this document. Direct cost capitalization on a sold serial only. |
lines[].serials[].newAfterSaleCost |
decimal | no | The after-sale cost to capitalize on it. |
{
"data": {
"id": "8e4b17c0-5d92-4a63-b0f7-1c8e35a029d4",
"documentNumber": "REV-1187",
"documentStatus": "DRAFT",
"documentDate": "2026-08-18",
"entityId": "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43",
"entityName": "Acme Netherlands B.V.",
"costingValuationType": "revaluation",
"capitalisationExpenseAccountId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"costingElementTypeId": "f2a58c31-9d47-4e06-8b25-3c7f1a94e5d8",
"reasonCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reasonCode": "<reasonCode>",
"reasonCodeDescription": "<reasonCodeDescription>",
"currency": "EUR",
"totalRevaluationAmount": "-450",
"active": true,
"notes": "<notes>",
"lineCount": 1,
"createdDate": "2026-01-15T09:30:00.000Z",
"lastModifiedDate": "2026-08-18T09:14:22.517Z",
"lines": [
{
"id": "6c2f9a41-7b58-4d30-91e6-4a0d8c25f3b7",
"itemId": "517a93e4-cbb4-4571-9e3d-2343e56cfd84",
"itemCode": "WIDGET-01",
"locationCode": "WH-CENTRAL",
"unitCode": "EA",
"quantity": "150",
"currentUnitCost": "12",
"newUnitCost": "9",
"revaluationAmount": "-450"
}
]
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Errors
| Code | Status |
|---|---|
NOT_FOUND |
400 |
Statuses
400— Invalid request or business failure. Codes: NOT_FOUND401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error