X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=fixed_assets%2Fincludes%2Fdepreciation.inc;h=b63ad1a8eb527a5869db59a96d1d3864eefa9472;hb=14e0807fc87e0096af43f414f98764a6f8c8a4a8;hp=ab36edd3332c319c6357d80344999362a4c0abc1;hpb=7622ac6f58b8173c16e238be48d3bb43296b438a;p=fa-stable.git diff --git a/fixed_assets/includes/depreciation.inc b/fixed_assets/includes/depreciation.inc index ab36edd3..b63ad1a8 100644 --- a/fixed_assets/includes/depreciation.inc +++ b/fixed_assets/includes/depreciation.inc @@ -63,20 +63,22 @@ function compute_gl_rows_for_depreciation($item, $no_months, $period) { switch ($item['depreciation_method']) { case 'D': - $line_value = $item['actual_cost']*$item['depreciation_rate']/100/12; + $line_value = $item['purchase_cost']*$item['depreciation_rate']/100/12; $value = $item['material_cost'] * $item['depreciation_rate'] * $item['depreciation_factor']/100/12; if ($value < $line_value) $value = $line_value; break; - case 'S': // actual_cost stores start cost of item - $value = $item['actual_cost']*$item['depreciation_rate']/100/12; + case 'S': // purchase_cost stores start cost of item + $done_months = months_between_dates($item['depreciation_start'], $item['depreciation_date']); + $remaining_months = 12.0 * 100.0/$item['depreciation_rate'] - $done_months; + $value = $item['purchase_cost']*$item['depreciation_rate']/100/12; break; case 'N': $N = $item['depreciation_rate']; $done_years = months_between_dates($item['depreciation_start'], $item['depreciation_date'])/12; - $value = $item['material_cost']* ($N-$done_years)/($N*($N+1)/2)/12; + $value = $item['purchase_cost']* ($N-$done_years)/($N*($N+1)/2)/12; break; case 'O': @@ -90,6 +92,12 @@ function compute_gl_rows_for_depreciation($item, $no_months, $period) { $total = 0; $cnt = 0; for ($i=$m; $i < $m + $no_months; $i++) { + + if ($item['depreciation_method'] == 'S') { + if ($cnt >= $remaining_months) + $value = 0; + } + $date = sql2date(date("$y-$i-t", strtotime("$y-$i-1"))); $total += $value; @@ -109,15 +117,11 @@ function compute_gl_rows_for_depreciation($item, $no_months, $period) { $cnt++; - if ($item['depreciation_method'] == 'S') { - if ($cnt >= $remaining_months) - $value = 0; - } - elseif ($item['depreciation_method'] == 'O') { - // depreciate only in the first month - $value = 0; - } - } + if ($item['depreciation_method'] == 'O') { + // depreciate only in the first month + $value = 0; + } + } return $rows; }