SWELLのメリットを27人のユーザーに聞いてみた記事こちら

【NFT確定申告】無料で簡単にメタマスクでの売買の損益計算をする方法

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

こんにちは、わえ(@wae_lib)です!

悩んでる人

NFTの購入や売買をたくさんして利益が出たんだけど、確定申告で損益計算しなきゃ〜(汗)でもこれまで売買履歴をメモしてないし、どうしたらいいんだろう

わえ

Gtaxやcryptact(クリプタクト)といったツールを利用すればできるね

悩んでる人

おおー、そうなんだ!検索検索…。うーん、無料だと取引件数に制限があるのかー。たくさん取引したから有料版を使わないと行けなさそうだなあ。でも無料でなんとかできないかな?

わえ

無料でやるなら、○○scanというサイトを見て損益計算できるよ。例えばイーサリアムチェーンなら、Etherscanを見ればいいね。Etherscanのページの検索欄に、自分のウォレットアドレスを入れて検索してみて!

悩んでる人

へぇー、そうなんだ!どれどれ、Etherscanで自分のウォレットを検索・・・っと。うーん、見方がよくわからないよ(涙)このページを見て損益計算するのは難しそう・・・

わえ

そうかそうか。そんな人のために、Etherscanの履歴ファイルからできるだけ簡単に損益計算できるツールを作ったよ!

喉から手が出てる人

ええっ!!?それは使ってみたい!!

わえ

わたしがメインでメタマスクを利用してるから、メタマスクを例に解説するね!注意点もあるからよく読んでね。

この記事では、NFT売買の損益計算を、NFT売買が盛んなイーサリアムチェーンと、メタマスクを例に解説します。

Etherscanからダウンロードできるファイルと、Googleスプレッドシートを使用します。

記事の正確性には万全を期していますが、記事執筆者のわえは税理士ではありませんので、税金計算で疑問点がある場合は税理士に相談しましょう。また、NFTに関する税制ははっきりと決まっていない部分がありますので、今後の法整備等によっては税金計算方法が変わる可能性もあります。本記事のツールの使用は自己責任でお願いします。

目次

いすむさん作成のスプレッドシート「【NFT/仮想通貨】税金計算表」をダウンロード

わえ

まずはいすむさんのブログで無料公開されているスプレッドシートをダウンロードするよ。いすむさんのこちらの記事からダウンロードできるぞ。記事にある通り、リンク先のデータはそのままでは編集できないから、使用するため「ファイル」から「コピーを作成」で自分のGoogleドライブにコピーしよう

笑顔の人

おお、こんな神記事があったのか!早速ダウンロードしてみよう

わえ

下のような画像が表示されていれば準備完了だ!バージョンはダウンロードする時期によって変わってるかもしれないね。ちなみに売買履歴などを入力していくのは「取引一覧」シートだぞ。この欄に売買履歴などをすべて入力すれば、あとは自動で全損益とガス代(手数料)が計算されるんだ

Etherscanの履歴をまとめるための新しいスプレッドシートを作成

スプレッドシートをダウンロードできたよ!

悩んでる人

「取引一覧」シートに売買履歴を記入していくのか。うーん、項目がたくさんあって、なんだか大変そう…

わえ

この項目をできるだけ簡単に埋めていくというのが、本記事の一番の肝だぞ!そのために新たにEtherscanの履歴をまとめるスプレッドシートを作成しよう

Googleスプレッドシートの新規作成手順

Googleのトップページを開き、画像の右上の部分をクリックします。

項目の中から「スプレッドシート」を選びます。

「新しいスプレッドシートを作成」で「空白」を選択します。

スプレッドシートが新規作成されます。名前を「メタマスク 2022」のように、わかりやすい名前に変更しておくと良いでしょう。

Etherscanから3つの取引履歴ファイルをダウンロード

笑顔の人

新しいスプレッドシートを作成したよ!次はどうすればいいの?

わえ

Etherscanから3つの取引履歴ファイルをダウンロードするよ

まずEtherscanに移動します。

検索欄に自身のメタマスクのアドレス(0xから始まる42桁の英数字)を入力して検索します。

以下のような画面が表示されます。

Transactionsの履歴ファイルをダウンロード

Transactionsの履歴ファイルをダウンロードしましょう。先ほどの画面で、Transactionsのタブを開きます。

下にスクロールして、右下に「CSV Export」があるので、クリックします。

CSVは拡張子の名前です。表敬式のデータで、Excelなどの表計算ソフトで開くことができます。

Download Dataの画面が表示されたら、期間を指定して、reCAPTCHAの認証をしたあとに「Download」を押します。例えば2022年分の収益計算をする場合は、期間は「01/01/2022」から「12/31/2022」とします。

