DeFi/NFT取引→クリプタクト 確定申告の留意点(備忘録)

DeFi/NFT取引→クリプタクト 確定申告の留意点(備忘録)

<注意事項>

〇筆者は税務の素人であるため、本稿の記載の正確性を一切担保できず、また、税務的な質問には一切お答えできない

〇本稿の主眼は、来年以降の確定申告に向けた自分向けの備忘録(特にDeFi・NFT取引)

〇私的な備忘録を公開することとした理由

 ・もし効率化可能な点があれば、アドバイスをいただきたい 

 ・もし認識に誤りがあれば、訂正いただきたい 

 ・確定申告で苦労しているクリプト民と辛さを共有したい

〇本稿は主に、Zerion(Ethrerumチェーン)と個人記録(他チェーン)を元にクリプタクトを用いた税金計算を行った時の留意点・今後の反省点の記録であり、全てのクリプト民に汎用的なものではない

※来年に向けた対応整理は別ノートを参照

1.取引履歴の取得について

・EthereumチェーンについてはZerionで履歴(CSV形式)を取得

・他のチェーンについては、都度、取引記録をメモしておくやり方が無難(他チェーンの記録は、CSV形式で履歴を取得できないか、CSV形式で取得できる場合(Etherscan派生系など)であっても、Zerionと比べると編集性・可読性に欠ける場合が多い。)

追記: 裏日本さんに教えていただいた、https://stake.tax/

CSV履歴分かりやすくてめちゃ便利だった(Solana, ATOM, LUNA, OSMO等に対応。このレベルでAvaxとか他チェーンに対応して欲しい。。)

2.Zerionとクリプタクトの違いに関する留意点

・Zerion等の取引を、クリプタクトの計算に使えるようカスタマイズしていく。この際、様式の基本設計が両者で異なるので、その違いをあらかじめ理解する必要がある。

・Zerionの大きな特徴としては、2点

 ➀Zerionの取引は、常に「BUY」側の視点で記載されている(左側(買い方)に得たもの、右側(売り方)に失ったものが記載される)

 これに関連する問題点としては、クリプタクトは、価格履歴を取っていない一部のマイナートークンについて、売却通貨である右側(Counter:決済通貨)に記載することができない(そのままだとエラーが表示される)

 マイナートークンには、例えば、Frax等の時価総額100位以内の主要通貨や、日本人に人気の下位アルトなども含まれる。(どのトークンが登録されているかは、クリプタクトログイン後の取引履歴一覧の画面の右上に「対応コインリスト」のリンクがある)

 つまり、Zerionの場合、トレードのアクションは常に「BUY」なので、クリプタクトに転記するActionは基本「BUY」と書けば良いが、マイナートークンの取引については、クリプタクト上のActionを「BUY」でなく「SELL」に書き直した上で、買い方(Base)と売り方(Counter)を逆に記載しなければならない(この際、単価の再計算作業が発生(後述))。 これが一つ目。

 ➁Zerionの取引は、買ったものと売ったものが1:1対応で記載されている。具体的に言うと、1ETHが2500USDTの時に2ETH買った場合、買ったもの:2ETH、売ったもの:5000USDT、というように、買ったものと売ったものの金額がイコールになるように表記されている。

 これに伴う問題点として、クリプタクトは、買った銘柄(or売った銘柄)とその銘柄の1単位当たり価格を記載する方式となっている。

 上のETH-USDTの例では、買ったもの:2ETH、売ったもの:5000USDT、ではなく、買ったもの:2ETH、1単位当たり価格:2500USDT、といった記載をする必要がある

 したがって、Zerionの全ての取引を、1単位当たり価格に修正する作業が発生する。これの対応策として、あらかじめ、Zerionの様式の中に、購入通貨1単位当たりの価格を記録するセルを追加しておくことが望ましい(計算式としては、決済通貨÷購入通貨)

3.Zerion等→クリプタクト

(1)DeFiの対応(Zerion)

 Zerionの履歴で重要なのは、Tsansaction TypeとAccounting Typeのセルであり、この二つの組み合わせによって、クリプタクトへの転記方法が変わる。

 ほとんどの場合は、直感的理解が可能であり、簡単に転記できる。

 例えば、ZerionのApproval/Spend、Contract Execution/Spend、Withdraw/Spend、Enable Borrowing/Spendなどは、クリプタクト上では全てSENDFEE扱いとすれば良い

 問題となる取引は、➀Receive/Incomeと➁Trade/Tradeの組み合わせの二つ。これらは、同じ項目の中に複数の要因が混在しているため、一つずつ取引を再確認し、個別に対応が必要となる

