Automate Depreciation without FAM

In Shorthand
Use Amortization Templates to Automate Depreciation Entry
Setup Part 1: Setup Amortization Templates using Contra Account
Setup Part 2: Associate Templates to Asset Purchase Transaction
Asset Disposal: 2 techniques to remove amortization schedule
Midlife Asset: Override default end dates, and use residual value to ensure only remaining net value is depreciated

If you’d like to understand different NetSuite options to managing fixed asset depreciation, this article may be of interest to you.


Readers of this blog may already be familiar with NetSuite’s Fixed Asset Management (FAM) SuiteApp Module, which is a full-scale way to manage Fixed Assets. It acts a sub-ledger system to the Fixed Asset General Ledger accounts (though not a true sub-ledger in many respects – see my Fixed Asset Management article for more detail), it automates depreciation, can handle various depreciation methods, as well as Alternative Depreciation methods for the same Assets (e.g. Tax vs. Book), and allows companies to stay in control of their asset “inventory”. It contains a plethora of reports and users who are inventive can customize the asset records to contain any meta-data they wish to track. NetSuite also recently expanded the module to ease compliance with the recent changes to how long-term leases need to be accounted for under ASC 842.

However, many companies do not need the full scope of the FAM App, especially when there is only a limited number of Assets and there are limited purchases, sales and/or revaluations of Assets. In such instances, the main benefit that FAM would provide would be the automated Depreciation Journal Entries, and for many companies, this benefit doesn’t justify the effort of implementing and maintaining FAM, or its cost. Fortunately, there is an easier way to accomplish automated Depreciation, by using NetSuite’s Amortization tool.

Amortization Tool

While this space won’t allow an in-depth description of the Amortization tool, the following is a brief outline to help users understand how it can be used for Depreciation:

The Amortization tool uses “Templates” which contain rules about how a deferred expense should be recognized (amortized) over time. When a template is selected on a transaction such as a Vendor Bill or Journal Entry, NetSuite generates an “Amortization Schedule”, which is a list of future Journal Entries that will post each month to recognize the expense over time. Selecting an Amortization Template also changes the impact of the actual source transaction. The source transaction would typically have an expense account selected as the debit, and by selecting the amortization template, the impact changes so that the debit hits the Deferred Expense account used on the Amortization Template.

Amortization Template
Source Transaction
GL Impact of Source Transaction

Depreciation essentially is the same concept as Amortization, in the sense that we move the amount booked to the Asset to Depreciation over time. The Fixed Asset account parallels a Deferred Expense account, and the Depreciation Expense account parallels an Amortization expense account. There are two slight differences between typical Depreciation and typical Amortization:

  1. With Amortization, typically the account selected on the actual initial transaction will be the Expense account, not a Deferred Expense account, and the Amortization tool is what will “reroute” the impact to the Deferred Expense account. With Fixed Assets, the account selected on the initial transaction normally will be the Asset account, with no need to have the tool change the GL impact.
  2. The credit side of the monthly Amortization journals typically is the Deferred Expense account. With Depreciation, the credit side of Depreciation entries is normally a Contra-account, “Accumulated Depreciation”.

Thankfully, the Amortization Template tool can easily handle both differences.

  1. There is no need to use the target Expense account on the initial source transaction, it is merely a useful part of the tool. If an Asset account is used on the actual transaction, and the same one is set as the “Deferral Account” on the Template, that is OK. The tool will not “break”, rather it will respect the Asset account selected as the Deferral account on the template.
  2. The field “Contra Account” on the Amortization Template is meant to allow this sort of entry – using this field tells NetSuite that the Credit side of Amortization JEs should be a Contra account.

Using the Tool for Depreciation

In order to set up a Template for Depreciation, the following guidelines should be followed:

  • Use the desired Fixed Asset account in the “Deferred Account” field on the Template. Note that this field will override the account selected on the Trasaction (although, as noted, it can be the same account), and therefore care must be taken to use the correct template with each transaction.
  • Use the appropriate Accumulated Depreciation account in the “Contra Account” field.

Once the template is setup, it can be selected on Asset Purchase transactions. A Depreciation Schedule will be created, and monthly Depreciation Journals will be automated.

Asset Sale/Disposal

When selling/disposing of a fixed asset, we will need to prevent the Amortization Schedule from continuing to post Depreciation Journals. Since without FAM NetSuite does not have an inherent register of the Fixed Assets, there is no way to “tell” NetSuite that a given Asset Sale/ Disposal transaction relates to an earlier asset purchase entry. There are two ways to switch off an Amortization Schedule:

  1. Edit the Amortization Schedule, and on the future lines select the “is recognized” checkbox. This will prevent the JEs from posting.
  2. Edit the underlying original JE or Bill, click on the line with the associated Schedule and click “make copy”. Remove the Amortization Schedule from the new line and click “add”. Delete the original line, and save the transaction. This will delete the original Amortization Schedule, but preserve any Depreciation Journals already booked.

Importing Mid-Life Assets

Companies that wish to use this technique – but who already have the Asset balances on the GL – have a challenge because Amortization Templates cannot generate a Schedule (which in turn generates the Depreciation JEs) unless the template is associated with a Transaction to book the total Asset value.

The way to surmount this challenge is to first reverse the Asset Values out of the GL (Credit the Asset accounts), offsetting the entry to a Clearing Account. Then re-import the assets, offsetting the same Clearing account, but this time associating an Amortization Template to each line.

On the “re-import”, the following fields should be filled in to yield the correct depreciation amounts:

  • Residual Value: Even if the assets have no residual amount, populate this field with the already recognized accumulated depreciation. This will ensure that NetSuite will not attempt to re-depreciate this value. NetSuite will only depreciate the difference between the re-imported value and the “residual value”
  • Depreciation End Date: Enter a “Depreciation End Date” corresponding to the actual end date for each specific asset, rather than allowing the default end date calculated by the Amortization Template. Since the Amortization template will have a standard number of periods reflected the normal useful life of a new asset, we need to override this for mid-life assets.


In supporting several clients with their Fixed Asset concerns in NetSuite, I’ve learned that although FAM is very useful, it can also be somewhat cumbersome. If you’d like help understanding NetSuite offerings like FAM, or if you’d like to explore alternative solutions, we’d be happy to hear from you!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: