OCA Free Asset Depreciation Module helps you manage asset life cycles and depreciation with no licensing cost. First, you install the module in your Odoo instance. Next, you configure asset profiles to match your accounting rules. Then, you run depreciation schedules and review journal entries. Finally, you adapt or extend methods as needed. In this tutorial, you learn every step with clear examples and code snippets. Moreover, you discover how this free community add‑on matches many Enterprise features.
Overview of OCA Free Asset Depreciation Module
In this section, you get a clear picture of the OCA Free Asset Depreciation Module itself. First, you learn what it does. Then, you compare it at a high level with Odoo Enterprise. Finally, you see why it fits many small and mid‑size companies.
- It adds full asset life‑cycle management.
- It supports both degressive and linear depreciation.
- It posts journal entries in your accounting module.
- It integrates with purchase invoices and stock receipts.
- It runs on Odoo Community Edition with no extra cost.
Compared to Odoo Enterprise, it covers most key cases. However, you may find some advanced reporting and dashboards missing. Therefore, you can extend it or mix it with other Community modules.
Key Benefits and Use Cases
Cost‑Effective Asset Management
First, you save license fees. Next, you avoid vendor lock‑in. Then, you invest in internal skills rather than third‑party support.
Flexible Configuration
Moreover, you adjust methods, periods, and residual values. Furthermore, you choose degressive or straight‑line schedules per asset group.
Open‑Source Community Support
Additionally, you tap into the OCA account‑financial‑tools repo for patches and updates.
Prerequisites and Setup
Odoo Version and Dependencies
- You need Odoo Community 14.0, 15.0, 16.0, 17.0, or 18.0.
- You install the core module
account_asset
from OCA. - You enable developer mode in Odoo and restart the server.
Installing from GitHub
First, you clone the repository. Then, you add the module path to your Odoo configuration. Finally, you update the apps list.
# 1. Clone the repo
git clone https://github.com/OCA/account-financial-tools.git
# 2. Add module path
# In your odoo.conf:
addons_path = ...,/path/to/account-financial-tools/account_asset
# 3. Restart Odoo and update apps
sudo service odoo restart
After that, you log into Odoo. Next, you go to Apps, filter by “Asset”, and install OCA Free Asset Depreciation Module (named account_asset
).
Configuring Asset Depreciation
Defining Asset Profiles
First, go to Accounting > Configuration > Assets > Asset Profiles. Then, click Create. You fill in:
- Name: e.g. “Laptop – 5 Years”
- Method: Straight‑Line or Degressive
- Number of Periods: e.g. 60 (monthly over five years)
- Salvage Value: e.g. 10% or fixed amount
<record id="profile_laptop_5y" model="account.asset.profile">
<field name="name">Laptop – 5 Years</field>
<field name="method_number">60</field>
<field name="method_period">1</field> <!-- monthly -->
<field name="method">linear</field>
<field name="salvage_value">1000</field> <!-- fixed -->
</record>
After saving, you link this profile to asset categories or directly to assets.
Setting Depreciation Methods
You choose “linear” for equal charges and “degressive” for higher early depreciation. However, you may also combine both:
- Select Use Acceleration for degressive in early years.
- Then, switch to linear for the rest.
<record id="profile_camera_degressive" model="account.asset.profile">
<field name="name">Camera – Accelerated</field>
<field name="method_number">10</field>
<field name="method_period">12</field> <!-- yearly -->
<field name="method">degressive</field>
<field name="acceleration_factor">1.5</field>
<field name="salvage_type">percent</field>
<field name="salvage_value">5.0</field>
</record>
Hands‑On Tutorial: Creating Your First Asset
In this section, you walk through a real use case. First, you build the profile. Then, you post a purchase invoice. Next, you generate depreciation entries. Finally, you review the results.
Creating an Asset Profile
- You navigate to Accounting > Configuration > Assets > Asset Profiles.
- You click Create and name it “Home Theater – 3 Years”.
- You set:
- Method: Degressive
- Number of Periods: 36
- Acceleration Factor: 1.2
- Salvage: 10%
Purchasing and Confirming an Asset
First, you create a vendor bill:
- Go to Invoicing > Vendor Bills and click Create.
- Vendor: “AudioVisions”
- Add product “Home Theater Set” at $15,000.
- Post the bill.
# In a server action or Odoo shell
bill = env['account.move'].create({
'move_type': 'in_invoice',
'partner_id': env.ref('base.res_partner_5').id,
'invoice_line_ids': [(0, 0, {
'account_id': env['ir.model.data'].xmlid_to_res_id('account.a_account_id'),
'name': 'Home Theater Set',
'quantity': 1,
'price_unit': 15000,
})],
})
bill.action_post()
Then, OCA module automatically creates an asset record:
- Asset Name: Home Theater Set
- Asset Value: 15,000
- Profile: Home Theater – 3 Years
Generating Depreciation Entries
After confirming, you run the scheduler:
# Via command line
./odoo-bin shell -d your_db_name <<EOF
env['account.asset.asset'].search([]).compute_depreciation_board()
EOF
Alternatively, you trigger the automated action in Odoo:
- Go to Accounting > Assets > Generate Depreciation Entries.
- Select your assets and click Compute Entries.
Each entry posts a depreciation line in the journal:
Date | Account | Debit | Credit |
---|---|---|---|
2023‑01‑31 | Depreciation Expense | 416.67 | |
2023‑01‑31 | Accumulated Depreciation | 416.67 |
Advanced Tips and Tricks
Custom Depreciation Method
If you need a bespoke calculation, you override the Python method. First, you extend account.asset.profile
:
# In your custom module: models/account_asset_profile.py
from odoo import models, api
class AccountAssetProfile(models.Model):
_inherit = 'account.asset.profile'
@api.model
def compute_custom_depreciation(self, asset):
# Example: double‑declining balance
rate = 2.0 / asset.profile_id.method_number
remaining = asset.value_residual
depreciation = remaining * rate
return depreciation
Then, you call it in a wizard or scheduled job.
Automating with Scheduled Actions
Moreover, you automate monthly runs. Go to Settings > Technical > Automation > Scheduled Actions. Then, create:
- Name: Monthly Asset Depreciation
- Model: Asset
- Method:
compute_depreciation_board
- Frequency: 1 month
Therefore, your assets depreciate hands‑free.
Troubleshooting and FAQs
Q1: Why no depreciation entries?
First, check that your asset states as “Open”. Next, confirm that the profile period covers today’s date. Then, rerun the scheduler.
Q2: How to reverse a wrong entry?
Go to the journal entry. Click Reverse. Then, set the date and post. The module adjusts the board accordingly.
Q3: Can I mix methods on one asset?
Yes. However, you need two profiles. First, depreciate with one. Then, switch profile before you run the next period.
Additional Resources and Links
- OCA Account Financial Tools GitHub:
https://github.com/OCA/account-financial-tools - Odoo Asset Management Docs:
https://www.odoo.com/documentation/user/15.0/accounting/financial/asset_management.html - OCA Community on Discord:
https://odoo-community.org
Conclusion
In this guide, you learned how the OCA Free Asset Depreciation Module handles asset life cycles without extra cost. First, you saw its core features. Then, you installed and configured profiles. Next, you walked through a purchase and generated depreciation entries. Finally, you explored advanced customizations and automation. Therefore, you can adopt a robust asset management solution on Odoo Community Edition. If you need further help, join the OCA community and review the GitHub repo for updates.
Feel free to adapt code snippets and settings to your environment. Moreover, please share your improvements and bug fixes via pull requests. Enjoy free, flexible, and powerful asset accounting!
Discover more from teguhteja.id
Subscribe to get the latest posts sent to your email.