DB

Financial Functions
(4.8/5)

Returns the depreciation of an asset for a specified period using the fixed-declining balance method. Calculates depreciation based on a fixed rate applied to the declining book value, providing accelerated depreciation with a constant rate. Essential for fixed asset accounting, tax calculations, and financial reporting when accelerated depreciation with a fixed rate is required.

Interactive Formula Tester

=DB("")

Complete Theory & Understanding

Master the fundamentals of Excel DB function

Core Concept

The DB (Fixed Declining Balance) function calculates depreciation using a fixed declining balance method, where a constant rate is applied to the declining book value of the asset each period. The depreciation rate is calculated as 1 - (salvage/cost)^(1/life), ensuring the asset reaches its salvage value at the end of its useful life. Unlike DDB which uses double the straight-line rate, DB uses a calculated fixed rate that depends on the salvage value. This method provides accelerated depreciation (higher in early years, lower in later years) while guaranteeing the book value reaches exactly the salvage value at end of life. DB is useful for assets where accelerated depreciation is beneficial and a fixed rate on declining balance is appropriate.

Why Use DB?

  • Maximize early-year tax deductions with accelerated depreciation
  • Prepare accelerated depreciation schedules
  • Calculate depreciation for company assets
  • Plan tax savings from accelerated depreciation

Key Characteristics

Fixed Rate Calculation

DB calculates fixed rate as: Rate = 1 - (salvage/cost)^(1/life). This rate ensures book value reaches salvage at end of life. Rate stays constant, applied to declining balance.

Cost $50k, Salvage $5k, Life 10: Rate ≈ 0.1467 (14.67%)

Declining Balance Method

Depreciation = Rate × Beginning Book Value. Each period uses remaining book value, not original cost. Book value decreases each period, so depreciation decreases.

Year 1: $50,000 × 0.1467 = $7,333 | Year 2: $42,667 × 0.1467 = $6,259

Accelerated Depreciation

DB provides higher early-year depreciation, declining over time. Early years see larger expense as fixed rate applied to higher book value.

Year 1: $7,333 | Year 10: $722 (much lower as balance approaches salvage)

Salvage Value Guarantee

Fixed rate calculation ensures book value reaches exactly salvage value at end of useful life. No overshooting or undershooting salvage value.

After 10 years, book value = salvage value ($5,000)

Partial First Year

Month parameter allows depreciation for assets acquired partway through first year. Pro-rates first year depreciation based on months owned.

Acquired June 1: month=7, pro-rated depreciation for 7 months

Tax and Accounting Benefits

Accelerated depreciation provides larger early-year tax deductions, improving cash flow timing while matching expense to asset utility.

Higher deductions in early years reduce current tax liability

Function Anatomy

=DB(parameters...)
Required
Parameters:

Function-specific parameters

Returns
Return Value:

Function-specific return type

Primary Use Cases

Tax Optimization

Maximize early-year tax deductions with accelerated depreciation

Financial Reporting

Prepare accelerated depreciation schedules

Asset Accounting

Calculate depreciation for company assets

Cash Flow Planning

Plan tax savings from accelerated depreciation

Cost Analysis

Analyze depreciation expense patterns

Asset Management

Track declining balance asset depreciation

Theory Summary

Precise

Exact matching required

Position-Based

Returns numeric position

Error-Safe

Handles missing text gracefully

Syntax & Parameters

=DB(cost, salvage, life, period, month)
Required
cost:

The initial cost of the asset. Must be positive. This is the original purchase price or acquisition cost of the asset.

Required
salvage:

The value of the asset at the end of its useful life (salvage value, scrap value, or residual value). Must be >= 0. Typically lower than cost.

Required
life:

The number of periods over which the asset is depreciated (useful life). Must be positive. Expressed in same units as period.

Required
period:

The period for which depreciation is calculated. Must be between 1 and life. Period numbering starts at 1 for the first period.

Optional
month:

The number of months in the first year. Default is 12. Use when asset is acquired partway through first year. Must be between 1 and 12.

Returns
Return Value:

The depreciation expense for the specified period (positive value)

Description: Calculates fixed declining balance depreciation for a period

Interactive Examples

Basic DB Calculation - First Year

Calculate depreciation for first year of asset

"Cost: $50,000, Salvage: $5,000, Life: 10 years, Period: 1"
=DB(50000, 5000, 10, 1)
$7,333.33

Returns $7,333.33 for year 1. Fixed declining balance method provides accelerated depreciation with consistent rate.

VBA Implementation & Automation

Basic DB in VBA

Using DB function in VBA through WorksheetFunction

Sub DBExample()
    Dim result As Double
    Dim cost As Double, salvage As Double, life As Integer
    Dim period As Integer
    
    cost = 50000
    salvage = 5000
    life = 10
    period = 1
    
    result = Application.WorksheetFunction.Db(cost, salvage, life, period)
    Range("A1").Value = result
    Range("A1").NumberFormat = "$#,##0.00"
    MsgBox "First year depreciation: quot; & Format(result, "#,##0.00")
End Sub