これでCSVファイルがダウンロードされればOKです。

NFT TransfersとInternal Transactionsの履歴ファイルをダウンロード

Transactions履歴ファイルのダウンロードと同様に、NFT Transfersの履歴ファイルをダウンロードしましょう。

Etherscanの画面でNFT Transfersタブを選択して下にスクロールすると、先ほどと同様「CSV Export」のボタンがあるので、クリックします。

Transactions履歴ファイルのダウンロード時と同じ期間を指定して、reCAPTCHAの認証を行い「Download」ボタンを押せば、CSVファイルがダウンロードされますよ。

Internal Transactionsの履歴ファイル(CSVファイル)も同様にしてダウンロードできます。

スプレッドシートに取引履歴ファイルのデータをインポート

3つの取引履歴ファイルをダウンロードできたよ!

わえ

次は先ほど新しく作成したスプレッドシートに、取引履歴のデータを取り込んでいくよ

Transactions履歴データのインポート

まずTransactions履歴ファイルからデータを取り込みます。

スプレッドシートに新しく「Transactions」シートを作成しましょう。

デフォルトで「シート1」シートが作成されているので、名前の変更をして「Transactions」にします。名前の変更をするには、下の画像のように「シート1」の横のプルダウンマークを押して、「名前の変更」を押しましょう。

「Transactions」シートができたら、ツールバーの「ファイル」を押して、「インポート」をクリックします。

「アップロード」タブで、先ほどダウンロードしたTransactions履歴ファイルをドラッグ&ドロップします。

インポート場所を「現在のシートに追加する」にし、「データをインポート」を押しましょう。

下画像のようになればOKです!

NFT Transfers履歴・Internal Transactions履歴データのインポート

続いてNFT Transfers履歴も同様にインポートします。

スプレッドシートの左下の「+」マークを押すと、新しいシートが作成されるので押しましょう。「シート2」という名前のシートが作成されるので、名前の変更で「NFT Transfers」にしましょう。

「ファイル」→「インポート」を押して、アップロードタブでNFT Transfers履歴ファイルをドラッグ&ドロップします。インポート場所を「現在のシートに追加する」にして、「データをインポート」を押しましょう。

以下の画像のようになればOKです。

Internal Transactions履歴データも同様にしてインポートします。シート名は「Internal Transactions」としました。以下の画像のようになればOKです。

イーサリアムの年間価格推移をコピペ

取引履歴のデータインポートもできた!

わえ

うんうん、いい調子!今度は損益計算に必要なイーサリアムの年間価格推移を新しいシートにコピペするよ

ある年月日のイーサリアムの価格を計算する際に、Googleスプレッドシートの「Cryptosheets」を使用する方法もあります。詳しくは、いすむさんのこちらの記事をご覧ください。
この記事ではセキュリティ上の観点から、Googleスプレッドシートのアドオンを使用しない方法を紹介しています。

ここではCoinMarketCapからイーサリアムの年間価格推移のデータを取得します。

CoinMarketCapのイーサリアムのページにアクセスしましょう。

「履歴データ」タブをクリックします。

「Date Range」のプルダウンで、税金計算する年の期間を指定します。2022年なら、2022年1月1日から2022年12月31日までを指定します。「続行」を押して、期間を確定させましょう。

ページをスクロールダウンしていきます。ページがすべて読み込めていない場合、指定した期間の最初の日付が出てくるまで読み込んでスクロールダウンしましょう。例えば2022年の場合は「Jan 01, 2022」が出てくるまでスクロールダウンします。

「Jan 01, 2022」の行から一番上の「日付」の行までマウスドラッグで選択し、コピーします。

スプレッドシートで「ETH」シートを作成して、A1セルを選択した状態でペーストします。

下画像のようになればOKです。

この記事では、上画像の終値をもとに損益計算を行います。

データの表示の変更

後々のために、「日付」列のデータ表示を変更します。

まず「日付」を「Dec 31, 2022」という表示から「2022/12/31」という表示に変更しましょう。スプレッドシートのオートフィル機能を利用します。

オートフィル機能を知らない方は、例えばクラサポさんのブログのこちらの記事を読むと良いでしょう。

「A2」列を一旦削除して、「2022/12/31」と記入します。「A3」列も削除して、「2022/12/30」と記入しましょう。

次にA2とA3列を選択し、選択部分の右下の四角になっている部分を、データのある最終行まで下にドラッグします。

最終行付近のA列が下画像のようになればOKです!

NFT売買や送金・着金履歴の整理

イーサリアムの年間価格推移のシートも作成できたよ!

わえ

