---
title: "adds a fixed asset"
method: POST
path: "/Assets"
tags: ["Asset"]
---

# adds a fixed asset

`POST /Assets`

Adds an asset to the system

## Headers

- `Idempotency-Key` string

## Request body

- Asset
  - `assetId` string, uuid — The Xero-generated Id for the asset
  - `assetName` string, required — The name of the asset
  - `assetTypeId` string, uuid — The Xero-generated Id for the asset type
  - `assetNumber` string — Must be unique.
  - `purchaseDate` string, date — The date the asset was purchased YYYY-MM-DD
  - `purchasePrice` number, double — The purchase price of the asset
  - `disposalDate` string, date — The date the asset was disposed
  - `disposalPrice` number, double — The price the asset was disposed at
  - `assetStatus` 'Draft' | 'Registered' | 'Disposed' — See Asset Status Codes.
  - `warrantyExpiryDate` string — The date the asset’s warranty expires (if needed) YYYY-MM-DD
  - `serialNumber` string — The asset's serial number
  - `bookDepreciationSetting` BookDepreciationSetting
    - `depreciationMethod` 'NoDepreciation' | 'StraightLine' | 'DiminishingValue100' | 'DiminishingValue150' | 'DiminishingValue200' | 'FullDepreciation' — The method of depreciation applied to this asset. See Depreciation Methods
    - `averagingMethod` 'FullMonth' | 'ActualDays' — The method of averaging applied to this asset. See Averaging Methods
    - `depreciationRate` number, double — The rate of depreciation (e.g. 0.05)
    - `effectiveLifeYears` integer — Effective life of the asset in years (e.g. 5)
    - `depreciationCalculationMethod` 'Rate' | 'Life' | 'None' — See Depreciation Calculation Methods
    - `depreciableObjectId` string, uuid — Unique Xero identifier for the depreciable object
    - `depreciableObjectType` string — The type of asset object
    - `bookEffectiveDateOfChangeId` string, uuid — Unique Xero identifier for the effective date change
  - `bookDepreciationDetail` BookDepreciationDetail
    - `currentCapitalGain` number, double — When an asset is disposed, this will be the sell price minus the purchase price if a profit was made.
    - `currentGainLoss` number, double — When an asset is disposed, this will be the lowest one of sell price or purchase price, minus the current book value.
    - `depreciationStartDate` string, date — YYYY-MM-DD
    - `costLimit` number, double — The value of the asset you want to depreciate, if this is less than the cost of the asset.
    - `residualValue` number, double — The value of the asset remaining when you've fully depreciated it.
    - `priorAccumDepreciationAmount` number, double — All depreciation prior to the current financial year.
    - `currentAccumDepreciationAmount` number, double — All depreciation occurring in the current financial year.
    - `businessUseCapitalGain` number — (New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its business use.
    - `businessUseCurrentGainLoss` number — (New Zealand Orgs Only) Represents the gain or loss from the disposal of the business use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s business use.
    - `privateUseCapitalGain` number — (New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its private (non-business) use.
    - `privateUseCurrentGainLoss` number — (New Zealand Orgs Only) Represents the gain or loss from the disposal of the private use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s private use.
    - `initialDeductionPercentage` number — (New Zealand Orgs Only) The Investment Boost deduction percentage.
  - `canRollback` boolean — Boolean to indicate whether depreciation can be rolled back for this asset individually. This is true if it doesn't have 'legacy' journal entries and if there is no lock period that would prevent this asset from rolling back.
  - `accountingBookValue` number, double — The accounting value of the asset
  - `isDeleteEnabledForDate` boolean — Boolean to indicate whether delete is enabled

## Response `200`

return single object - create new asset

- Asset
  - `assetId` string, uuid — The Xero-generated Id for the asset
  - `assetName` string, required — The name of the asset
  - `assetTypeId` string, uuid — The Xero-generated Id for the asset type
  - `assetNumber` string — Must be unique.
  - `purchaseDate` string, date — The date the asset was purchased YYYY-MM-DD
  - `purchasePrice` number, double — The purchase price of the asset
  - `disposalDate` string, date — The date the asset was disposed
  - `disposalPrice` number, double — The price the asset was disposed at
  - `assetStatus` 'Draft' | 'Registered' | 'Disposed' — See Asset Status Codes.
  - `warrantyExpiryDate` string — The date the asset’s warranty expires (if needed) YYYY-MM-DD
  - `serialNumber` string — The asset's serial number
  - `bookDepreciationSetting` BookDepreciationSetting
    - `depreciationMethod` 'NoDepreciation' | 'StraightLine' | 'DiminishingValue100' | 'DiminishingValue150' | 'DiminishingValue200' | 'FullDepreciation' — The method of depreciation applied to this asset. See Depreciation Methods
    - `averagingMethod` 'FullMonth' | 'ActualDays' — The method of averaging applied to this asset. See Averaging Methods
    - `depreciationRate` number, double — The rate of depreciation (e.g. 0.05)
    - `effectiveLifeYears` integer — Effective life of the asset in years (e.g. 5)
    - `depreciationCalculationMethod` 'Rate' | 'Life' | 'None' — See Depreciation Calculation Methods
    - `depreciableObjectId` string, uuid — Unique Xero identifier for the depreciable object
    - `depreciableObjectType` string — The type of asset object
    - `bookEffectiveDateOfChangeId` string, uuid — Unique Xero identifier for the effective date change
  - `bookDepreciationDetail` BookDepreciationDetail
    - `currentCapitalGain` number, double — When an asset is disposed, this will be the sell price minus the purchase price if a profit was made.
    - `currentGainLoss` number, double — When an asset is disposed, this will be the lowest one of sell price or purchase price, minus the current book value.
    - `depreciationStartDate` string, date — YYYY-MM-DD
    - `costLimit` number, double — The value of the asset you want to depreciate, if this is less than the cost of the asset.
    - `residualValue` number, double — The value of the asset remaining when you've fully depreciated it.
    - `priorAccumDepreciationAmount` number, double — All depreciation prior to the current financial year.
    - `currentAccumDepreciationAmount` number, double — All depreciation occurring in the current financial year.
    - `businessUseCapitalGain` number — (New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its business use.
    - `businessUseCurrentGainLoss` number — (New Zealand Orgs Only) Represents the gain or loss from the disposal of the business use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s business use.
    - `privateUseCapitalGain` number — (New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its private (non-business) use.
    - `privateUseCurrentGainLoss` number — (New Zealand Orgs Only) Represents the gain or loss from the disposal of the private use portion of a fixed asset. This value records the financial result (profit or loss) related specifically to the asset’s private use.
    - `initialDeductionPercentage` number — (New Zealand Orgs Only) The Investment Boost deduction percentage.
  - `canRollback` boolean — Boolean to indicate whether depreciation can be rolled back for this asset individually. This is true if it doesn't have 'legacy' journal entries and if there is no lock period that would prevent this asset from rolling back.
  - `accountingBookValue` number, double — The accounting value of the asset
  - `isDeleteEnabledForDate` boolean — Boolean to indicate whether delete is enabled

## Other responses

- `400` — invalid input, object invalid

## Changes

- **2025-10-29** `0b01d6001cb0` — 10 info
  - added the new optional request property `bookDepreciationDetail/businessUseCapitalGain`
  - added the new optional request property `bookDepreciationDetail/businessUseCurrentGainLoss`
  - added the new optional request property `bookDepreciationDetail/initialDeductionPercentage`
  - added the new optional request property `bookDepreciationDetail/privateUseCapitalGain`
  - …6 more
- **2023-08-28** `ab3fc74a791b` — 1 info
  - added the new optional `header` request parameter `Idempotency-Key`

[Change history](https://skmtc.dev/xeroapi/apis/xero-assets-api/changes/Assets/post.md)

---

[API](https://skmtc.dev/xeroapi/apis/xero-assets-api.md) · [All operations](https://skmtc.dev/xeroapi/apis/xero-assets-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xeroapi/xero-assets-api/revisions/bab9cd4bc391/schema)
