Assets, Tracking, and Depreciation
Fixed assets represent long-term investments that a company uses to generate revenue over multiple accounting periods. Unlike consumable inventory or prepaid expenses, a fixed asset doesn't get expensed in full at the time of purchase; its cost is distributed across its useful life through depreciation. ERPNext's Asset module connects purchasing, accounting, and depreciation into a single workflow, eliminating the need for separate fixed asset registers or manual depreciation schedules.
Acquiring Assets
Purchase from Operating Cash
The most straightforward acquisition occurs when a company buys an asset outright and pays for it from its operating bank account. A typical example is a warehouse purchasing a pallet jack for $4,500. The process begins with a Purchase Receipt or Purchase Invoice for the item, at which point ERPNext can automatically generate an Asset record linked to that purchase document, or it can be created manually.
Once the Asset record exists, the accountant sets the capitalization date—the date from which depreciation will begin—and selects the appropriate asset category and depreciation method. ERPNext then generates the full depreciation schedule automatically. The initial journal entry when the asset is capitalized from a Purchase Invoice is:
| Account | Debit | Credit |
|---|---|---|
| Fixed Asset (e.g., Equipment) | $4,500 | |
| Accounts Payable | $4,500 |
On payment:
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable | $4,500 | |
| Bank | $4,500 |
Purchase with Financing and a Lien
Assets are frequently purchased with external financing, where a lender holds a lien against the asset until the loan is repaid. In this case, the full purchase price is still capitalized—the asset appears on the balance sheet at its full value—but the offsetting credit is split between any down payment made from cash and the loan liability.
For a vehicle purchased at $35,000 with a $5,000 down payment and $30,000 financed:
| Account | Debit | Credit |
|---|---|---|
| Fixed Asset (Vehicle) | $35,000 | |
| Bank | $5,000 | |
| Notes Payable / Loan Payable | $30,000 |
Subsequent loan payments reduce the Notes Payable balance while posting the interest portion to Interest Expense. Depreciation runs on the full $35,000 value of the asset independently of the loan repayment schedule—the asset's book value and the outstanding loan balance decrease at different rates, and both require separate tracking.
Capital Leases
A capital (or finance) lease is economically equivalent to purchasing an asset on credit: the lessee controls the asset and bears the risks and rewards of ownership, even though legal title may remain with the lessor. Under accounting standards, a lease that meets specific criteria—such as a lease term covering most of the asset's useful life, or a bargain purchase option at the end—must be capitalized rather than treated as a periodic rental expense.
When a capital lease is recognized, both an asset and a liability appear on the balance sheet simultaneously:
| Account | Debit | Credit |
|---|---|---|
| Right-of-Use Asset | $20,000 | |
| Lease Liability | $20,000 |
Each lease payment is then split between principal reduction (reducing Lease Liability) and interest expense. The right-of-use asset depreciates separately over its useful life or the lease term, whichever is shorter. ERPNext's Asset module supports this structure, though the lease liability amortization schedule may need to be maintained through a supplementary journal entry series until the lease matures.
Construction Work in Progress
When a company builds or assembles an asset rather than purchasing it ready-made, costs accumulate in a Construction Work in Progress (CWIP) account until the asset is placed in service. Common examples include building construction, custom machinery fabrication, and internally developed software projects that will be capitalized once complete.
During the construction phase, each cost element—materials, labor, contractor invoices—posts to the CWIP account rather than to a fixed asset or expense account. Depreciation does not begin until the asset is transferred out of CWIP:
| Account | Debit | Credit |
|---|---|---|
| Construction Work in Progress | $75,000 | |
| Accounts Payable / Bank | $75,000 |
Once the asset is ready for use, ERPNext's Asset Capitalization document transfers the accumulated CWIP balance to the appropriate fixed asset account and starts the depreciation clock:
| Account | Debit | Credit |
|---|---|---|
| Fixed Asset (e.g., Building) | $75,000 | |
| Construction Work in Progress | $75,000 |
Existing Assets and Opening Balances
When a company migrates to ERPNext from another system—or begins using the Asset module for assets acquired before the system was in place—the assets need to be set up with their current state: original cost, accumulated depreciation to date, and remaining useful life. ERPNext provides specific fields for this scenario.
On the Asset form, checking "Is Existing Asset" changes the form behavior. The Purchase Receipt and Purchase Invoice links are hidden (since these assets weren't purchased through ERPNext), and two opening balance fields appear:
- Opening Accumulated Depreciation: The total depreciation recorded against this asset prior to the ERPNext go-live date
- Opening Number of Booked Depreciations: How many depreciation periods have already been recorded
For example, a company purchased a $60,000 machine three years ago with a five-year useful life and straight-line depreciation. At migration time, $36,000 has been depreciated (three years × $12,000 per year) and two years remain. The Asset record would be configured with:
- Gross Purchase Amount: $60,000
- Available for Use Date: the original in-service date three years ago
- Is Existing Asset: checked
- Opening Accumulated Depreciation: $36,000
- Opening Number of Booked Depreciations: 36 (if monthly) or 3 (if annual)
- Depreciation Start Date: the next depreciation date going forward
ERPNext uses these values to calculate the remaining depreciation schedule correctly. The system knows to start from a book value of $24,000 and schedule two more years of depreciation.
However, ERPNext does not automatically create a journal entry for the opening accumulated depreciation. The Asset record tells ERPNext where to pick up the depreciation schedule, but the general ledger must be established separately. At migration, the opening trial balance should include:
| Account | Debit | Credit |
|---|---|---|
| Fixed Asset (Equipment) | $60,000 | |
| Accumulated Depreciation | $36,000 |
If opening balances were not set up this way—or if an existing asset is being added after go-live—a journal entry is needed to establish the correct GL position. For a single asset, this is straightforward. For bulk migrations involving dozens or hundreds of assets, scripted approaches that create Asset records and the corresponding journal entries together are more practical and reduce the risk of mismatches between the Asset register and the general ledger.
Depreciation
Depreciation allocates an asset's cost across its useful life in a systematic way. ERPNext generates the depreciation schedule automatically once the asset category, useful life, salvage value, and depreciation method are configured on the Asset record. Entries can be posted automatically through ERPNext's scheduled jobs or triggered manually for each period.
Straight-Line Method
The straight-line method spreads the depreciable cost (purchase price minus salvage value) equally across each period of the asset's useful life. It is the most common method and suits assets that provide relatively uniform value over time, such as furniture, fixtures, and buildings.
For a machine costing $100,000 with no salvage value and a four-year useful life, the annual depreciation entry is:
| Account | Debit | Credit |
|---|---|---|
| Depreciation Expense | $25,000 | |
| Accumulated Depreciation | $25,000 |
The Accumulated Depreciation account is a contra-asset that reduces the asset's carrying value on the balance sheet. After two years, the machine would carry a net book value of $50,000 ($100,000 cost less $50,000 accumulated depreciation).
Double Declining Balance Method
The double declining balance (DDB) method front-loads depreciation, recognizing higher expense in the early years of an asset's life and lower expense in later years. This better matches the economic reality of assets like vehicles and technology equipment, which lose value more rapidly when new.
DDB calculates each period's expense as twice the straight-line rate applied to the remaining book value rather than the original cost. For the same $100,000 machine over four years (straight-line rate = 25%, DDB rate = 50%):
| Year | Beginning Book Value | DDB Rate | Depreciation | Ending Book Value |
|---|---|---|---|---|
| 1 | $100,000 | 50% | $50,000 | $50,000 |
| 2 | $50,000 | 50% | $25,000 | $25,000 |
| 3 | $25,000 | 50% | $12,500 | $12,500 |
| 4 | $12,500 | — | $12,500 | $0 |
Asset Disposal
When an asset reaches the end of its useful life, is sold, or is scrapped, ERPNext calculates any gain or loss on disposal by comparing the proceeds (if any) to the asset's current net book value. Marking the asset as Disposed in ERPNext closes out the accumulated depreciation balance and removes the asset from the active register.
Returning to the pallet jack example: if the $4,500 asset has a three-year life under straight-line depreciation ($1,500 per year) and is sold after two years for $1,800, the disposal entry reflects the remaining book value of $1,500 and a $300 gain:
| Account | Debit | Credit |
|---|---|---|
| Bank | $1,800 | |
| Accumulated Depreciation | $3,000 | |
| Fixed Asset (Equipment) | $4,500 | |
| Gain on Disposal | $300 |
Monitoring and Reports
ERPNext includes several reports to support ongoing asset management. The Asset Register provides a current list of all active assets with their cost, accumulated depreciation, and net book value. The Depreciation Schedule report shows the complete depreciation timeline for each asset, which is useful for forecasting future expense. The Asset Depreciation Ledger shows the full history of depreciation entries posted for a given asset.
Establishing a naming convention for assets at the time of creation—for example, Equipment-YYYY-####—makes it substantially easier to identify assets in reports, track their physical location, and link them to responsible employees or cost centers. For organizations with assets spread across multiple locations or departments, tagging each asset with its location and cost center enables cost reporting by business unit.
Role-based access controls should restrict who can modify asset values, change depreciation parameters, or initiate scrap or disposal transactions. These are high-impact actions that change both the balance sheet and future income statement expense, and should require at least manager-level authorization in most organizations.