Ruby で学ぶアメリカ税制 - 関連当事者取引による損失
関連当事者というのは、たとえば家族であれば、直系親族と兄弟、会社であれば、50%超を所有する株主と会社などの関係がこれに当たります。詳しい定義は教科書にゆずるとして、基本的に税務当局の見方は、「おまえら、別々の実体があるふりをしてるけど、実際は同じやんけ」ということです。さすが税務当局、人が悪いですね。
具体的に次のような例を考えます。登場人物は3人、A, B, C で、主人公は B です。A と B は関連当事者です。C は他人です。いまある資産があって、これが A → B → C と順番に売却されていくとしましょう。2回売却があるわけですけれども、B が取得したときの価格を pb、C が取得したときの価格を pc としましょう。Aが持つ調整税務簿価をbaとしましょう。
このとき、ba > pb ならば、A から見て売却損が出ているわけですが、これは税制上損金に算入できません。A と B はグルで、A のために利益操作をしてるのではないか、と税務当局は疑っているわけですね。しかしながら、資産を取得した B は pb を税務簿価とします。(ちなみに保有期間タイマーはここでリセットされます)問題は、BがCに資産を売却したときの損益をどう考えるか、です。
基本的には、あたかも A が直接 C に売却したかのような扱いをします。税務当局は A と B は実際には同一人物だ、と見なしているわけですから、これは当然でしょう。損益は pc - ba で計上します。
・・・といいたいところですが、そこはずるい税務当局です。「利益はまあ、pc - ba でいいだろう、しかし、損失は pc - pb しか認めないぞ!!」というのです。なんという二枚舌でしょうか。
というわけで、だんだん腹が立ってきたので、頭を冷やすため、Ruby のプログラムを書くことにします。
(ちなみに ba < pb の時は特別なことは何も起こらないので、ここでは考えないことにします)
def gain_on_related_parties(ba, pb, pc) raise unless ba > pb # 関連当時者取引で損失が発生する場合だけを考える。 gain = pc - pb if gain > 0 return [0, pc - ba].max else return pc - pb end end def main ba = 100 pb = 70 pc = 120 puts "case1: recognized gain = %d" % gain_on_related_parties(ba, pb, pc) ba = 100 pb = 70 pc = 80 puts "case2: recognized gain = %d" % gain_on_related_parties(ba, pb, pc) ba = 100 pb = 70 pc = 50 puts "case3: recognized gain = %d" % gain_on_related_parties(ba, pb, pc) end main
このプログラムの出力結果は、
case1: recognized gain = 20
case2: recognized gain = 0
case3: recognized gain = -20
となります。
case 1
入力
ba = 100
pb = 70
pc = 120
出力
case1: recognized gain = 20
このケースではCへの売却価格がAの調整税務簿価を超えています。この超える分が申告する売却益(認識利益)となります。
case 2
入力
ba = 100
pb = 70
pc = 80
出力
case2: recognized gain = 0
このケースではBから見たら売却益が出ていますが、Cへの売却価格がAの調整税務簿価を下回っています。したがって、この場合には申告する利益はありません。
case 3
入力
ba = 100
pb = 70
pc = 50
出力
case3: recognized gain = -20
このケースではBからCへの取引で売却損があるケースです。この場合は、この売却損をそのまま認識損失とします。
まとめ
よくよく見ると、贈与された資産の売却損益の計算とそっくりですね。売却価格から引く数字が二つあって、税務当局にとって得な方を選ぶ、ということですね。(贈与の場合は、贈与者の税務簿価と贈与時の公正価格の2つでした)今回も税務当局のえげつなさが浮き彫りになるお話でした。
次回は、交換取引について考えてみたいと思います。