ここまでできたら、Transactionsなどの履歴をもとに、NFT売買や送金・着金履歴を整理するぞ。最初にダウンロードした、いすむさんのスプレッドシートの「取引履歴」の表を埋めるための整理だよ

「Transactions」シートのデータ整理

まずは「Transactions」シートの内容を整理します。

整理内容は以下の通り。

  • R列からAC列:ガス代手数料または着金に関する内容をまとめる
  • AD列からAN列:NFT購入または送金に関する内容をまとめる

わたしが作成したこちらのスプレッドシートの「Transactions」シートのセルR2からセルAR2には、このまとめを簡単に実施するための関数が用意されています。

このスプレッドシートの、セルR1からセルAR2を選択してコピーしましょう。

コピーしたものを、自身で作成したスプレッドシートの「Transactions」シートに、セルR1を選択した状態でペーストします。

セルR2(セルR1ではないです!!)からセルAR2を選択し直し、セルAR2の右下の四角マークを下にドラッグして、セルの内容を下の行にコピーしましょう。コピーはTransactionsのデータがある行まで行います。

以下の画像のようになればOKです!

わたしが作成したスプレッドシートの関数では、P列のMethodの記載内容をもとに、U列とAG列の内容を決めています。例えばP列に「Set Approval For All」と書かれていたら、U列は「承認手数料」となります。

U列やAG列に書かれている関数を見てもらえばわかりますが、P列のMethod内に想定していない文字列が現れる場合には、予期せずU列やAG列が空白になることがあります。この場合はMethod列を自身で書き直す必要があります。

例えばわたしの場合、P列のMethodに0xから始まる英数字のものがありました(下画像)。

想定していない文字列であるために、U列が空白となっています。このような場合、該当するトランザクションの内容を調べて、P列を書き換えます。

該当トランザクションを詳しく見るには、同じ行のA列のTxhash(0xから始まる英数字)をコピーして、Etherscanの検索にかけましょう。

例えば以下の画像の内容が表示されます。

この場合、Transaction Actionのところに「Mint 5 of Egyptian God」とあるので、Egyptian Godを5ミントしたという内容でした。

この例では、P列のMethod部分を「Mint」と書き直せば、U列に「NFTミント手数料」、AG列に「NFT(Egyptian Godz)1次購入」と正しく表示されます。

上に書いたように、G列内に空白のセルが残ってしまうことがあります。G列内で空白があると損益計算が正しくできないので、上記を参考に全て埋まるように編集しましょう。

「Internal Transactions」シートのデータ整理

続いて「Internal Transactions」シートのデータを整理します。

整理内容は以下の通り。

  • S列からAC列:NFT売却に関する内容をまとめる

わたしが作成したこちらのスプレッドシートの、「Internal Transactions」シートのセルS1からセルAF2に、NFT売却内容をまとめるための関数が記載されています。

このセルS1からセルAF2を選択してコピーしましょう。

そして自身が作成したスプレッドシートの「Internal Transactions」シートに、セルS1を選択した状態でペーストします。

「Transactions」シートで行ったときと同様に、セルS2(セルS1でない!)からセルAF2を選択し直し、右下の四角マークを下にドラッグして、データの下端まで内容をコピーします。

うまくいけば、以下の画像のようになります。何を売って、どれだけ利益が出たかがわかりますね。損益はAF列に表示されます。

AF列に「#N/A」と表示されることがあります。これは、もらったNFTを売却する場合など、自身で購入せずにNFTを手に入れて、売却する場合に該当します。

「#N/A」のままだと、損益計算に支障があるので、すべて手動で修正します。もらったNFTの売却時価格から、入手時価格を引いた値段を記入しましょう。

もらったNFTが入手時に安く、売ったときに大きく値上がりしていた場合は、AA列の「IN価格」をそのまま記入しても問題ないかもしれません。

まれに、AF列の損益が正しくないことがあります。少し難しい内容ですが、詳しく解説します。

AF列のセルには、次のような関数が書かれています。

VLOOKUP(AE2, Transactions!$AO$2:$AR$1000, 4, FALSE)

このVLOOKUP関数では、「Internal Transactions」シートのある行のAE列の「NFT名」が、「Transactions」シートのAO列の「NFT名」に現れるか否かを検索し、現れた場合はその「最初の」行のAR列の「取得単価」の値を返します。

ここでは「最初の」というのが重要です。

例えば次の場合は、問題なく正確に損益を計算できます。

  • 同じ年内に「Egyptian Godz」というNFTを、一度のトランザクションでミントした

この場合「Transactions」シートのAO列で、「Egyptian Godz」に一致する行は一つのみです。取得単価は同じ行のAR列の値ですね。

