フリーランスエンジニアのための青色申告・確定申告完全ガイド【Pythonで経費集計を自動化する方法も解説】
「確定申告って、なんだか難しそう…」「青色申告と白色申告、どっちがいいの?」
フリーランスとして独立したばかりのエンジニアの方なら、こんな疑問を抱えているんじゃないでしょうか。
実は確定申告、最初の仕組みさえ理解してしまえば、毎年のルーティン作業になります。しかもエンジニアなら、Pythonで経費集計を自動化して、申告作業そのものを一気にラクにできるんですよね。
今回はフリーランスエンジニア向けに、青色申告の基礎から、Pythonを使った経費集計の自動化まで、まるっと解説していきます!
🧾 青色申告と白色申告、何が違うの?

まずはざっくりした違いを押さえておきましょう。
| 項目 | 青色申告 | 白色申告 |
|---|---|---|
| 特別控除 | 最大65万円(電子申告の場合) | なし |
| 帳簿の種類 | 複式簿記(または簡易簿記) | 簡易な記帳でOK |
| 赤字の繰越 | 3年間繰り越し可能 | 不可 |
| 事前申請 | 必要(開業から2ヶ月以内) | 不要 |
フリーランスエンジニアなら、ほぼ迷わず青色申告一択です。65万円の控除はあまりにも大きいですし、案件が少ない年に赤字が出ても翌年以降に繰り越せるメリットは絶大です。
まだ「青色申告承認申請書」を出していない方は、最寄りの税務署に早めに提出しておきましょう。
📋 フリーランスエンジニアが計上できる主な経費
「経費って何が入るの?」というのも、よくある疑問ですよね。エンジニアが計上できる代表的な経費をまとめました。
- 💻 PC・周辺機器(開発用マシン、モニター、キーボードなど)
- 🌐 通信費(インターネット回線、スマホ代の業務按分)
- 📚 書籍・学習費(技術書、Udemyなどのオンライン講座)
- ☁️ サービス利用料(AWS・GCP・GitHub・ChatGPT Plusなど)
- 🏠 家賃の按分(自宅で作業している場合、業務利用分)
- 🚃 交通費(打ち合わせのための移動)
- 📝 外注費(デザイナーや他エンジニアへの業務委託)
「按分(あんぶん)」というのは、プライベートと業務で共用しているものを割合で分けることです。たとえば自宅の家賃なら「仕事で使っている部屋の割合」、スマホ代なら「業務利用の時間の割合」を根拠にして計上します。
🗓️ 確定申告のざっくりしたスケジュール
毎年の流れはこんな感じです。
- 1月〜2月:1年分の収支を整理・帳簿を締める
- 2月16日〜3月15日:確定申告書を提出(e-Taxなら自宅からOK)
- 3月〜4月:納税 or 還付
ポイントは、日頃から帳簿をこまめにつけておくこと。2月になってから1年分のレシートを掘り起こすのは、本当につらいんですよね…(経験者談)。
🐍 PythonでCSV経費データを自動集計してみよう
ここからが、エンジニアらしい楽しみどころです。
freeeやマネーフォワードなどの会計ツールを使っている方も多いと思いますが、「CSVで出力したデータをさっと集計したい」「カテゴリ別に分析したい」という場面でPythonは強力な味方になります。
想定するCSVの形式
まず、経費データのCSVはこんな形式を想定します。
日付,カテゴリ,内容,金額
2024-01-15,書籍・学習,Python実践入門,3080
2024-01-20,通信費,AWS利用料,1540
2024-02-01,ソフトウェア,GitHub Copilot,1210
2024-02-10,書籍・学習,Udemy講座購入,2400
2024-03-05,交通費,打ち合わせ電車代,550
2024-03-15,通信費,インターネット回線,4500
カテゴリ別に合計を出すスクリプト
まずは基本形です。カテゴリごとの合計金額を集計して表示します。
# expense_summary.py
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv("expenses.csv")
# 日付列をdatetime型に変換
df["日付"] = pd.to_datetime(df["日付"])
# カテゴリ別に合計金額を集計
category_total = df.groupby("カテゴリ")["金額"].sum().sort_values(ascending=False)
print("=== カテゴリ別 経費合計 ===")
for category, total in category_total.items():
print(f"{category:<20} {total:>8,} 円")
# 全体の合計
total_expense = df["金額"].sum()
print("-" * 35)
print(f"{'合計':<20} {total_expense:>8,} 円")
ポイントをまとめるとこんな感じです。
groupby()でカテゴリごとにまとめてsum()で合計を出すsort_values(ascending=False)で金額の多い順に並べる- f文字列の
:>8,で金額を右揃え・3桁区切りで表示する
月別の経費推移を出すスクリプト
次に、月ごとの経費推移も見てみましょう。季節によって出費の波があるので、これを把握しておくと申告の説明もしやすくなります。
# monthly_expense.py
import pandas as pd
df = pd.read_csv("expenses.csv")
df["日付"] = pd.to_datetime(df["日付"])
# 月ごとの列を追加
df["年月"] = df["日付"].dt.to_period("M")
# 月別・カテゴリ別のクロス集計
monthly_pivot = df.pivot_table(
index="年月",
columns="カテゴリ",
values="金額",
aggfunc="sum",
fill_value=0 # データがない月は0で埋める
)
print("=== 月別・カテゴリ別 経費集計 ===")
print(monthly_pivot.to_string())
# 月合計を追加
monthly_pivot["月合計"] = monthly_pivot.sum(axis=1)
print("\n=== 月別 合計 ===")
print(monthly_pivot[["月合計"]])
ここが重要です。
dt.to_period("M")で日付を「年月」に変換するpivot_table()で月×カテゴリのクロス集計ができるfill_value=0でデータのない組み合わせを0で埋めてくれる
年間まとめレポートをテキスト出力するスクリプト
最後に、確定申告の参考資料としてそのまま使えるような、年間まとめをテキストファイルに出力するスクリプトです。
# annual_report.py
import pandas as pd
from datetime import datetime
df = pd.read_csv("expenses.csv")
df["日付"] = pd.to_datetime(df["日付"])
# 対象年を指定(今年のデータを集計)
target_year = 2024
df_year = df[df["日付"].dt.year == target_year]
# カテゴリ別集計
category_total = df_year.groupby("カテゴリ")["金額"].sum()
total = df_year["金額"].sum()
# レポートをテキストファイルに書き出す
output_path = f"expense_report_{target_year}.txt"
with open(output_path, "w", encoding="utf-8") as f:
f.write(f"【{target_year}年 経費集計レポート】\n")
f.write(f"作成日: {datetime.now().strftime('%Y-%m-%d')}\n")
f.write("=" * 40 + "\n\n")
f.write("■ カテゴリ別 経費合計\n")
for cat, amt in category_total.sort_values(ascending=False).items():
f.write(f" {cat:<18} {amt:>8,} 円\n")
f.write("\n" + "-" * 40 + "\n")
f.write(f" {'経費合計':<18} {total:>8,} 円\n")
print(f"レポートを出力しました: {output_path}")
これを実行すると、expense_report_2024.txt というファイルに年間の経費まとめが出力されます。税理士さんに渡す資料としても使えますよ。
💡 経費管理をラクにするためのコツ
スクリプトを作る前提として、日々の記録習慣も大切です。
- 📌 レシートはその日のうちにスマホで撮影する(Googleフォトやfreeeのカメラ機能が便利)
- 📌 クレジットカードを仕事用に1枚専用化する(明細がそのまま記録になる)
- 📌 毎月末に15分だけCSVをチェックする時間を作る
- 📌 「これ経費になる?」と迷ったらメモしておく(後で税理士に確認できる)
仕組みを作ってしまえば、確定申告が「面倒な山」ではなく「毎年の作業」に変わります。
まとめ
今回は、フリーランスエンジニアに向けて青色申告の基礎知識と、Pythonを使った経費集計の自動化をセットで解説しました。
ポイントを振り返るとこんな感じです。
- ✅ フリーランスなら青色申告一択(最大65万円控除)
- ✅ 経費は「業務に関係する支出」を漏れなく記録する
- ✅ PythonのpandasでCSVを集計すれば、申告作業が一気にラクになる
- ✅ 日々の記録習慣が、確定申告の苦労を9割減らす
「確定申告は難しそう」という気持ち、少しでも「なんとかできそう!」に変われば嬉しいです😊
ぜひ今年の申告から、Pythonで経費集計を自動化してみてください。エンジニアらしい「仕組みで解決する」スタイルで、確定申告を乗り越えていきましょう!
こちらも読まれています
📚 関連商品・おすすめ書籍
※本記事にはアフィリエイトリンクが含まれます。





