Moneybird logo
Moneybird API

Assets are significant purchases, like company cars, laptops or furniture, that are used over multiple years. They are recorded to manage depreciation and comply with tax regulations.


Create a disposal

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/disposals{format}

Creates a disposal for the asset at the given date. Requires the asset to not have a disposal already. Furthermore, the asset must be fully depreciated so the value of the asset at the disposal date must be zero.

Required scope(s)

documents

Create a disposal › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a disposal › Request Body

date
​string · date · required

Has to be after the purchase date of the asset, and cannot be in the future or in the locked period of the administration.

reason
​string · enum · required
Enum values:
out_of_use
sold
private_withdrawal
divested

Create a disposal › Responses

A disposal

date
​string · date
reason
​string · enum
Enum values:
out_of_use
sold
private_withdrawal
divested
externally_booked
​boolean
asset_id
​identifier · pattern: ^\d+$

A unique record identifier

​

Create a reinvestment reserve purchase

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/reinvestment_reserve_purchase{format}

Records that part of the asset's purchase value is funded from the reinvestment reserve ("herinvesteringsreserve"). The amount cannot exceed the asset's depreciatable value (purchase value minus residual value), and the asset's purchase date may not lie in the locked period.

Required scope(s)

documents

Create a reinvestment reserve purchase › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a reinvestment reserve purchase › Request Body

​money · required

The amount taken from the reinvestment reserve.

Create a reinvestment reserve purchase › Responses

A reinvestment reserve purchase

id
​identifier · pattern: ^\d+$

A unique record identifier

​number
date
​string · date
asset_id
​identifier · pattern: ^\d+$

A unique record identifier


Delete a reinvestment reserve purchase

DELETE
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/reinvestment_reserve_purchase{format}

Removes the reinvestment reserve purchase from the asset.

Required scope(s)

documents

Delete a reinvestment reserve purchase › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Delete a reinvestment reserve purchase › Responses

Reinvestment reserve purchase deleted

No data returned

Create a reinvestment reserve sale

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/reinvestment_reserve_sale{format}

Books the book result of the asset's disposal to the reinvestment reserve ("herinvesteringsreserve"). Requires the asset to have a disposal already, and the disposal date may not lie in the locked period.

Required scope(s)

documents

Create a reinvestment reserve sale › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a reinvestment reserve sale › Request Body

​money · required

The amount of the book result booked to the reinvestment reserve.

Create a reinvestment reserve sale › Responses

A reinvestment reserve sale

id
​identifier · pattern: ^\d+$

A unique record identifier

​number
date
​string · date
disposal_id
​identifier · pattern: ^\d+$

A unique record identifier


Delete a reinvestment reserve sale

DELETE
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/reinvestment_reserve_sale{format}

Removes the reinvestment reserve sale from the asset's disposal.

Required scope(s)

documents

Delete a reinvestment reserve sale › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Delete a reinvestment reserve sale › Responses

Reinvestment reserve sale deleted

No data returned

Delete a source

DELETE
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/sources/{source_id}{format}

Deletes a source from an asset. Does not delete the detail or the asset

Required scope(s)

documents

Delete a source › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

source_id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Delete a source › Responses

Source deleted

No data returned

Add a source to an asset

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/sources{format}

Adds a detail or general journal document entry as a source to an asset. The booking must have the same ledger account as the asset.

Required scope(s)

documents

Add a source to an asset › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Add a source to an asset › Request Body

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
requires: detail_id
requires: general_journal_document_entry_id
Properties for Variant 1:
detail_id
​identifier · pattern: ^\d+$ · required

A unique record identifier

Add a source to an asset › Responses

A detail that is added as a source to an asset

id
​identifier · pattern: ^\d+$

A unique record identifier

asset_id
​identifier · pattern: ^\d+$

A unique record identifier

detail_id
​identifier · pattern: ^\d+$

A unique record identifier

general_journal_document_entry_id
​identifier · pattern: ^\d+$

A unique record identifier


Create an arbitrary value change

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/value_changes/arbitrary{format}

Creates an arbitrary value change for the asset at the given date. If the amount is larger than the value of the asset at the given date, a 422 error will be returned. Any existing linear value changes after the given date will be removed.

Required scope(s)

documents

Create an arbitrary value change › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create an arbitrary value change › Request Body

date
​string · date · required

Has to be after the purchase date of the asset, and cannot be in the future or in the locked period of the administration.

​money · required

Note that a negative amount means the asset decreases in value while a positive amount means the asset increases in value.

description
​string · required
externally_booked
​boolean

Set to true if the value change is already externally booked and doesn't need to be booked by Moneybird.

Default: false

Create an arbitrary value change › Responses

A value change

type
​string · enum
Enum values:
divestment
full_depreciation
manual
arbitrary
linear
date
​string · date
​number
description
​null | string
externally_booked
​boolean
asset_id
​identifier · pattern: ^\d+$

A unique record identifier


Create a divestment value change

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/value_changes/divestment{format}

Creates a divestment value change for the asset at the given date. The remaining value of the asset will be taken from the balance sheet and the profit will be booked as book result. The amount of the value change will automatically be set to the value of the asset at the given date. If the value change is created successfully, a disposal will be created for the asset. Any existing linear value changes after the given date will be removed.

Required scope(s)

documents

Create a divestment value change › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a divestment value change › Request Body

date
​string · date · required

Has to be after the purchase date of the asset, and cannot be in the future or in the locked period of the administration.

Create a divestment value change › Responses

A value change

type
​string · enum
Enum values:
divestment
full_depreciation
manual
arbitrary
linear
date
​string · date
​number
description
​null | string
externally_booked
​boolean
asset_id
​identifier · pattern: ^\d+$