➀Recieve/Income

 これが面倒なのは、ウオレット間送金と、報酬受取(エアドロ等)が混在しているため。前者は利益確定行為ではないので税金計算時に無視できるが、後者は利益確定行為なのでクリプタクトのカスタム様式に転記する際にActionをBONUS枠で記録することが必要となる。

 一般的にクリプタクトのカスタム様式は、トークンの単価を自動で計算するので、決済通貨(Counter)の単位(例: JPY, USD, BTC)さえ記載しておけば、単価自体の欄は空白でも問題ない。一方、マイナートークンについては、クリプタクト内で価格を自動参照することができないため、その都度、単価を個別に記載する必要がある。このため、マイナートークンのエアドロ等については、忘れないうちに、その時の単価をメモしておくことが必要となる(後々、Coingecko等で確認しても、その時点の価格が載っていなかったり、載っていても、時間ぴったりのデータを取れない場合がある)

②Trade/Trade

 これが面倒なのは、通常のトレード(Swap)と、流動性供給が混在しているため。したがって、クリプタクトのカスタムファイルに転記する際、これを分類する必要がある。

 なお、DeFi取引の場合、最も多く発生するクリプタクト上のエラーは、「価格が参照できないエラー」であると思われる。これは、上述のとおり、マイナートークンについては、クリプタクトで価格を参照できず、損益を確定できずエラー処理とされるためである。これを防ぐためには、以下の方法をとる。

 ・まず、マイナートークンが、トークンとしても認識されない場合(価格を参照できないばかりか、トークン名が登録されていない場合)には、トークンの名称を「CTT〇」(〇は一連の番号を任意に入れる)に変更しておく。

 ・マイナートークンのエアドロの場合、決済通貨(SwapしているわけではないのでJPYかUSDを想定)の欄を空欄にせず、トークン1単位当たりの価格を追記する

 ・マイナートークンを売ってメジャートークンを買うトレードの場合、アクションを「BUY」から「SELL」に変更した上でトークンの順番を逆にし、決済通貨をメジャートークンにする。(単価の計算方法は、メジャートークンの取引量÷マイナートークンの取引量)

 ・マイナートークン同士を交換するトレードの場合、まず、通貨のアクションを「SELL」にした上で、売った通貨の枚数を左側に記載、右側(決済通貨)はメジャー法定通貨(JPYかUSDを想定)を記載して、売った通貨の1単位当たり価格を調べて追記する必要がある。その上で、通貨のアクションが「BUY」の段も作り、買った通貨の枚数を左側に記載、右側(決済通貨)は、同様にメジャー法定通貨を記載して、買った通貨の1単位当たり価格を追記する。買った通貨の1単位当たり価格については、「売った通貨の枚数÷買った通貨の枚数×売った通貨の1単位当たり価格)で計算が可能と思われる(この一連の処理が一番面倒)。まとめると、マイナートークン同士の取引の場合、クリプタクトのカスタム様式は2行(SELLの行とBUYの行)になる。

(2)NFTの対応(Zerion)

