> ## Documentation Index
> Fetch the complete documentation index at: https://docs.layerfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Asset object

An Asset represents a fixed asset a Business owns: such as a vehicle, a piece of equipment, a right-of-use asset, or goodwill. Creating an asset opens a dedicated ledger account for it (under Fixed Assets by default), so its value and any changes flow through the Business's books.

Once an asset exists, you record changes to its carrying value over time with **value updates**: depreciation, improvements, impairments, and revaluations. See the [Asset Value Update object](#asset-value-update-object).

Assets can also be tied to a loan: an `ASSET` loan proceed can create or link an asset that the loan financed. See [Create a loan](/api-reference/v1/loans/create-loan).

### Attributes

<ParamField body="id" type="string" required="true">
  Unique identifier for the asset.
</ParamField>

<ParamField body="business_id" type="string" required="true">
  ID of the Business that owns the asset.
</ParamField>

<ParamField body="external_id" type="string">
  Unique ID of the asset in your system for linking purposes.
</ParamField>

<ParamField body="name" type="string" required="true">
  Name of the asset.
</ParamField>

<ParamField body="asset_type" type="enum" required="true">
  The type of fixed asset. Values can be: `RIGHT_OF_USE_ASSET`, `VEHICLE`, `EQUIPMENT`, `GOODWILL`
</ParamField>

<ParamField body="ledger_account" type="ChartAccount object" required="true">
  The dedicated ledger account for this asset.
</ParamField>

<ParamField body="accumulated_depreciation_account" type="ChartAccount object">
  The accumulated depreciation account for this asset, if configured. Required before recording `DEPRECIATION_AMORTIZATION` value updates.
</ParamField>

<ParamField body="original_value" type="integer">
  Original purchase value, in cents.
</ParamField>

<ParamField body="salvage_value" type="integer">
  Estimated salvage (residual) value, in cents.
</ParamField>

<ParamField body="useful_life_months" type="integer">
  Useful life of the asset, in months.
</ParamField>

<ParamField body="archived_at" type="ISO8601 timestamp">
  When the asset was archived, if applicable.
</ParamField>

<ParamField body="memo" type="string">
  Internal note about the asset.
</ParamField>

<ParamField body="metadata" type="object">
  Arbitrary JSON object you can attach for your own use. Layer stores and returns it unchanged.
</ParamField>

<ParamField body="reference_number" type="string">
  Reference number for the asset.
</ParamField>

<ParamField body="transaction_tags" type="array of Tag objects">
  Tags applied to this asset.
</ParamField>

## Asset Value Update object

An Asset Value Update is a recorded change to an asset's carrying value. Each update posts a journal entry between the asset (or its accumulated depreciation account) and a counter account.

`DEPRECIATION_AMORTIZATION`, `IMPAIRMENT`, and `REVALUATION_DOWN` decrease the asset's value; `IMPROVEMENT` and `REVALUATION_UP` increase it. Depreciation requires the asset to have an `accumulated_depreciation_account` configured.

### Attributes

<ParamField body="id" type="string" required="true">
  Unique identifier for the value update.
</ParamField>

<ParamField body="business_id" type="string" required="true">
  ID of the Business that owns the asset.
</ParamField>

<ParamField body="external_id" type="string">
  Unique ID of the value update in your system for linking purposes.
</ParamField>

<ParamField body="asset_id" type="string" required="true">
  ID of the asset this value update applies to.
</ParamField>

<ParamField body="amount" type="integer" required="true">
  Amount of the value change, in cents.
</ParamField>

<ParamField body="update_type" type="enum" required="true">
  The kind of value change. Values can be: `DEPRECIATION_AMORTIZATION`, `IMPROVEMENT`, `IMPAIRMENT`, `REVALUATION_UP`, `REVALUATION_DOWN`
</ParamField>

<ParamField body="date" type="ISO8601 timestamp" required="true">
  Date of the value update.
</ParamField>

<ParamField body="archived_at" type="ISO8601 timestamp">
  When the value update was archived, if applicable.
</ParamField>

<ParamField body="memo" type="string">
  Internal note about the value update.
</ParamField>

<ParamField body="metadata" type="object">
  Arbitrary JSON object you can attach for your own use.
</ParamField>

<ParamField body="reference_number" type="string">
  Reference number for the value update.
</ParamField>

<ParamField body="transaction_tags" type="array of Tag objects">
  Tags applied to this value update.
</ParamField>