A unique record identifier


Create a full depreciation value change

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/value_changes/full_depreciation{format}

Creates a full depreciation value change for the asset at the given date. The remaining value of the asset will be taken from the balance sheet. The amount of the value change will automatically be set to the value of the asset at the given date. If the value change is created successfully, a disposal will be created for the asset. Any existing linear value changes after the given date will be removed.

Required scope(s)

documents

Create a full depreciation value change › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a full depreciation value change › Request Body

date
​string · date · required

Has to be after the purchase date of the asset, and cannot be in the future or in the locked period of the administration.

description
​string · required

Create a full depreciation value change › Responses

A value change

type
​string · enum
Enum values:
divestment
full_depreciation
manual
arbitrary
linear
date
​string · date
​number
description
​null | string
externally_booked
​boolean
asset_id
​identifier · pattern: ^\d+$

A unique record identifier


Create a manual value change

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/value_changes/manual{format}

Creates a manual value change for the asset at the given date. If the amount is larger than the value of the asset at the given date, a 422 error will be returned.

Required scope(s)

documents

Create a manual value change › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a manual value change › Request Body

date
​string · date · required

Has to be after the purchase date of the asset, and cannot be in the future or in the locked period of the administration.

​money · required

Note that a negative amount means the asset decreases in value while a positive amount means the asset increases in value.

description
​string · required
externally_booked
​boolean

Set to true if the value change is already externally booked and doesn't need to be booked by Moneybird.

Default: false

Create a manual value change › Responses

A value change

type
​string · enum
Enum values:
divestment
full_depreciation
manual
arbitrary
linear
date
​string · date
​number
description
​null | string
externally_booked
​boolean
asset_id
​identifier · pattern: ^\d+$

A unique record identifier


Create linear value changes retroactively

POST
https://moneybird.com/api/v2
/{administration_id}/assets/{id}/value_changes/retroactive_linear_value_changes{format}

Creates linear value changes that were not created yet. Use this if a new asset has just been created or if an arbitrary value change was created and the missing linear value changes need to be recalculated and recreated. This will create missing value changes for all months between the purchase date of the asset or the date of the last arbitrary value change and the last month of the administration. Requires a asset with a value change plan (so no assets that belong to a land or building category). Also requires that the asset has remaining value, has missing value changes at the end of some months and that all missing linear value changes are outside the locked period. This process will be performed asynchronously so no result will be returned. Use Get /assets/:id to check the result after a while.

Required scope(s)

documents

Create linear value changes retroactively › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create linear value changes retroactively › Responses

No content

No data returned

Get an asset by ID

GET
https://moneybird.com/api/v2
/{administration_id}/assets/{id}{format}

Returns the asset with the given ID.

Required scope(s)

documents

Get an asset by ID › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Get an asset by ID › Responses

An asset

id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

name
​string
purchase_date
​string · date
​number
​number

Purchase value reduced by any reinvestment reserve purchase applied to the asset.

​number
value_change_plan
​object | null
​
​value_change_response[]
​source_response[]
​

Delete an asset

DELETE
https://moneybird.com/api/v2
/{administration_id}/assets/{id}{format}

Deletes the asset with the given ID.

Required scope(s)

documents

Delete an asset › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Delete an asset › Responses

Asset deleted

No data returned

Update an asset

PATCH
https://moneybird.com/api/v2
/{administration_id}/assets/{id}{format}

Updates the asset with the given ID. If the asset is active (the purchase date is in the past), only the name can be updated.

Required scope(s)

documents

Update an asset › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

id
​identifier · pattern: ^\d+$ · required

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Update an asset › Request Body

​object · required

Update an asset › Responses

Asset updated

id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

name
​string
purchase_date
​string · date
​number
​number

Purchase value reduced by any reinvestment reserve purchase applied to the asset.

​number
value_change_plan
​object | null
​
​value_change_response[]
​source_response[]
​

List all assets

GET
https://moneybird.com/api/v2
/{administration_id}/assets{format}

Returns a list of all assets. The list is paginated. Use the per_page and page parameters to control the pagination.

Required scope(s)

documents

List all assets › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

List all assets › query Parameters

ledger_account_id
​identifier · pattern: ^\d+$

Filter on the ID of the ledger account

A unique record identifier

active
​boolean | string

Whether to include only active assets

Default: true
per_page
​integer | string · min: 1 · max: 100 · pattern: ^\d+$
page
​integer | string

List all assets › Responses

200

A list of assets

id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

name
​string
purchase_date
​string · date
​number
​number

Purchase value reduced by any reinvestment reserve purchase applied to the asset.

​number
value_change_plan
​object | null
​
​value_change_response[]
​source_response[]
​

Create a new asset

POST
https://moneybird.com/api/v2
/{administration_id}/assets{format}

Creates a new asset.

An asset on a land or building ledger account never has a depreciation plan. Leave out value_change_plan_attributes for those. Every other ledger account requires one.

Required scope(s)

documents

Create a new asset › path Parameters

administration_id
​administration_id · pattern: ^\d+$ · required

The unique identifier of the administration

A unique record identifier

format
​string · pattern: ^(.(json|xml))?$ · required

The format in which the response is given, can be empty to use the default format

Default: .json

Create a new asset › Request Body

​object

Create a new asset › Responses

Asset created

id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

ledger_account_id
​identifier_nullable · pattern: ^\d+$

A unique record identifier

name
​string
purchase_date
​string · date
​number
​number

Purchase value reduced by any reinvestment reserve purchase applied to the asset.

​number
value_change_plan
​object | null
​
​value_change_response[]
​source_response[]
​