お金の健康

マイニングの会計処理を楽にするPythonプログラムをつくった話【freee会計向け】

こんにちは、ウチダです。

夫婦で貯金ゼロ・借金400万円から
仮想通貨と株式へ投資をスタートし、
いまでは1500万円を運用しています。
 
副業は仮想通貨のマイニング企業を立ち上げ、
月5万円の不労所得を得ています。

仮想通貨のマイニングマシンに興味はあるけど、

「収益の計算ってめんどくさそう」

「ちゃんと会計処理できるの?」

と悩んでいませんか?

実はPythonを使えばマイニングの会計処理を

かなり楽にできるんです。

なぜこんなことが分かるかといえば

私が実際にPythonで収益レポートを作成しているからです。

この記事ではプログラミング言語Pythonを使って

マイニング収益や手数料を計算して、

freee会計にエクセルインポートする方法を紹介します。

この記事を読み終えると、

マイニングの会計処理がこんなに

楽になるのかと驚かれると思います。

マイニングの会計処理をもっと楽に!freee会計にインポートしよう

マイニングの会計処理をもっと楽に!freee会計にインポートしよう
DSC_0035

私は法人で仮想通貨のマイニングを行っています。

会計処理するときに、

マイニングってめんどうですよね。

4時間毎に売上が発生するので、

かなり多くのデータが出てきます。

仮想通貨のマイニング収益のレポート

これを手入力していたら日が暮れます。

そこで、freee会計のエクセルインポートを使います。

これは手入力していたデータをfreee会計に

移すための機能です。

(参考:Excel・販売管理ソフトからデータを取り込む(エクセルインポート)

これを利用してマイニング収益のレポートを

一気に入力させます。


ただ、NiceHashで出力されるデータは

そのままではfreee会計に取り込めません。

freee会計にインポートするには以下の項目が必要です。

  • 発生日
  • 収支区分
  • 勘定科目
  • 金額
  • 税区分
  • 決済口座

そこで、Pythonのプログラムで加工して、以下のレポートを作ります。

これならfreee会計にインポートできます。


作り方を紹介します。

まずNiceHashから収益レポートをダウンロードします。

ダウンロード方法はこちら↓

ダウンロードしたCSVファイルをPythonで加工します。

Pythonのコードはこちら

#ライブラリのインポート
import pandas as pd
import glob
import math

#収益レポートを読み込む
files = glob.glob('report*.csv')
for file in files:
    print(file + 'を読み込みました。')

data = pd.read_csv(file)
df = data[:-5]

#マイニング収益と手数料を抽出する
mining_df = df.loc[(df['Purpose'] == 'Hashpower mining') | (df['Purpose'] == 'Hashpower mining fee')]
#リスト化する
mining_list = mining_df.values.tolist()

#日付のデータを作成する
#重複を削除する
date = mining_df['Local date time'].drop_duplicates()

#freee会計用のデータフレームを作成する
freee_data = pd.DataFrame()
freee_data['発生日'] = date
freee_data['収支区分'] = '収入'
freee_data['勘定科目'] = '売上高'
freee_data['金額'] = 0
freee_data['税区分'] = '不課税'
freee_data['決済口座'] = ''
freee_data['収入'] = 0
freee_data['手数料'] = 0
freee_data['BTC収入'] = 0
freee_data['BTC手数料'] = 0
freee_data['BTCレート'] = 0

#データフレームに情報を入れる
for i in mining_list:
    local_date = i[1] #ローカル時間(日本)
    purpose = i[2] #取引目的
    price = i[5] #金額
    rate = i[4] #BTCレート
    btc = i[3] #ビットコインの数
    
    #収益
    if purpose == 'Hashpower mining':
        freee_data.loc[freee_data['発生日'] == i[1],'収入'] = math.ceil(price)
        freee_data.loc[freee_data['発生日'] == i[1],'BTC収入'] = btc
        freee_data.loc[freee_data['発生日'] == i[1],'BTCレート'] = rate

    #手数料    
    if purpose == 'Hashpower mining fee':
        freee_data.loc[freee_data['発生日'] == i[1],'手数料'] = math.ceil(price)
        freee_data.loc[freee_data['発生日'] == i[1],'BTC手数料'] = btc

#日付のデータを加工
for j in mining_list:
    local_date = j[1]
    freee_data.loc[freee_data['発生日'] == j[1],'発生日'] = str(j[1]).split(' ')[0]

#利益の計算
freee_data['金額'] = freee_data['収入'] + freee_data['手数料']
freee_data['BTC金額'] = freee_data['BTC収入'] + freee_data['BTC手数料']

#データの保存
freee_data.to_excel('freee_import.xlsx', index=False)

処理結果は上図のエクセルになります。

これでfreee会計にインポートできる形式になりました。

マイニング収益の会計処理がとっても楽になると思います。


プログラミングを身につければ

作業時間を短縮できます。

同じ時間を消費するなら、

作業効率を上げて

仕事を楽に終えるのがいいですよね。

短期でプログラミングを身につけるなら

こちらがおすすめです↓

ここまで読んでくださり、ありがとうございました。^^

-お金の健康