本文へスキップ
Acecore
ブログ一覧に戻る

GitHub Copilot に確定申告を全部やらせてみた ― 仕訳837件から申告提出まで

技術 GitHub Copilot VS Code
GitHub Copilot に確定申告を全部やらせてみた ― 仕訳837件から申告提出まで

確定申告のあらゆる実作業を GitHub Copilot の Agent Mode に全振りしてみた結果、仕訳837件の分類から申告書の作成・検証まで VS Code 内で完結。最後の提出だけスマホアプリからマイナンバーカードで認証して送信し、確定申告を完走できました。

この記事では「どこまで Copilot に任せられたのか」「人間は何をしたのか」を包み隠さず記録します。

前提:MF クラウドのデータ連携が土台

最初に断言しておくと、今回うまくいった最大の理由は 日頃からマネーフォワード クラウドのデータ連携を設定しておいたこと です。

確定申告の時期になって慌てて明細を集めるのではなく、以下のサービスを年間通して自動連携させていたため、仕訳データが勝手に蓄積されていました:

  • 事業用銀行口座 — 売上入金、振込手数料
  • 個人用銀行口座 — 住宅ローン、J-Coin Pay、生活費の仕分け
  • ネット銀行 — 社会保険料の口座振替記録
  • 事業用クレジットカード — 通信費、広告宣伝費、旅費交通費、新聞図書費
  • モバイル Suica — 電車・バスの交通費(仮払金方式で二重計上を防止)
  • EC サイト — 消耗品費の購入記録
  • マイナポータル — 年金や生命保険料の控除証明書

この連携のおかげで、決算時点で 837件の仕訳 がクラウド上に溜まっている状態。Copilot の仕事は、この生データを正しく分類して申告書に仕上げることでした。

使った環境

