Ruby で学ぶアメリカ税制 - 同種財産の交換取引
同種財産の交換取引(Like-kind exchange)においては、原則として税法上の損益を認識しません。ただ、テストに出るのは例外のほうで、ややこしい話があります。
まず同種財産の定義から。
- 事業用資産または投資用資産(個人使用目的の資産はダメ)
- 不動産は不動産と(土地と建物の交換なんていうのもアリ)
- 動産は同じ種類であればよい。(General Asset Class とか Product Class というのが税法上定義されているようです)
- とはいえ、株式・債券・棚卸資産等はダメですよ
というわけで「同種」の定義はかなり緩い感じです。ある種類の2つの同種財産を交換するとき、2つの資産の価値の差異を穴埋めするため、同種ではない資産も同時に交換されることがあります。これを異種財産(boot)と呼びます。
同種財産の交換取引の話を複雑にするのはこのブートのせいです。ブートは財務会計の方でも大暴れして、話を面倒にしています。本当にいなくなって欲しいですね。ブートも細かい話がいろいろあるのですが、まずは原則的な話をしましょう。
いま XさんとYさんの2人がいたとします。X が主人公です(X の税務申告を考えます)。X は同種財産 G を Y に渡し、代わりに同種財産 R を受け取ります。同時に X と Y の間でいくつかの異種財産の交換があり、これらの資産を通算した結果、 X は B だけブートを受け取ったとします。これらの異種財産はすべて公正市場価格(FMV)で評価します。Y→X の方向の財産の移動をプラス、X→Y の方向の財産の移動をマイナスで表します。例えば、XはYへ100ドルの異種財産を渡し、代わりに80ドルの異種財産を受け取るのであれば、Xの受け取るブートは(-100) + 80 = -20 になります。
ここで、計算の目的は税法上の損益(認識損益)g を求めることです。(g が負ならば、損失を表します)(実際には、受け入れ財産 R の X にとっての税務簿価も算定も重要ですが、これは認識損益 g がわかれば計算できますので、とりあえず g の算出に集中しましょう)
Ruby のプログラムで表現するとどんな感じでしょうか。
# gb XがYに引き渡した財産 Gの調整税務簿価 # gf XがYに引き渡した財産 Gの公正市場価格 # b X が Y から受け取ったブート(マイナスのときは、XがYにブートを渡している) def gain_on_like_kind_exchange(gb, gf, b) # no boot or boot has been given if b <= 0 return 0 else # give has been received # never recognizes loss here adjusted_realized_gain = [0, gf - gb].max return [adjusted_realized_gain, b].min end end def main gb = 100 gf = 120 b = 0 puts "case1: recognized gain = %d" % gain_on_like_kind_exchange(gb, gf, b) gb = 100 gf = 120 b = -30 puts "case2: recognized gain = %d" % gain_on_like_kind_exchange(gb, gf, b) gb = 100 gf = 120 b = 10 puts "case3: recognized gain = %d" % gain_on_like_kind_exchange(gb, gf, b) gb = 100 gf = 120 b = 30 puts "case4: recognized gain = %d" % gain_on_like_kind_exchange(gb, gf, b) gb = 100 gf = 80 b = 10 puts "case5: recognized gain = %d" % gain_on_like_kind_exchange(gb, gf, b) end main
このプログラムの出力結果は、
case1: recognized gain = 0 case2: recognized gain = 0 case3: recognized gain = 10 case4: recognized gain = 20 case5: recognized gain = 0
となります。
case 1
入力
gb = 100
gf = 120
b = 0
出力
case1: recognized gain = 0
ブートがないケースです。認識損益はありません。
case 2
入力
gb = 100
gf = 120
b = -30
出力
case2: recognized gain = 0
ブートを渡しています。ブートを渡すときには税務上の損益を認識しません。
case 3
入力
gb = 100
gf = 120
b = 10
出力
case3: recognized gain = 10
ブートを受け取っています。このときは、ブートか実現利益(gf - gb)の小さい方を認識利益とします。ここではブートのほうが小さくなっています。
case 4
入力
gb = 100
gf = 120
b = 30
出力
case4: recognized gain = 20
ブートを受け取っています。ブートのほうが実現損益より大きいので、実現利益のうち全額を税法上の利益として認識します。
case 5
入力
gb = 100
gf = 80
b = 10
出力
case5: recognized gain = 0
ブートを受け取っています。実現しているのは損失ですが(80 - 100= -200)、同種財産の交換では損失を認識しませんので、認識損益はありません。
まとめ
上で X が Y から受け入れた同種財産 R の X における税務簿価 rb は、
rb = gb + g - b
で計算できます。
実はブートは、(1)債務の免除 (2)それ以外(一般異種財産)の2種類にわかれ、一般異種財産を受け入れるときには、債務の引き受けとは相殺できない(一般異種財産は受け取りとして認識せねばならず、利益を認識しなければならないことがある)という決まりがあるのですが、まあ、こんなの問題に出るのかしら?上の基本さえ押さえておけば十分な気もします。
次回は非自発的買い替えについて話をしたいと思います。