Depreciation Profiles
A depreciation profile specifies how the depreciation of a capital asset should be calculated. The depreciation profile should be included in the request when creating or updating the entity which relates to the purchase of the asset. The depreciation profile will be included in the response when fetching a capital asset.
The entities which can relate to the purchase of a capital asset are:
The depreciation profile should be nested inside a capital asset namespace and have the following structure:
"capital_asset": {
"depreciation_profile": {
"method": "straight_line",
"asset_life_years": 12,
"frequency": "annually"
}
}
Show as XML<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
<capital_asset>
<depreciation_profile>
<method>straight_line</method>
<asset_life_years>12</asset_life_years>
<frequency>annually</frequency>
</depreciation_profile>
</capital_asset>
</freeagent>
Show as JSONThe following example shows the request to create an expense which relates to the purchase of a capital asset which should depreciate using the straight line method, with an asset life of 10 years.
{
"expense": {
"user": "https://api.freeagent.com/v2/users/1",
"category": "https://api.freeagent.com/v2/categories/602-1",
"dated_on": "2024-02-01",
"currency": "GBP",
"gross_value": "-20000.0",
"description": "An example capital asset expense",
"capital_asset": {
"depreciation_profile": {
"method": "straight_line",
"asset_life_years": 10,
"frequency": "annually"
}
}
}
}
Show as XML<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
<expense>
<user>https://api.freeagent.com/v2/users/116</user>
<category>https://api.freeagent.com/v2/categories/602-1</category>
<dated_on>2024-02-01</dated_on>
<currency>GBP</currency>
<gross_value>-20000.0</gross_value>
<description>An example capital asset expense</description>
<capital_asset>
<depreciation_profile>
<method>straight_line</method>
<asset_life_years>10</asset_life_years>
<frequency>annually</frequency>
</depreciation_profile>
</capital_asset>
</expense>
</freeagent>
Show as JSONValid Depreciation Methods
FreeAgent supports the following depreciation methods in the following format:
- straight_line
- reducing_balance
- no_depreciation
Valid Depreciation Frequencies
The frequency refers to how often depreciation ledgers are posted. The following frequencies are valid:
- monthly
- annually
If no frequency is provided, the depreciation will default to monthly posting.
Depreciation Method Specific Parameters
Each depreciation method has different parameters required to specify how depreciation should be calculated. In each case, all of the parameters are required in addition to the method parameter, with the exception of frequency.
Straight Line Depreciation
Attribute | Description | Kind |
---|---|---|
asset_life_years | The number of years before the value of the asset should be considered 0, starting from the date of purchase. This should be between 2 and 25 years. | Integer |
frequency | How often depreciation ledgers should be posted. See Valid Depreciation Frequencies. | String |
Reducing Balance Depreciation
Attribute | Description | Kind |
---|---|---|
annual_depreciation_percentage | The percentage by which the the previous year's asset value should be reduced. This should be between 1 and 99. | Integer |
frequency | How often depreciation ledgers should be posted. See Valid Depreciation Frequencies. | String |
No Depreciation
No additional parameters are required for no depreciation.
Update Requests
Entities relating to assets created using the deprecated depreciation schedule field
will be able to be updated using either deprecation_schedule
or a depreciation_profile
.
Assets created using a depreciation_profile
will only be updatable using a depreciation_profile
.
Attempting to update an asset with a depreciation schedule when the asset is using a depreciation profile will result in the following error response.
Status: 422 Unprocessable Entity
{
"errors": {
"error": {
"message": "`depreciation_schedule` is deprecated, use `depreciation_profile` instead"
}
}
}
Show as XML<?xml version="1.0" encoding="UTF-8"?>
<freeagent>
<errors>
<error>
<message>
`depreciation_schedule` is deprecated, use `depreciation_profile` instead
</message>
</error>
</errors>
</freeagent>
Show as JSON