---
name: "LedgerSMB::DBObject::Asset"
section: "3pm"
platform: "linux"
package: "ledgersmb"
version: "1.3.40-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/LedgerSMB::DBObject::Asset"
---

# LedgerSMB::DBObject::Asset(3pm)

LedgerSMB Base Class for Fixed Assets

## NAME

LedgerSMB::DBObject::Asset - LedgerSMB Base Class for Fixed Assets

## SYNOPSIS

This library contains the base utility functions for creating, saving, and retrieving fixed assets for depreciation

## STANDARD PROPERTIES

- id (integer)

  Unique id number of asset.

- description (text)

  Text description of asset.

- tag (text)

  Arbitrary tag identifier, unique for current, non-disposed assets.

- purchase\_value (numeric)

  Numeric representation of purchase value.

- salvage\_value (numeric)

  Numeric representation of estimated salvage value.

- usable\_life (numeric)

  Numeric representation of estimated usable life.

- purchase\_date (date)

  Date item was purchase

- start\_depreciation (date)

  Date item is put into service, when depreciation should start.  If unknown we use the purchase\_date instead.

- location\_id (int)

  ID of business location where asset is stored.

- department\_id (int)

  ID of department where asset is stored

- invoice\_id (int)

  ID of purchasing invoice

- asset\_account\_id (int)

  ID of account to store asset value

- dep\_account\_id (int)

  ID of account to store cumulative depreciation

- exp\_account\_id (int)

  ID of account to store expense when disposed of.

- obsolete\_by (int)

  Obsolete by other asset id.  Undef if active, otherwise the id of the active  asset that replaces this. Used for partial depreciation.

- asset\_class\_id (int)

  ID of asset class.

## METHODS

- save

  Uses standard properties

  Saves the asset item to the database

  Sets any properties set by the database that were not in the original object, usually ID (if no match to current ID or if ID was undef).

- import\_file

  Parses a csv file.  Sets `$self`-\>{import\_entries} to an arrayref where each member is an arrayref of fields.  It is up to the workflow script to handle  these entries.

  Header information is set to `$self`-\>{import\_header}.

- get

  Gets a fixed asset, sets all standard properties.  The id property must be set.

- search

  Searches for asset\_items matching criteria.  Sets `$self`-\>{search\_results} to  the result.

  Search criteria set by the following properties: \* id \* asset\_class \* description \* tag \* purchase\_date \* purchase\_value \* usable\_life \* salvage\_value  \* start\_depreciation \* warehouse\_id \* department\_id \* invoice\_id  \* asset\_account\_id \* dep\_account\_id

  Tag and description are partial matches.  All other matches are exact.  Undef matches all values.

- save\_note

  Saves a note.  Uses the following properties:

  \* id \* subject \* note

- get\_metadata

  Sets the following:

  \* asset\_classes:  List of all asset classes \* locations:  List of all warehouses/locations \* deprtments:  List of all departments \* asset\_accounts:  List of all asset accounts \* dep\_accounts:  List of all depreciation accounts \* exp\_accounts:  List of all expense accounts

- get\_next\_tag

  Returns next tag number

  Sets `$self`-\>{tag} to that value.

- import\_asset

  Uses standard properties.  Saves record in import report for batch review and  creation.

## Copyright (C) 2010, The LedgerSMB core team.

This file is licensed under the Gnu General Public License version 2, or at your option any later version.  A copy of the license should have been included with your software.
