Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Depreciation Calculations #11822

Open
2 tasks done
tjringrose01 opened this issue Sep 14, 2022 · 6 comments
Open
2 tasks done

Depreciation Calculations #11822

tjringrose01 opened this issue Sep 14, 2022 · 6 comments
Assignees

Comments

@tjringrose01
Copy link

Debug mode

Describe the bug

The Depreciation Report is calculating incorrectly - appears to be using the model useful life instead of the values configured in the depreciation setting.

image

Reproduction steps

1.Create an assets with a value of 1300 and a purchase date a couple months in the past.
2.Create a depreciation setting with 12 months of depreciation and a $100 floor.
3.Assign the depreciation setting to the model of the asset.
4.Make sure that the system is set to Linear Depreciation in General Settings
5.Run the Depreciation Report and take note of the values
...

Expected behavior

To calculate the amount of depreciation that should be removed from the purchase price at any given time is: (purchase price minus the floor value) times age of asset (in months) / number of months to depreciate.

Purchase Price = $1300
Floor Value = $100
Purchase Date 2022-08-14; Today's Date 2022-09-14 = 1 month for age
Number of Months to Depreciate

Current Value = 1300 - ( (1300 - 100) * 1 / 12 ) = 1200
And when the asset is 2 months old Current Value = 1300 - ( (1300 - 100) * 2 / 12 ) = 1100

Monthly Depreciation should be ( PURCHASE_PRICE - FLOOR_VALUE ) / NUM_MONTHS_TO_DEPRECIATE
= (1300 - 100) / 12 = 100

And for the report to be useful by my finance department, it should hide monthly depreciation values when the asset is either less than a month old or beyond the number of months in the depreciation setting (fully depreciated).

Diff should be PURCHASE_PRICE - CURRENT_VALUE

Screenshots

No response

Snipe-IT Version

Version v6.0.10 - build 8610 (master)

Operating System

Docker

Web Server

Apache

PHP Version

7.4.3

Operating System

Windows

Browser

Edge

Version

Microsoft Edge Version 105.0.1343.33 (Official build) (64-bit)

Device

No response

Operating System

No response

Browser

No response

Version

No response

Error messages

No error messages

Additional context

This is a fresh install of the current docker image. I'm running my production system on v6.0.8 and it's showing the same calculations.

There is a discussion thread that mentions the calculations and how a user updated their system to fix the issue. #11342

I would be happy to submit a pull request to implement these changes to use the new depreciation fields, but I wanted to start by recording the issue and make sure that there wasn't already effort being put into this.

@welcome
Copy link

welcome bot commented Sep 14, 2022

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

@Godmartinz
Copy link
Collaborator

I will take a deeper look at this. Thanks for bringing this up

@uberbrady
Copy link
Collaborator

uberbrady commented Sep 14, 2022

I just double-checked to see if we're using the right math or not, and it looks like according to this: https://bench.co/blog/tax-tips/depreciation/ - it says:

Formula: (asset cost – salvage value) / useful life

Which I think lines up with what you're saying.

Bench
Learn how depreciation works, and leverage it to increase your small business tax savings—especially when you need them the most.

@tjringrose01
Copy link
Author

This is fantastic. Much appreciated! Let me setup a dev environment and take it for a spin and provide feedback.

@uberbrady
Copy link
Collaborator

@tjringrose01 that'd be really awesome if you could do that for us, thank you!

@tjringrose01
Copy link
Author

tjringrose01 commented Sep 15, 2022

I'm seeing good progress. I put in test cases to demonstrate 0,1,2 months and they are calculating current value properly.

Here is what I am seeing:

  1. When the date is outside of the of the depreciation period, the value is getting weird. It should be set to the floor value of 100. Not sure where 400 is coming from....
  2. Monthly depreciation appears to be calculating off of the model lifespan still. It should use the depreciation months field to calculate off of.
  3. When an item is fully depreciated, I would suggest that the monthly depreciation column be blank OR when an item has a purchase date of less than a month.
  4. Add a total at the bottom of the report for monthly depreciation so that the report can be used by finance teams to tally the monthly depreciation expenses that need to be incurred.
  5. Depreciation settings are not showing up in the list entry screen any more

Report Screenshot
image

Depreciation Settings
image

List entry screen
image

Although, there is a setting for depreciation as seen in the model drop down.
image

There is an exception at the when trying to populate the table:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants