増税目的の、減価償却の残存価額があるのは、 官僚天国の日本だけというわけで、 1大税収源である事業所の海外逃避引留策として、 残存価額をなくすことになりました。(注1)
ただ、定率法の場合は仕組み上、残存価額を 0 にできませんから、 耐用年数に達した時、完全に償却するための細工が必要で、 250%定率法と称する不思議な方法になっています。
この方法のアイデアは、
さて、この250%定率法というのは、 指数的減衰曲線に直線的減衰を繋いで、 耐用年数経過時に残存価額を 0 にしようというもので、 指数曲線の出発点と直線の終点は決まっているわけですから、 この2つの直線をどこで切替えるかが問題です。 数学的に素直なのは、滑らかな変化、すなわち、 微分係数が不連続にならないように、 指数曲線の接線と連結する直線が一致したときで、 これを文系的(官庁的)表現にすると、前記 2 になります。
以下、この方針で連結点(切替点)がどうなるかを考えてみましょう。
まず、資産価額で規格化した残存価額と使用年数の関係を下記のとおりとします。
y = (1 - r)^x ここに、 y = 残存価額 r = 償却率 (0 < r <= 1) x = 使用年数この曲線の傾きは、
dy / dx = (1 - r)^x * log(1 - r)ですから、曲線上の点 (x0, y0) を通る接線は、下記の連立方程式で決まります。
y = (1 - r)^x * log(1 - r) * (x - x0) + y0
{
y0 = (1 - r)^x0
耐用年数を n とすれば、
x = n で y = 0 にならなければなりませんから、
x0 = n + 1 / log(1 - r)です。
x0 の値は耐用年数と償却率に依存しますが、 償却率を小さくすると定額法に近付いて無意味になり、 徴税側に有利、人民に不利になります。 このあたりは両者の力関係で決まるわけですが、 120%定率法の場合は
r = 1.2 / nですから、切替え点は
x0 = n + 1 / log(1 - 2.5 / n)x0 の n に対する相対位置は、
x0 / n = 1 + 1 / log(1 - 2.5 / n) / n
〜 0.6 (1 << n) 注2
となって、償却期間の前半6割程度までが定率法、
残りが定額法になることがわかります。
結局、償却期間の過半数である 6 割まで定率法にすれば、 「これでは定額法と変わらないではないか」 という批判をかわせるだろうと考えたのではないかと推測できます。
以上をまとめると、
if (経過年数 < n + 1 / log(1 - 2.5 / n)) 償却率 (2.5 /n) で定率償却 else 期首帳簿価額を定率償却と簡単ですが、 新設された「別表第十」というのは、またまた表形式で、 その作成アルゴリズムは undocumented !
官庁主導の資源浪費作戦につき合うしかなくて、 例えば、下記のようなプログラムになります。
なお、実務上は、初年度の償却額は月割、 最終年度の帳簿価額は 1 円にしなければなりません。
#! /bin/sh
/usr/bin/awk '
BEGIN {
init()
print "経過年数 償却額 償却額累計"
}
/^#/ {
next
}
{
k = split(dtab[$2 - 1], a)
s = 0
for (i = 1; i <= $2; i++) {
d = int(($1 - s) * a[3])
if (d < int(a[5] * $1))
break
s += d;
print i, d, s
}
r = $1 - s
d = int(($1 - s) * a[4])
for ( ; i < $2; i++) {
s += d
print i, d, s
}
print i, $1 - s, $1
}
# 別表第十 (平成 19 年 4 月 1 日以降)
# 耐用年数 定額法の償却率 定率法の償却率 改定償却率 保証率
function init() {
kd = split("\
2 0.500 1.000 0 0, \
3 0.334 0.833 1.000 0.02789, \
4 0.250 0.625 1.000 0.05274, \
5 0.200 0.500 1.000 0.06249, \
6 0.167 0.417 0.500 0.05776, \
7 0.143 0.357 0.500 0.05496, \
8 0.125 0.313 0.334 0.05111, \
9 0.112 0.278 0.334 0.04731, \
10 0.100 0.250 0.334 0.04448, \
11 0.091 0.227 0.250 0.04123, \
12 0.084 0.208 0.250 0.03870, \
13 0.077 0.192 0.200 0.03633, \
14 0.072 0.179 0.200 0.03389, \
15 0.067 0.167 0.200 0.03217, \
16 0.063 0.156 0.167 0.03063, \
17 0.059 0.147 0.167 0.02905, \
18 0.056 0.139 0.143 0.02757, \
19 0.053 0.132 0.143 0.02616, \
20 0.050 0.125 0.143 0.02517, \
21 0.048 0.119 0.125 0.02408, \
22 0.046 0.114 0.125 0.02296, \
23 0.044 0.109 0.112 0.02226, \
24 0.042 0.104 0.112 0.02157, \
25 0.040 0.100 0.112 0.02058, \
26 0.039 0.096 0.100 0.01989, \
27 0.038 0.093 0.100 0.01902, \
28 0.036 0.089 0.091 0.01866, \
29 0.035 0.086 0.091 0.01803, \
30 0.034 0.083 0.084 0.01766, \
31 0.033 0.081 0.084 0.01688, \
32 0.032 0.078 0.084 0.01655, \
33 0.031 0.076 0.077 0.01585, \
34 0.030 0.074 0.077 0.01532, \
35 0.029 0.071 0.072 0.01532, \
36 0.028 0.069 0.072 0.01494, \
37 0.028 0.068 0.072 0.01425, \
38 0.027 0.066 0.067 0.01393, \
39 0.026 0.064 0.067 0.01370, \
40 0.025 0.063 0.067 0.01317, \
41 0.025 0.061 0.063 0.01306, \
42 0.024 0.060 0.063 0.01261, \
43 0.024 0.058 0.059 0.01248, \
44 0.023 0.057 0.059 0.01210, \
45 0.023 0.056 0.059 0.01175, \
46 0.022 0.054 0.056 0.01175, \
47 0.022 0.053 0.056 0.01153, \
48 0.021 0.052 0.053 0.01126, \
49 0.021 0.051 0.053 0.01102, \
50 0.020 0.050 0.053 0.01072, \
51 0.020 0.049 0.050 0.01053, \
52 0.020 0.048 0.050 0.01036, \
53 0.019 0.047 0.048 0.01028, \
54 0.019 0.046 0.048 0.01015, \
55 0.019 0.045 0.046 0.01007, \
56 0.018 0.045 0.046 0.00961, \
57 0.018 0.044 0.046 0.00952, \
58 0.018 0.043 0.044 0.00945, \
59 0.017 0.042 0.044 0.00934, \
60 0.017 0.042 0.044 0.00895, \
61 0.017 0.041 0.042 0.00892, \
62 0.017 0.040 0.042 0.00882, \
63 0.016 0.040 0.042 0.00847, \
64 0.016 0.039 0.040 0.00847, \
65 0.016 0.038 0.039 0.00847, \
66 0.016 0.038 0.039 0.00828, \
67 0.015 0.037 0.038 0.00828, \
68 0.015 0.037 0.038 0.00810, \
69 0.015 0.036 0.038 0.00800, \
70 0.015 0.036 0.038 0.00771, \
71 0.015 0.035 0.036 0.00771, \
72 0.014 0.035 0.036 0.00751, \
73 0.014 0.034 0.035 0.00751, \
74 0.014 0.034 0.035 0.00738, \
75 0.014 0.033 0.034 0.00738, \
76 0.014 0.033 0.034 0.00726, \
77 0.013 0.032 0.033 0.00726, \
78 0.013 0.032 0.033 0.00716, \
79 0.013 0.032 0.033 0.00693, \
80 0.013 0.031 0.032 0.00693, \
81 0.013 0.031 0.032 0.00683, \
82 0.013 0.030 0.031 0.00683, \
83 0.013 0.030 0.031 0.00673, \
84 0.012 0.030 0.031 0.00653, \
85 0.012 0.029 0.030 0.00653, \
86 0.012 0.029 0.030 0.00645, \
87 0.012 0.029 0.030 0.00627, \
88 0.012 0.028 0.029 0.00627, \
89 0.012 0.028 0.029 0.00620, \
90 0.012 0.028 0.029 0.00603, \
91 0.011 0.027 0.027 0.00649, \
92 0.011 0.027 0.027 0.00632, \
93 0.011 0.027 0.027 0.00615, \
94 0.011 0.027 0.027 0.00598, \
95 0.011 0.026 0.027 0.00594, \
96 0.011 0.026 0.027 0.00578, \
97 0.011 0.026 0.027 0.00563, \
98 0.011 0.026 0.027 0.00549, \
99 0.011 0.025 0.026 0.00549, \
100 0.010 0.025 0.026 0.00546", dtab, ",")
}
' <<!
# データ例
# 金額 耐用年数
100000 10
!
注1 - 2007 年 4 月 1 日以降に取得した資産の定率減価償却
log(1 + x) = x - x^2/2 + x^3/3 - x^4/4 + .. (-1 < x <= 1.0)から、容易に、
m / n = 1 - 1 / (2.5 - (2.5/2)*(2.5/n) + ..) 〜 0.60
それにしても、コンピュータは誰でも使う時代ですから、文系官僚にも数学を教えて、 ムダをなくし、省資源に取り組んでほしいものです。
平林浩一, (C) 2007