エディタ・AI

  • VS Code — エディタ兼ブラウザ兼ターミナル兼チャット。すべてここで完結
  • GitHub Copilot Agent Mode(Claude Opus 4.6 — 今回の主力モデル。ファイル編集(Markdown の読み書き)、ターミナルコマンド実行、そして Simple Browser 経由の Web 操作を自律的に組み合わせて動く
  • Simple Browser(VS Code 内蔵ブラウザ) — Copilot が MCP(Model Context Protocol)ツール経由で DOM を読み取り、click_element でボタンやリンクをクリック、type_in_page でフォーム入力、read_page でページ全体のテキストを取得できる。Copilot にとっての「目と手」にあたる存在

Web サービス

なぜ Computer Use ではなく GitHub Copilot なのか

画面操作を AI に任せるなら Anthropic の Computer Use のようなスクリーンショットベースのツールもあります。ただ、今回の確定申告で求められたのは「画面を操作する」だけではなく、ファイルを読み書きしながら判断し、その記録を人間と共有する ことでした。

GitHub Copilot Agent Mode を選んだ理由:

  • 人間がログインし、AI が作業する分業ができる — 銀行や会計ソフトには人間がログインしてページを開いておく。そこから先の操作(検索、入力、確認)は Copilot が Simple Browser 経由でやる。Computer Use はデスクトップ全体を AI に渡す設計なので、「ログインだけ人間、あとは AI」という同じ画面上での分業ができない
  • ファイル編集とブラウザ操作が同じ環境で完結する — 方針.md を読んで仕訳の正誤を判断し、不整合チェック.md に結果を書き、そのまま Simple Browser で帳簿を修正する。この一連の流れが VS Code 内で途切れない
  • Markdown ファイルが人間と AI の共有ワークスペースになる — Computer Use はスクリーンショットベースなので、構造化されたナレッジを蓄積・参照する使い方には向かない。Copilot なら .md ファイルを介して「何を根拠にどう判断したか」を双方向でやりとりできる
  • 会話ログがそのまま作業記録になる — 「この控除入れる?」「原票ないからやめとこ」というやりとりがチャット履歴に全部残る。後から判断の経緯を遡れるのは確定申告では特に重要

要するに、画面操作だけなら他のツールでもできるが、人間と AI が同じ画面・同じファイルを共有しながら分業できるのが Copilot Agent Mode の強みです。

ワークフローの核:Markdown ファイル群

Copilot との共同作業において、もっとも重要だったのは Markdown ファイルでナレッジとタスクを構造化した ことです。今回使ったファイル構成:

ファイル役割
方針.md摘要パターン → 勘定科目のマッピングルール(全16セクション)。Copilot が仕訳を分類するときの判断基準
タスク.md確定申告全体の進捗管理ハブ。証憑38件の取得状況をテーブルで✅管理
申請タスク.md申告書入力フェーズの未解決課題と調査メモ。事実と推論を分離して記録
申請タスク_完了・保留.md完了/保留の項目を退避させ、作業中ファイルの肥大化を防止
不整合チェック.md方針 vs 仕訳帳の突合結果レポート。§番号で方針.md の修正箇所を参照
MFレビューレポート.mdBS/PL の数値レビュー。問題 ID(A1, B1 等)と重大度で体系管理
仕訳帳対応表.mdMF 仕訳帳の全837件をカテゴリ別にテーブル化した台帳

Copilot はこれらの .md ファイルを 読んで判断し、書いて記録する。人間もまったく同じファイルを読んで状況を把握する。つまり Markdown ファイルが人間と AI の共有ワークスペースとして機能しています。

Simple Browser のタブを5〜6枚同時に開き、Copilot と相談しながら進める使い方が基本です。

Phase 1:仕訳方針書を Copilot と一緒に作る

仕訳方針の策定

まず最初にやったのは、仕訳の分類ルールを 方針.md に文書化すること。「この取引どの科目にする?」「これは事業用?個人用?」と Copilot と相談しながら、取引パターンごとの勘定科目をまとめていきました。

この方針書の構造がポイントです。各セクションが ### 摘要パターン → 勘定科目 の形式で、Markdown テーブルに摘要・内容・科目を定義。判断に迷うケースは > 注: ブロッククォートで根拠を添えます。MF クラウドの摘要欄は半角カタカナ(例:テスウリョウ)で記録されるため、方針書にもそのまま転記して検索でコピペできるようにしました。

策定した分類ルールは15セクションに及びます:

カテゴリ科目具体例
クライアントからの入金売上高毎月の振込入金
住宅ローン引落事業主貸個人口座からの自動引落
QR コード決済チャージ事業主貸/借個人口座からのチャージ・戻し
口座間送金普通預金事業口座 ↔ 個人口座
ISP・SaaS通信費GitHub、Cloudflare、ChatGPT、Canva 等
Web 広告・SNS 運用広告宣伝費Google Ads、X Premium、SocialDog 等
交通費旅費交通費新幹線、タクシー、テレワークブース
Suica 利用旅費交通費仮払金方式で電車・バスの個別記録
EC 購入消耗品費PC 周辺機器、工具

Phase 2:仕訳帳 837件の分類と不整合チェック

Copilot による全件突合

方針書ができたら、「じゃあ次は帳簿と突き合わせてみよか」という流れで仕訳帳の実データとの照合に入ります。

具体的なやり方:Copilot が Simple Browser で MF クラウドの仕訳帳画面を開き、read_page でページ内容を取得。摘要キーワードでフィルタをかけ、方針.md のテーブルと突き合わせます。食い違いが見つかると 不整合チェック.md にテーブル行を追加しつつ、方針.md の該当セクション(§13 等)を直接編集して修正。「仕訳帳を正として方針.md を修正する」というルールを 不整合チェック.md 冒頭に宣言しているので、Copilot は迷わず方針側を直してくれます。

結果、8件の不整合 を検出:

摘要方針上の科目実際の仕訳対処
SNS プレミアム事業主貸(個人利用)広告宣伝費事業用 SNS なので広告宣伝費が正
デザインツール事業主貸(個人利用)通信費事業用ツールなので通信費が正
AI チャットサービス事業主貸(個人利用)通信費事業用ツールなので通信費が正
モバイルバッテリーレンタル通信費事業主貸個人利用なので事業主貸が正
アプリ課金(複数アプリ混在)一律通信費アプリ別に分解乗換案内→通信費、広告ブロッカー→事業主貸 等
動画広告(しきい値請求)個人利用セクションに配置広告宣伝費方針書の配置ミスを修正
EC 購入(PC 周辺機器)新聞図書費消耗品費科目の誤りを修正
SNS 管理ツール通信費広告宣伝費SNS 運用目的なので広告宣伝費が正

「方針書を作って、帳簿と突合して、齟齬があれば方針を修正」——この作業を Copilot がファイル編集しながら自動で進めてくれるのは、目視で837件並べるのとは次元の違う効率でした。

仕訳帳の全容

最終的に整理された仕訳は以下のような内訳でした:

  • 銀行連携(事業用口座・個人用口座・ネット銀行 計4行)— 売上入金、住宅ローン、口座間送金、
  • クレジットカード連携(三井住友カード 本人名義 + Apple Pay 分離分)— 通信費116件、広告宣伝費21件、旅費交通費24件、新聞図書費27件、個人利用29件 等
  • モバイル Suica 連携 — 電車248件、バス130件、チャージ21件、物販4件
  • EC 連携 — 消耗品費5件
  • AI-OCR・請求書 — 16件

Phase 3:クラウド Box の証憑整理

アップロードと自動読取

「証憑も整理しとこか」ということで、クラウド会計の Box 機能に領収書やカード明細を Copilot 経由でアップロード。AI-OCR で取引日・取引先・金額を自動読取し、不足分は Copilot が手動で補完してくれます。

単票の証憑(領収書1枚1枚)は取引日・取引先・金額まで補完を完了。明細系のドキュメント(カード利用明細一覧、Suica 利用履歴、銀行取引明細など)は、参考資料としてアップロードだけして維持する方針に落ち着きました。

Phase 4:社会保険料の突合 ― 複数サービス横断の真骨頂

「社会保険料の金額ってどうやって確定する?」という相談から始まったパートです。Copilot と話しながら、5つの Web サービスを同時に開いて突合 する方針に落ち着きました。

国民年金保険料

マイナポータル連携で自動取込される分だけでは不十分な場合があります。たとえば配偶者の年金を別口座から納付しているケースでは、連携データに載りません。

こういうとき、Copilot と相談しながら進めた流れ:

  1. 「カード明細で年金の支払い探してみよか」→ Simple Browser で開いて「日本年金機構」で検索、納付額を抽出
  2. 「別の口座からも払ってるかも」→ 家計簿アプリで別口座の出金記録を確認、連携外の引落を発見
  3. 「前後の月も見てみよう」→ 納付パターン(四半期払い・毎月払いなど)を把握
  4. 「じゃあ突合して合計出そか」→ 複数ソースの金額を突合して年間の納付額を確定

ポイントは、1つのサービスだけで完結しないこと。Copilot と「次はどこを見る?」「あっちも確認しとこか」とやりとりしながら複数タブを行き来して裏取りするのがこの Phase の基本パターンです。

健康保険料

ネット銀行の Simple Browser タブを開き、口座振替の記録から保険料の引落を検索します。協会けんぽ・国民健康保険など加入している制度に応じてキーワードを変えて検索し、年間の納付回数と金額を確認します。

自治体への納付(落とし穴)

家計簿アプリに自治体あての納付記録があっても、それが「国民健康保険」「住民税」「固定資産税」のどれなのか、記録だけでは区別がつかないケースがあります。

Copilot と「これ何の支払いやろ?」と一緒に調べた流れ:

  1. 「自治体の納期を調べてみよか」→ 広報や Web サイトで各税目の普通徴収納期を確認
  2. 「納付月と合うか見てみて」→ 照合して税目の候補を絞る
  3. 「同じ時期に他の保険払ってたっけ?」→ 制度の重複がないか検証

それでも納付書の原票がなく税目を確定できない場合は、控除に入れない(安全側に倒す) のが無難です。この「入れる/入れない」の判断は人間が行い、判断材料の調査を Copilot が担当する——という役割分担が重要です。

誤分類の発見

家計簿アプリの自動分類は万能ではありません。実際に、ある支出が「年金保険料」と自動分類されていましたが、Copilot にカード明細で裏取りさせたところ、実態はまったく別の公共料金でした。そのまま鵜呑みにしていたら社会保険料を過大計上するところです。

必ずやるべきこと:家計簿アプリの分類を信頼せず、「この金額ほんまに年金?カード明細で確認してみよか」と Copilot と一緒に裏取りする。サービスを横断した突合こそ、Copilot × Simple Browser の真価です。

Phase 5:各種控除の入力

「次は他の控除もやっていこか」ということで、社会保険料以外の控除も Copilot と一緒に Simple Browser 経由でフォーム入力していきました。

入力した控除

控除の種類概要Copilot の作業
生命保険料控除マイナポータル連携分 + 手入力分フォームのセレクトボックスを操作して1件ずつ入力
地震保険料控除共済・損保の地震保険料金額をフォームに入力
配偶者控除配偶者の収入から合計所得金額を計算給与所得控除を適用した所得金額を算出し、控除額を確認
社会保険料控除年金 + 健康保険(Phase 4 で確定した金額)申告書の社会保険画面で種類を選択→金額入力
扶養控除(16歳未満)控除額には影響しないが住民税に関係基本情報 → 家族や親族 画面で登録状況を確認

検討した上で見送ったもの

「これも控除に入れられる?」と Copilot と検討した上で、「今回は見送ろう」と判断したもの:

  • 住宅ローン控除 — 年末残高証明書が手元にないため見送り
  • 医療費控除 — マイナポータル連携分を確認したが、控除に大きく効く額ではないため優先度低と判断
  • 電気代按分 — 自宅サーバーを事業利用しているが、按分根拠の整理が間に合わず見送り
  • ふるさと納税・iDeCo — 当年は該当なし

Phase 6:ISP 料金の家事按分

ISP(インターネット回線)の月額料金は全額が通信費として仕訳帳に入っていましたが、自宅兼オフィスのため事業利用100%は通りません。

「これどうやって按分する?」と Copilot に聞いたら選択肢を出してくれたので、相談して決めた方法:

  1. 仕訳帳から ISP 関連の全件を検索 → 年間合計を算出
  2. 事業利用の按分率を決定(自宅兼オフィスなら 50% が一般的な目安)
  3. 個別の仕訳は触らず、12/31 付の一括調整仕訳 で「事業主貸 / 通信費」を1本追加
  4. Copilot が仕訳を帳簿に投入

「個別明細を1件ずつ50%にするのか、年末に一括調整するのか」という実務的な選択肢を提示してくれるのも、Copilot との対話の良さです。

Phase 7:申告書の入力と検証

Simple Browser でのフォーム操作

クラウド会計ソフトの申告書画面を Simple Browser で開き、Copilot と会話しながらフォーム入力を進めます。

Copilot が実際にやっている操作は:

  1. read_page で現在のページ構造を取得し、どのメニューをクリックすべきか判断
  2. click_element でサイドメニューや「社会保険」等のリンクをクリックして画面遷移
  3. セレクトボックスは click_element でプルダウンを開き、選択肢を再度 click_element
  4. 入力欄に type_in_page で金額を入力。申請タスク.md に記録済みの金額をそのまま転記
  5. 「保存」ボタンを click_element してフォーム送信

人間側の会話は「社会保険のとこ入れていこか」「国民年金から」「もう1件あるわ」「合計合ってるか第一表見てみよか」程度。具体的なセレクタ指定や操作手順の指示は不要で、Copilot が DOM を読んで自律的に判断します。

ブラウザ操作を自分でやるより楽というだけでなく、この会話のやりとり自体がチャットログに残る のが大きなメリットです。何をどの順番で入力したか、後から遡って確認できます。

第一表・第二表のクロスチェック

「入力終わったし、第一表と第二表ちゃんと合ってるか確認しよか」ということで、整合性を Copilot にチェックしてもらいました:

  • 第一表 — 所得金額、所得控除の合計、課税所得金額、税額
  • 第二表 — 社会保険料控除の内訳、生命保険料控除、配偶者控除、扶養情報

Copilot に両方のタブを読み取らせ、「第二表の内訳合計が第一表の控除額と一致しているか」を確認させます。不一致があればその場で指摘してくれるので、入力ミスの早期発見に有効です。

注意点として、マネーフォワードでは住民税・事業税の画面に16歳未満扶養の入力欄がありません。扶養情報は「基本情報 → 家族や親族」画面で管理されているので、そちらの登録状況を確認しましょう。

Phase 8:申告提出

最終的な提出はマネーフォワード クラウド確定申告のスマホアプリから行います。マイナンバーカードの NFC 読み取りで本人認証し、そのまま申告データを送信。e-Tax を別途開く必要はなく、MF クラウドから直接提出が完結します。

提出後の確認ポイント:

  • 受付日時が記録されているか
  • 受付番号が発行されているか
  • 「送信されたデータを受け付けました」のメッセージが出ているか

これらを Copilot に提出完了画面を読み取らせて確認します。

機密情報の取り扱い

銀行や会計ソフトの画面には当然ながら個人情報が表示されます。Copilot のチャット履歴にこれらが含まれる点は認識しておく必要があります。GitHub Copilot for Business ではコード補完の学習にデータを使用しないポリシーですが、組織のセキュリティポリシーと照らし合わせて判断してください。

人間は何をしたのか

振り返ると、人間がやったことは驚くほど少ない:

  1. 方針の決定 — 「これは経費にする/しない」「按分は50%にしよう」「原票ないから控除には入れんとこ」
  2. Copilot との相談 — 「次はあれやろか」「こっちも確認しとく?」「どうする?」
  3. 最終承認 — 「その数字で OK」「提出してええよ」
  4. 物理操作 — マイナンバーカードの NFC 読み取り(スマホ提出時のみ)

特定の画面を開いたり、具体的な操作手順を指示したりする必要はほとんどありませんでした。「次これやろか」と方向性を示せば、Copilot が画面遷移・検索・入力・検証まで自律的に進めてくれます。

これを可能にしたのは Markdown ファイルの存在です。方針.md に分類ルールがあるから Copilot は仕訳の正誤を判断できるし、申請タスク.md に調査メモがあるから金額の出典を辿れる。人間が「次これ」と言うだけで動けるのは、判断基準と作業記録が .md ファイルとして共有されているからです。

振り返り:次にやるならこうする

今回の進め方を踏まえて、改善できるポイント:

  • 控除証明書もクラウド Box にアップロードしておくと楽 — 今回は手元の紙保管だけだったが、Copilot が入出金記録から金額を特定してくれたので問題なかった。ただ、デジタルデータがあれば Copilot が直接読み取れるのでさらにスムーズになるはず
  • 自治体への納付は税目がわかるようメモを残す — 原票がないと国保・住民税・固定資産税の判別ができない
  • Copilot に渡す方針書を最新に保つ — 方針書が正確なら Copilot の作業精度も上がる
  • .md ファイルの構造をもっと整理する — 今回は作業しながらファイルが増えていったが、最初からファイルの役割分担やフォーマットを決めておけば、Copilot の読み取り精度も上がるし、人間側の状況把握も楽になる

まとめ

今回の確定申告で実感したのは、「データの蓄積」と「AI による実作業の代行」の組み合わせ が非常に強いということです。

マネーフォワードのデータ連携で銀行・カード・Suica の取引データが年間通じて自動蓄積される。確定申告の時期になったら、GitHub Copilot Agent Mode と「次はこれやろか」「こっちも確認しとく?」と会話しながら一緒に進めていく。人間は方針を決めて最終承認するだけだが、その過程は丸投げではなく対話の連続です。

コードを書くだけが Copilot の使い道ではありません。「複数の Web サービスを横断して、データを集めて、整理して、入力して、検証する」——そんなデスクワーク全般を、チャットで会話しながら一緒に片付けられる。Agent Mode × Simple Browser はコーディング以外でも普通に使えます。

Copilot 導入前後の比較

従来の確定申告
  • 複数の Web サービスをブラウザのタブで行き来
  • 金額を目で拾ってスプレッドシートに転記
  • 仕訳の科目分類を1件ずつ手動で確認
  • 控除証明書を手元の封筒から探す
  • 申告書の入力ミスは自分で気づくしかない

Copilot × Simple Browser
  • VS Code 内の Simple Browser で全サービスを一元操作
  • Copilot がページを読み取り金額を自動抽出・集計
  • 方針書と仕訳帳を突合して不整合を機械的に検出
  • クラウド Box やメール内を Copilot がキーワード検索
  • 第一表・第二表のクロスチェックを Copilot が実行

ご相談・ご依頼はお気軽に

記事の内容に関するご質問や、サービスについてのご相談をお待ちしています。