次の場合も問題なく損益を計算できます。

  • 同じ年内に「Best Waifu Collection」というNFTを、複数のトランザクションで、1枚あたり同じ価格でミントした

この場合「Transactions」シートのAO列で「Best Waifu Collection」に一致する行は複数ありますが、1枚あたりが全て同じ価格での購入ですので、AR列の取得単価はどの一致行でも同じです。

次の場合、損益が正確に計算できない可能性があります。

  • 同じ年内に「ANESIDORA」というNFTを、プレセールでフリーミントで2枚購入し、早押しセールで1枚あたり0.002ETHで2枚購入した

この場合「Transactions」シートのAO列で「ANESIDORA」に一致する行は複数あり、なおかつ一致行のAR列の値(取得単価)が異なります。

このような場合、「Internal Transactions」シートのAF列のVLOOKUP関数は、フリーミントでの取得単価=0円を返します。しかし、損益計算時の値としては早押しセール時の価格を使用するべき場合もあるでしょう。

このように損益計算が若干正確でないことがあるので、念の為各項目の損益を目で見て確認して、正確でない場合は手動で修正することをおすすめします。

整理した内容を「【NFT/仮想通貨】税金計算表」に転記

ふう、履歴の整理もできた!

わえ

ここまでできたらあともう一息!あとは整理した内容を、最初にダウンロードした、いすむさん作のスプレッドシートに転記しよう

「取引一覧」シートへの転記

まず、自身で作成したスプレッドシートの「Transactions」シートのR列からAC列(2行目以降)を選択して、コピーします。

「【NFT/仮想通貨】税金計算表」のスプレッドシートの「取引一覧」シートを開き、A列の貼り付ける行を選択します。

右クリックを押し、「特殊貼り付け」→「値のみ貼り付け」を押しましょう。

同様にして、「Transactions」シートのAD列からAN列(2行目以降)を選択して、コピーします。

「【NFT/仮想通貨】税金計算表」のスプレッドシートの「取引一覧」シートの続きの行に、上記と同様に貼り付けましょう。

さらに「Internal Transactions」シートのS列からAC列(2行目以降)を選択してコピーし、「取引一覧」シートに同様に貼り付けます。

取引数が多いと、「【NFT/仮想通貨】税金計算表」の「取引一覧」シートの行が足りないことがあります。その場合、スプレッドシートの行を追加する必要があります。

スプレッドシートで複数行を一度に追加するには、複数行を選択した状態で、ツールバーの「挿入」→「行」→「下に○行追加」を押しましょう。

ちなみにスプレッドシートの行の挿入にはショートカットがあります。OSによって異なりますよ。

Macの場合は「option」+「control」+「R」→「I」→「B」で下に行を挿入できます。「option」と「control」を押したまま、RとIとBを連打すれば、効率的に行を挿入できるでしょう。

「所有NFT一覧」シートへの転記

続いてNFTの売買損益を、「【NFT/仮想通貨】税金計算表」のスプレッドシートの「所有NFT一覧」シートに転記します。

「Internal Transactions」のAF列にある損益を選択し、コピーしましょう。

「所有NFT一覧」シートを開いて、内容が「NFT(○○)売却」の一番最初の行のM列(損益)を選択し、右クリック後、「特殊貼り付け」→「値のみ貼り付け」を押します。

損益とガス代経費をチェックする

税金計算表に転記もできたよ!

わえ

後は損益とガス代経費をチェックするだけ!これで確定申告時の損益と経費が計算完了だ!

「【NFT/仮想通貨】税金計算表」のスプレッドシートの「取引一覧」シートを下にスクロールしていくと、下の画像のようなセルがあります。

トークン列に「ETH」(下図ではセルC232)、チェーン/取引所列に「Ethereum」(下図ではセルD232)と記入すると、右側に自動的に数値が表示されますよ。

NFTの損益は、下の表の「③NFT売買の収益」、ガス代経費は右上の赤いセルの「合計ガス代」のところに表示されています。これらの値が、確定申告時に入力する値となります。

まとめ

笑顔の人

うわ〜、ちょっと大変だったけど、自分で手入力するよりはるかに簡単にNFTの損益計算できちゃった!

わえ

今回はメタマスクのイーサリアムチェーンを例に解説したけど、同様のことは他のチェーンやウォレットについてもできるはず。ちょっと頑張れば無料で損益計算できちゃうね。

あとはbitFlyerやCoincheckなどの取引所での取引履歴や、STEPNなどのBCGの取引履歴もまとめなきゃな

わえ

…気が向いたら記事書くかもね〜

この記事が、あなたの確定申告時の参考になれば幸いです。

この記事が気に入ったら
フォローしてね!

シェアはこちらのボタンから!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次