・NFTについては、枚数が常に一枚のマイナートークンと考えれば良い。NFTの価格データはクリプタクトで読み込むことができないので、購入時はNFT1単位当たりの価格(=メジャー通貨建の購入価格を)をカスタムファイルに追記する必要がある。具体的な手順としては、

 ・まず、各NFTの名称を「CTT〇」(〇は一連の番号で任意に記載)に変更する(これをしないとエラーが出る)

 ・当該名称を忘れないように、Excelにまとめてメモしておくか、クリプタクトのカスタム様式の備考欄に、その番号とNFTの対応関係を明記しておく(例:CTT25=BAYC#1234)

 ・ZerionでのNFTの名称もあまり正確ではないので、出来る限り、購入した日に、正式名称(コレクタブルであればIDも含めて)を記載し、後々確認できるようにしておく。(特にコレクタブル系は、同じプロジェクトで複数購入する場合があるので、後々、どれを売却したか分からず混乱するリスクがある)

 ・NFT(CTT〇)を売る際の留意点として、NFTはクリプタクト内で価格履歴を追えないので、左側に売却額、右側(売側・決済通貨)にNFTの形式で記載することができない。したがって、クリプタクトへ転記する際は、Zerionの記載を逆にする必要がある(つまりアクションも「SELL」にする)。NFTは常に枚数が一枚なので、逆にしたところで単価を再計算する必要がない点はマイナートークンより楽と言える

(3)Zerion以外(=Ethereumチェーン以外)のDeFi/NFT取引

・基本的にはZerionと同様に対応する

・各取引をあらかじめメモする場合、後々、クリプタクトの様式に転記することを考えると、取引の性質ごとにエクセルのシートを分けて記録しておくことが効率的。分類方法としては例えば以下のとおり。

 ➀流動性供給とレンディング 

  流動性供給、レンディングいずれも「預けた時点」と「受け取った時点」の枚数の差に着目し、「受け取った時点」で利益を確定するという特徴がある。このため、最低限「日付」「預け入れた日」、「預け入れた銘柄」「預け入れた枚数」、「受け取った日」、「受け取った銘柄」「受け取った枚数」のセルを作り、記録することで、あとで「受け取った枚数-預け入れた枚数」を自動計算できるようにしておく。クリプタクト上への転記としては、受け取った日のみを記録し、増加枚数(=利益)を転記する。

 レンディングの場合、単に「受け取った枚数-預け入れた枚数」をアクション「BONUS」で記載すれば良いが、流動性供給の場合は少しややこしい。受け取った枚数が預け入れた枚数より減る通貨と増える通貨の2種類が存在するからである。

 預け入れ時点から減った通貨については、「SELL」にした上で単価を0円、増えた通貨については、「BONUS」にした上で単価を記載する。

 いずれにせよ、増えた通貨については、「単価」を記載する必要がある。上述のとおり、マイナートークンについては、クリプタクト上で自動で単価を計算してくれず、自分で確認して追加する必要がある。マイナートークンの枚数が増えた場合には、受け取った日時点の単価をこまめにメモしておくべきであろう。

 ➁トレード

 最低限「日付」「買った通貨の銘柄」「買った通貨の枚数」「売った通貨の銘柄」「売った通貨の枚数」の行を作り、記録する。1枚当たり単価は、後に「売った通貨の枚数÷買った通貨の枚数」で計算可能。

 ここでの課題も、クリプタクトでマイナートークンの価格を参照できないことである。こうしたトークンを売った場合、最初からActionをSellにした上で、「買った通貨の枚数÷売った通貨の枚数」で1単位当たり価格を記載しておくか、後々、当該取引を逆に記載する処理が必要である旨のマークを付けておく

 ➂エアドロ・ステーキング利息

 最低限「日付」「得た通貨の枚数」「得た通貨の銘柄」のセルを作る。これは、クリプタクトのカスタム様式に「BONUS」のアクションで入れるだけなので、比較的作業が楽である。ただし、マイナートークンについては、やはり価格参照ができないという問題が生じるため、1単位当たり価格をその都度記録しておくと、後々楽になる。(というか記録しておかないと、後で非常に面倒)

この他、NFTについても別途の様式がある方が楽かもしれないが、取引回数にもよるだろう。一般的には「トレード」と同じシートでも良い気がする。

ーーー

以上のDeFi、NFT以上の処理によって、多くの「価格参照」エラーが解消できるはずである。

これを1年分まとめてやろうとすると、個々の取引について確認→カスタムファイルの転記・修正・再計算、のプロセスが必要となり、膨大な時間を要する(第一の地獄

4.取引所の売買記録に関する若干の留意点

CEXでの取引については、特に「ポジション不足エラー」が頻発するが、その前提として留意すべき点は以下のとおり。

(1)APIに関する留意点

 2021年の確定申告から、BinanceやFTX等の主要取引所でAPIを参照した履歴取得が可能となり、個別に取引履歴を取引所経由でダウンロードするよりもはるかに楽になった。

 しかし、BinanceのAPI読み取りは、私見では必ずしも正確とは言えない。例えば、ステーキング報酬(BETH等)について、年度途中から突然APIに記録されるようになる事例が散見された。この場合、取引の二重計上となり、収めるべき税金額を過剰算出する恐れがあるので、取引に間違いがないかは、APIであってもちゃんと確認する必要がある。(なお、細かい点であるが、カスタムファイルでBinanceのステーキング報酬を作った場合でも、ActionをStakingにして、SourceをBinanceにすることで、Binance上の取引として認識できるっぽい。後々の整合性の観点から、これも次年度以降、忘れないように注意)

(2)FTXのUSDに関する留意点

 ・FTXはUSDC,BUSDを全て「USD」で管理しているため、FTXのステーブルコイン取引を間に挟むと、ステーブルコインの保有量に齟齬が生じ、これが「ポジション不足」エラーを誘発する可能性がある。もし、原因不明のポジション不足エラーに遭遇した場合、ステーブルコインについてはFTX内での調整をカスタムファイルに入力することを忘れていないか、確認しても良いかもしれない。

・正直、日ごろ、様々なところで取引をすると、全てをアップロードしたつもりでも、どうしても漏れが発生する。そして、そうした漏れの取引は、アップロードするのも忘れているくらいなので、どこで発生したのか思い出すのが困難。もしかしたら、一度しか使っていないマイナー取引所なのかもしれない。既に閉鎖された取引所なのかもしれない。

・このように、「ポジション不足エラー」は自分の記憶が頼りのため、より修正に時間がかかるというリスクがある(第二の地獄)。これを少しでも和らげるために、最低限、各年の期末時点のポジションを正確に記録しておくべきである(ポジション不足が前年に発生していたら、確認は非常に困難だし、また、本年の計算が合っているかの確認もできる。なぜなら、クリプタクトでは年末時点のポジションを確認できるからである)

5.最後に(4つの地獄)

そもそも確定申告というものは、辛い思いをして、何時間もかけて作業をして計算する。その結果として得られる果実は、ただ一つ、納税=自分の金が減る、である。

苦労した結果、お金をもらえるならまだしも、減るのである。

憲法に基づく義務を遵守するため、納税は当たり前の行為であり、その結果、日本国に貢献していると思えば、私としてはこれほど喜ばしいことはない(嘘)。しかし、辛い時間を過ごした結果、金がなくなる、というのは二重に辛い(第三の地獄

更に辛いのは、この確定申告作業中、仮想通貨相場が下落している、ということである。私のことは嫌いになっても、私の税金の原資は奪わないでください!!!(第四の地獄(前田敦子))。

クリプタクトは、税金計算に当たり、非常に便利である。クリプタクトのご担当者様には、非常に感謝している。

しかし一方で、DeFi等の確定申告には四つの地獄がある。

第一の地獄:マイナー通貨の単価を全部個別に調べる、NFT取引は全て記録を書き直す地獄

第二の地獄:ポジション不足の経緯が分からない地獄

第三の地獄:頑張っても頑張っても、結局、懐が痛むだけ地獄

第四の地獄:確定申告計算中に、仮想通貨が暴落する地獄

これらの地獄が起こることを、あらかじめ想定した上で、戦いに望むべきなのだ。

本当は、マクロを組成してもう少し自動的に計算できるよう効率化するのが絶対に良いはず。私もスキルさえあれば上記を自動化したい。誰か、その方法を共有してください(他力本願)

最後に、歴代の偉人の名言集で締めくくりたいと思います。

「確定申告は、確定じんごく(確定地獄)です。」(マハトマ•ガンジー)

「DeFierの確定申告は、おしっことうんちを足して2で割ったようなもの」(マリー•アントワネット)

「桐島、確定申告辞めるってよ」(スティーブ•ジョブズ)

「適切な確定申告により、日本国の発展に貢献することは私にとって最上の喜びである。未だにDeFi等に関する取引の税務処理に関して不明確な点があるにも関わらず、自分が日本国政府と全く関係のないところで、自分の努力で稼いだ利益から、最大で55%分を国家に払わせていただけると思うと、興奮して夜も眠れない。これほどまでに高額所得者に厳しい制度は他に例を見ない。諸外国と比較しても、世界一の制度と言えるだろう。生まれ変わったら、国税庁の職員になりたい」(Guko)

来年の確定申告に向けた教訓(まとめ)

・年末時点の保有残高については、スクショをとるなり、メモするなりして、正確に把握できるようにしておく。

・Zerion等は取引ペアを1:1対応で記載、クリプタクトは「単価」で記載。これが最大の違い。この違いにより追加の作業が発生する。流動性供給は特に留意。

・特にマイナーペアのトレードは、クリプタクトで価格を参照できないので、取引の都度、購入単価をメモしておくべき。(この場合、マイナーペアは右側(決済通貨)に記載できないので、そういう通貨はどれなのかをあらかじめ確認しておき、特に購入単価をメモすることを忘れない。また、後々、クリプタクトに転記する際は、Zerionの記載順番と逆転させることに留意) 

・API対応は絶対であると過信するなかれ。自分で取引の正確性を確認する必要がある

・なお、今年の確定申告は、Koinlyが人気のようだけど、総平均法に対応してないっぽいので、Koinlyで計算した人たちは、自分で再計算するんかね。何を使っても結局大変だよね

この続き : 0字 / 画像 0枚
100

会員登録 / ログインして続きを読む

関連記事

記事を書いた人

Twitter: @crypt_guko

SNSにシェア

このクリエイターの人気記事

1か月で250万円が3億円になった話(小説)

17504

仮想通貨の有力VC20社の投資先ランキングを調べてみた

11378

XRPの証券性のガチ検証 前編

8921