Skip to content

Xero: adds a fixed asset

Xero assets.createAsset: arguments, response, policy and SDK examples.

← Assets operations · Get started

Operation xero.assets_createasset

Provider route: POST /assets.xro/1.0/Assets. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/xero with npm, or alter-sdk-xero with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { XeroIntegration } from "@alter-ai/xero";
async function execute(input: Parameters<XeroIntegration["assets"]["createAsset"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new XeroIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.assets.createAsset(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_xero import XeroIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = XeroIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.assets.create_asset(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
headersobjectRequired within parentAdditional keys: not allowed
headers.xero-tenant-idstringRequired within parent
headers.Idempotency-KeystringOptional
bodyModelRequired within parentExpand adds a fixed asset — request body — body

Referenced models: adds a fixed asset — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand adds a fixed asset — response body

Referenced models: adds a fixed asset — response body

1 more schema is linked from the tables above, on the schema pages.

adds a fixed asset — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
accountingBookValuenumberOptionalThe accounting value of the asset
Format: double
assetIdstringOptionalThe Xero-generated Id for the asset
Format: uuid
assetNamestringRequired within parentThe name of the asset
assetNumberstringOptionalMust be unique.
assetStatusstringOptionalSee Asset Status Codes.
One of: Draft, Registered, Disposed
assetTypeIdstringOptionalThe Xero-generated Id for the asset type
Format: uuid
bookDepreciationDetailModelOptionalExpand adds a fixed asset — request body — body book Depreciation Detail
bookDepreciationSettingModelOptionalExpand adds a fixed asset — request body — body book Depreciation Setting
canRollbackbooleanOptionalBoolean 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.
disposalDatestringOptionalThe date the asset was disposed
Format: date
disposalPricenumberOptionalThe price the asset was disposed at
Format: double
isDeleteEnabledForDatebooleanOptionalBoolean to indicate whether delete is enabled
purchaseDatestringOptionalThe date the asset was purchased YYYY-MM-DD
Format: date
purchasePricenumberOptionalThe purchase price of the asset
Format: double
serialNumberstringOptionalThe asset's serial number
warrantyExpiryDatestringOptionalThe date the asset’s warranty expires (if needed) YYYY-MM-DD

Referenced models: adds a fixed asset — request body — body book Depreciation Detail, adds a fixed asset — request body — body book Depreciation Setting

adds a fixed asset — response body
FieldTypePresenceDescription and constraints
$objectRoot
accountingBookValueJSONOptional
accountingBookValue (anyOf 1)numberAlternativeThe accounting value of the asset
Format: double
accountingBookValue (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
assetIdstringOptionalThe Xero-generated Id for the asset
Format: uuid
assetNamestringRequired within parentThe name of the asset
assetNumberstringOptionalMust be unique.
assetStatusstringOptionalSee Asset Status Codes.
Known values: Draft, Registered, Disposed
assetTypeIdstringOptionalThe Xero-generated Id for the asset type
Format: uuid
bookDepreciationDetailModelOptionalExpand adds a fixed asset — response body — book Depreciation Detail
bookDepreciationSettingModelOptionalExpand adds a fixed asset — response body — book Depreciation Setting
canRollbackbooleanOptionalBoolean 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.
disposalDatestringOptionalThe date the asset was disposed
Format: date
disposalPriceJSONOptional
disposalPrice (anyOf 1)numberAlternativeThe price the asset was disposed at
Format: double
disposalPrice (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
isDeleteEnabledForDatebooleanOptionalBoolean to indicate whether delete is enabled
purchaseDatestringOptionalThe date the asset was purchased YYYY-MM-DD
Format: date
purchasePriceJSONOptional
purchasePrice (anyOf 1)numberAlternativeThe purchase price of the asset
Format: double
purchasePrice (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
serialNumberstringOptionalThe asset's serial number
warrantyExpiryDatestringOptionalThe date the asset’s warranty expires (if needed) YYYY-MM-DD

Referenced models: adds a fixed asset — response body — book Depreciation Detail, adds a fixed asset — response body — book Depreciation Setting

adds a fixed asset — request body — body book Depreciation Detail
FieldTypePresenceDescription and constraints
$JSONRoot
businessUseCapitalGainnumberOptional(New Zealand Orgs Only) The portion of capital gain realised from the disposal of a fixed asset that is attributable to its business use.
Format: decimal
businessUseCurrentGainLossnumberOptional(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.
Format: decimal
costLimitnumberOptionalThe value of the asset you want to depreciate, if this is less than the cost of the asset.
Format: double
currentAccumDepreciationAmountnumberOptionalAll depreciation occurring in the current financial year.
Format: double
currentCapitalGainnumberOptionalWhen an asset is disposed, this will be the sell price minus the purchase price if a profit was made.
Format: double
currentGainLossnumberOptionalWhen an asset is disposed, this will be the lowest one of sell price or purchase price, minus the current book value.
Format: double
depreciationStartDatestringOptionalYYYY-MM-DD
Format: date
initialDeductionPercentagenumberOptional(New Zealand Orgs Only) The Investment Boost deduction percentage.
Format: decimal
priorAccumDepreciationAmountnumberOptionalAll depreciation prior to the current financial year.
Format: double
privateUseCapitalGainnumberOptional(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.
Format: decimal
privateUseCurrentGainLossnumberOptional(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.
Format: decimal
residualValuenumberOptionalThe value of the asset remaining when you've fully depreciated it.
Format: double
adds a fixed asset — request body — body book Depreciation Setting
FieldTypePresenceDescription and constraints
$JSONRoot
averagingMethodstringOptionalThe method of averaging applied to this asset. See Averaging Methods
One of: FullMonth, ActualDays
bookEffectiveDateOfChangeIdstringOptionalUnique Xero identifier for the effective date change
Format: uuid
depreciableObjectIdstringOptionalUnique Xero identifier for the depreciable object
Format: uuid
depreciableObjectTypestringOptionalThe type of asset object
depreciationCalculationMethodstringOptionalSee Depreciation Calculation Methods
One of: Rate, Life, None
depreciationMethodstringOptionalThe method of depreciation applied to this asset. See Depreciation Methods
One of: NoDepreciation, StraightLine, DiminishingValue100, DiminishingValue150, DiminishingValue200, FullDepreciation
depreciationRatenumberOptionalThe rate of depreciation (e.g. 0.05)
Format: double
effectiveLifeYearsintegerOptionalEffective life of the asset in years (e.g. 5)
adds a fixed asset — response body — book Depreciation Setting
FieldTypePresenceDescription and constraints
$JSONRoot
averagingMethodstringOptionalThe method of averaging applied to this asset. See Averaging Methods
Known values: FullMonth, ActualDays
bookEffectiveDateOfChangeIdstringOptionalUnique Xero identifier for the effective date change
Format: uuid
depreciableObjectIdstringOptionalUnique Xero identifier for the depreciable object
Format: uuid
depreciableObjectTypestringOptionalThe type of asset object
depreciationCalculationMethodstringOptionalSee Depreciation Calculation Methods
Known values: Rate, Life, None
depreciationMethodstringOptionalThe method of depreciation applied to this asset. See Depreciation Methods
Known values: NoDepreciation, StraightLine, DiminishingValue100, DiminishingValue150, DiminishingValue200, FullDepreciation
depreciationRateJSONOptional
depreciationRate (anyOf 1)numberAlternativeThe rate of depreciation (e.g. 0.05)
Format: double
depreciationRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
effectiveLifeYearsJSONOptional
effectiveLifeYears (anyOf 1)integerAlternativeEffective life of the asset in years (e.g. 5)
effectiveLifeYears (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$

SDK function policy ID: xero.assets_createasset. Catalog operation: assets.createAsset. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.