Reference Updated April 7, 2026

DEPRECIATION

Category: Finance functions

Overview

The DEPRECIATION function calculates linear depreciation values per period from an investment node and a depreciation time node. The result is the depreciation amount for each time period, not the remaining book value. Depreciation from multiple investment periods stacks automatically.

Use this function when you need to calculate straight-line depreciation values per period from initial investments and their depreciation times.

Syntax

DEPRECIATION('ValueNode', 'DepreciationTime' [, "TimeLevel"])

Example usage: DEPRECIATION('Investments', 'DepreciationTime')

Parameters

ParameterDescriptionTypeRequiredDefault
ValueNodeInput node with the values to depreciate over time. Must have a time level.Node referenceYes
Depreciation TimeNode containing the depreciation periods for each asset. Must not have a time level. Values must be positive whole numbers.Node referenceYes
TimeLevelThe time level to which depreciation times correspond.Level nameNo"Year"

Output Shape

AspectBehavior
DimensionalitySame as ValueNode.
Time rangeExtends beyond the input data. Depreciation continues for the specified number of periods after each investment.
ValuesLinear depreciation amount per period:investment / depreciation_periods. Values from investments in different periods are added together where they overlap.
Row countExpanded. Periods beyond the last investment are included as long as depreciation is still active.

Watch Out

  • The ValueNode must have a time level. The DepreciationTime node must not have a time level.
  • Depreciation times must be positive whole numbers. Zero, negative, or non-integer values produce errors.
  • When TimeLevel is omitted, depreciation times are assumed to be in years. If the ValueNode is at Quarter or Month granularity, the depreciation times are automatically converted (e.g. 4 years becomes 16 quarters or 48 months).
  • The result is the depreciation amount per period, not the remaining book value. To get the remaining book value, subtract the cumulative depreciation (using RUNNINGSUM) from the original investment.
  • The DepreciationTime node must not be more fine-grained than the ValueNode.

Examples

Overlapping depreciation from yearly investments

Two investments made in consecutive years are each depreciated over 4 periods. The result shows how depreciation amounts from different investments stack up.

Input node: Investments

YearValue
20251000
2026400

Input node: DepreciationTime

Periods
4

Formula: DEPRECIATION('Investments', 'DepreciationTime')

Year→ DEPRECIATION Result
2025250
2026250 + 100 = 350
2027250 + 100 = 350
2028250 + 100 = 350
2029100
20300

Each investment is divided by 4 periods: 1000/4 = 250, 400/4 = 100. From 2026 to 2028 both depreciation streams overlap.

Per-category depreciation times

Two asset categories with different depreciation times show that each category is depreciated independently based on its own period count.

Input node: Investments

YearCategoryValue
2026A2000
2026B1000

Input node: DepreciationTime

CategoryPeriods
A2
B4

Formula: DEPRECIATION('Investments', 'DepreciationTime')

YearCategory→ DEPRECIATION Result
2026A1000
2026B250
2027A1000
2027B250
2028A0
2028B250
2029A0
2029B250
2030A0
2030B0

Category A is fully depreciated after 2 periods, while Category B continues for 4 periods.


FunctionWhen to use instead
RUNNINGSUMCombine with DEPRECIATION to calculate remaining book value: 'Investment' - RUNNINGSUM(DEPRECIATION(...)).
Was this page helpful?