' Calculate depreciation for multiple periods
Sub CalculateDepreciationSchedule()
    Dim cost As Double, salvage As Double, life As Integer
    Dim i As Integer
    Dim depreciation As Double
    
    cost = 50000
    salvage = 5000
    life = 10
    
    For i = 1 To life
        depreciation = Application.WorksheetFunction.Db(cost, salvage, life, i)
        Range("A" & i).Value = "Year " & i
        Range("B" & i).Value = depreciation
        Range("B" & i).NumberFormat = "$#,##0.00"
    Next i
End Sub

' Build complete depreciation schedule
Sub BuildDepreciationSchedule()
    Dim cost As Double, salvage As Double, life As Integer
    Dim i As Integer
    Dim depreciation As Double
    Dim accumulated As Double
    Dim bookValue As Double
    
    cost = 50000
    salvage = 5000
    life = 10
    accumulated = 0
    bookValue = cost
    
    For i = 1 To life
        depreciation = Application.WorksheetFunction.Db(cost, salvage, life, i)
        accumulated = accumulated + depreciation
        bookValue = bookValue - depreciation
        
        Range("A" & i + 1).Value = i
        Range("B" & i + 1).Value = depreciation
        Range("C" & i + 1).Value = accumulated
        Range("D" & i + 1).Value = bookValue
        
        Range("B" & i + 1).NumberFormat = "$#,##0.00"
        Range("C" & i + 1).NumberFormat = "$#,##0.00"
        Range("D" & i + 1).NumberFormat = "$#,##0.00"
    Next i
End Sub

' Calculate partial first year depreciation
Sub CalculatePartialYear()
    Dim cost As Double, salvage As Double, life As Integer
    Dim months As Integer
    Dim depreciation As Double
    
    cost = 50000
    salvage = 5000
    life = 10
    months = 6  ' Asset acquired mid-year
    
    depreciation = Application.WorksheetFunction.Db(cost, salvage, life, 1, months)
    Range("A1").Value = depreciation
    Range("A1").NumberFormat = "$#,##0.00"
    MsgBox "Partial first year depreciation: quot; & Format(depreciation, "#,##0.00")
End Sub

Business Applications

Tax Optimization

Maximize early-year tax deductions

=DB(cost, salvage, life, period)

Depreciation Schedule

Build accelerated depreciation schedule

=DB(50000, 5000, 10, period)

Financial Reporting

Calculate accelerated depreciation for reports

=DB(cost, salvage, life, per)

Tax Planning

Plan tax savings from early depreciation

=DB(cost, salvage, life, 1)

Asset Management

Track declining balance asset depreciation

=DB(cost, salvage, life, period)

Cost Analysis

Analyze depreciation expense patterns

=DB(cost, salvage, life, per)

Common Issues & Solutions

#NUM! Error - Invalid Period

DB returns #NUM! error

=DB(50000, 5000, 10, 1)

Solution: Check: 1) period >= 1 and period <= life, 2) life > 0 (cannot be zero or negative), 3) month between 1 and 12 (if provided), 4) Salvage >= 0. Verify all numeric values are valid.

Depreciation Not Decreasing

DB returns constant or increasing values across periods

=DB(50000, 5000, 10, period)

Solution: Ensure period parameter increments correctly. DB should decrease as period increases. Verify period is correctly referencing period number (1, 2, 3...) not constant value.

Unexpected Depreciation Amounts

DB returns values that seem incorrect

=DB(50000, 5000, 10, 1)

Solution: Verify: 1) Cost and salvage are correct, 2) Life is in correct units, 3) Period is correct period number. Check that fixed rate calculation matches expected pattern.

#VALUE! Error

DB returns #VALUE! error

=DB(A1, B1, C1, D1, E1)

Solution: Non-numeric values in parameters. Check: 1) All parameters are numbers, 2) Cell references contain numeric values, 3) No text in cost, salvage, life, period, or month. Verify inputs are valid numbers.

Book Value Not Reaching Salvage

Final book value doesn't match salvage value

=DB(50000, 5000, 10, 10)

Solution: DB should reach salvage exactly. Verify: 1) All periods calculated correctly, 2) No rounding errors accumulated, 3) Salvage value is correct. Excel DB ensures exact salvage value at end of life.

Performance Tips & Best Practices

⚡ Performance Optimization

  • DB is computationally efficient, using direct arithmetic
  • For schedules, calculate once per period and reference if needed
  • Avoid recalculating DB repeatedly for same period
  • Use consistent cell references for better performance

🎯 Best Practices

  • Always verify cost > salvage for meaningful depreciation
  • Use period from 1 to life (valid period range)
  • Use month parameter (1-12) for partial first year
  • Document assumptions about useful life and salvage value
  • Compare DB with DDB, SYD, and SLN to choose best method
  • Verify declining pattern: year 1 > year 2 > year 3...
  • Consider tax implications when selecting depreciation method

💼 Accounting Tips

  • DB provides accelerated depreciation with fixed rate guarantee
  • Fixed rate ensures book value reaches salvage exactly
  • Higher early-year depreciation improves tax cash flow timing
  • Best for assets with higher utility in early years
  • Balance tax benefits with financial reporting needs
  • Compare cumulative depreciation across methods (should equal at end)
  • Year 1 DB should be higher than SLN for same asset