The retirement of an Asset — sale, scrap or donation — carrying the disposal proceeds and the cost/accumulated-depreciation snapshot used to work out gain or loss. It is not just a record: the PostDisposal server action (AssetDisposalHandler, backed by AssetDisposalService) posts a journal that reverses accumulated depreciation, removes the fixed-asset cost, books any proceeds and books gain or loss, then stamps IsGLPosted, GLId and GainLoss on the disposal and sets the linked Asset to Status 'Disposed' with NetBookValue zeroed. Posting demands a Fixed Asset GL account, an Accumulated Depreciation GL account, a Branch, a Partner Account and a PurchaseCost above zero — none of which are exposed as fields in the first-party metadata, so a disposal created purely through the metadata API or UI cannot be posted until those columns are populated another way. Note the docs/finance fixed-assets manuals still describe disposal as record-keeping only; that is out of date.
Fields
| Field | Label | Type | Required | What it does |
AccumulatedDepreciation | Accumulated Depreciation | Currency | | The depreciation taken on the asset up to the disposal date, snapshotted here. Posting debits this amount to the accumulated-depreciation GL account to reverse it, and skips that line entirely when the value is zero. |
AccumulatedDepreciationGLAccountId | Accumulated Depreciation GL Account | Lookup → GLAccount | | |
AssetId | Asset | Lookup → Asset | | The asset being retired. Posting the disposal mutates this asset directly — setting its Status to 'Disposed', copying the disposal date and proceeds across, and zeroing its NetBookValue. |
BranchId | Branch | Lookup → Branch | | Branch the disposal posts under (auto-populated from the linked asset). |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
Currency | Currency | PickList | | |
DisposalDate | Disposal Date | Date | | |
DisposalMethod | Disposal Method | PickList | | How the asset left the business, seeded with Sale, Scrap and Donation. It describes the mechanism, whereas DisposalReason records why the asset was retired. Values: Sale, Scrap, Donation. |
DisposalReason | Disposal Reason | PickList | | Why the asset was retired, seeded with Damaged, Obsolete and Sold — the business justification, as distinct from the DisposalMethod by which it was disposed of. Values: Damaged, Obsolete, Sold. |
DisposalValue | Disposal Value | Currency | | The proceeds actually received for the asset. Posting books it to the proceeds GL account, but only when it is above zero and a proceeds account is set — a scrap or donation with no proceeds simply omits that line. |
FixedAssetGLAccountId | Fixed Asset GL Account | Lookup → GLAccount | | |
GainLoss | Gain/Loss | Calculated (calculated) | | The profit or loss on retirement, defined as DisposalValue minus NetBookValue — positive is a gain, negative a loss. It is a calculated field, but AssetDisposalService also recomputes and overwrites it at posting time using the same expression, so the stored value after posting is the figure that was actually booked to the ledger. |
GainLossGLAccountId | Gain/Loss GL Account | Lookup → GLAccount | | |
GLId | GL Journal | Lookup → Journal | | |
Id | Id | Guid | Yes | |
IsGLPosted | GL Posted | Boolean | | |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
NetBookValue | Net Book Value | Currency | | The asset's carrying value at the moment of disposal, captured on this record rather than read live from the Asset. If it is left empty, AssetDisposalService falls back to PurchaseCost minus AccumulatedDepreciation when posting. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Company | Lookup → Account | | |
ProceedsGLAccountId | Proceeds GL Account | Lookup → GLAccount | | |
PurchaseCost | Purchase Cost | Currency | | The original acquisition cost of the asset, snapshotted onto the disposal. Posting requires it to be greater than zero and credits this amount to the fixed-asset GL account to remove the asset from the gross block. |
RecordTypeId | Record Type | Guid, hidden | | |
Status | Status | PickList | | The disposal's workflow state. The seeded picklist offers Draft, Pending Approval and Disposed, but AssetDisposalService writes the literal 'Posted' once the disposal has been journalised, and that value is not in the picklist. Treat 'Posted' as the terminal, ledger-confirmed state and do not assume the picklist is exhaustive. Values: Draft, Pending Approval, Disposed. |
SubscriptionKey | Subscription Key | Guid, hidden | Yes | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteHeader | Delete | Delete | DeleteHeader |
DeleteRow | Delete | Delete | DeleteRow |
Edit | Edit | EditInline | Edit |
EditEntity | Edit | Edit | Edit |
EditRow | Edit | Edit | EditRow |
New | New | New | New |
PostDisposal | Post Disposal | ServerAction (PostDisposal) | Post Disposal |
- Asset — looks up via
AssetId - Journal — looks up via
GLId - GLAccount — looks up via
ProceedsGLAccountId - GLAccount — looks up via
GainLossGLAccountId - GLAccount — looks up via
FixedAssetGLAccountId - GLAccount — looks up via
AccumulatedDepreciationGLAccountId - Account — looks up via
PartnerAccountId - Branch — looks up via
BranchId - Journal — referenced by via
SourceRecordId