A lower-of-cost-and-net-realisable-value assessment for one item or one group of similar items, per accounting book and fiscal period: the carrying cost, the NRV inputs, the impairment movement recorded this run, and the cumulative outstanding write-down that caps any later reversal at original cost. History is append-only - each run reads the most recent prior row for the same book, item, group and branch as its starting point. Note that no first-party code path creates these rows: the assessment calculation exists as a service but only tests call it, so in a live tenant the row and its computed amounts have to be entered against the entity. Period close does consume them, posting a write-down or reversal journal for each unposted row and stamping JournalId, and the inventory valuation statement subtracts the latest OutstandingWriteDown from lot cost to reach carrying value.
Fields
| Field | Label | Type | Required | What it does |
AccountingBookId | Accounting Book | Lookup → AccountingBook | | |
AsOfDate | As Of Date | Date | | The measurement date. |
BranchId | Branch | Lookup → Branch | | Part of the key used to find the previous assessment, so assessing an item company-wide and then per branch produces independent write-down histories that will not cap each other's reversals. |
CarryingValue | Carrying Value | Currency | | Cost less the outstanding write-down after this run - a stored result of the calculation, not a live valuation of stock, and it never exceeds the original cost passed in. |
CostToComplete | Cost To Complete | Currency | | Further costs needed to bring the stock to saleable condition; it is subtracted from the estimated selling price when deriving NRV. |
CostToSell | Cost To Sell | Currency | | Costs of making the sale, such as commission or freight out; it is subtracted from the estimated selling price alongside cost to complete when deriving NRV. |
CostValue | Cost Value | Currency | | The carrying cost before impairment for the assessed scope. It is supplied to the calculation by the caller from the cost engine rather than being looked up from the cost layers here, so a hand-entered row can hold any figure. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
EstimatedSellingPrice | Estimated Selling Price | Currency | | The expected selling price of the assessed stock, the starting point of the NRV calculation - not a price-list lookup and not validated against one. |
FiscalPeriodId | Fiscal Period | Lookup → FiscalPeriod | | The period whose close will post this row. The posting step selects unposted rows by this key, so an assessment left without a fiscal period is never posted no matter what write-down it records. |
Grouping | Grouping | Text | | Records whether the lower-of-cost-and-NRV test was applied to a single item or to a group of similar items, which accounting standards require because write-downs may not be netted across the whole inventory. It is a stored label only - no code branches on it. |
Id | Id | Guid | Yes | |
ItemGroupId | Item Group | Lookup → ItemGroup | | Set instead of the item when the test is applied to a group of similar items. The prior-run lookup matches item and item group together, so switching an item between item-level and group-level assessment starts a fresh impairment history rather than continuing the old one. |
ItemId | Item | Lookup → Item | | |
JournalId | Journal | Lookup → Journal | | Stamped when period close posts this row's write-down or reversal journal. A row that already has one is skipped on subsequent runs, which is exactly what makes re-running a close safe; an empty value means the impairment has not reached the general ledger. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
Nrv | Nrv | Currency | | Estimated selling price less cost to complete less cost to sell, rounded to two decimals. The impairment the assessment implies is cost less this figure, floored at zero. |
OutstandingWriteDown | Outstanding Write Down | Currency | | The cumulative impairment still carried after this run. The next assessment for the same book, item, group and branch reads it as its starting point, and the inventory valuation statement subtracts the latest one from lot cost, so it is the field that carries impairment forward rather than the per-run movements. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
Policy | Policy | Text | | Decides whether a recovery in net realisable value may be released. The calculation permits a reversal only when this equals ReversalAllowed (the IFRS and Ind AS position); NoReversal makes the impairment permanent, as US GAAP requires. |
RecordTypeId | Record Type | Guid, hidden | | |
ReversalThisRun | Reversal This Run | Currency | | The incremental recovery this run releases, capped at the cumulative outstanding write-down so carrying value can never rise above original cost, and non-zero only when the policy allows reversal. Period close posts it as the mirror image of a write-down. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
WriteDownThisRun | Write Down This Run | Currency | | The incremental impairment this run adds, that is the amount by which the newly required write-down exceeds the cumulative outstanding one. Period close posts it as a debit to an expense account and a credit to inventory. |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteEntity | Delete | Delete | Delete |
DeleteRow | Delete | Delete | Delete |
Edit | Edit | Edit | Edit |
EditEntity | Edit | Edit | Edit |
EditHeader | Edit | EditInline | Edit |
EditInline | Edit | EditInline | Edit |
NewHeader | New | New | New |