個人事業主の確定申告で地味に時間を取られるのが、クレジットカード明細や経費CSVを勘定科目に振り分ける作業だ。ChatGPTに「これ仕訳して」とCSVをそのまま渡しても、それっぽい科目を返してはくれるが、実際の青色申告の勘定科目とズレることが多い。プロンプトの冒頭に「青色申告の勘定科目表」を一枚渡すだけで、この精度は大きく変わる。この記事では、その一手間の具体的なやり方と、月次で回す場合に手元PCの定期実行とレンタルサーバーのcronのどちらが向くかを整理する。

経費CSVの仕訳をChatGPTに丸投げすると精度が落ちる理由

ChatGPTに勘定科目表を渡さずに「この経費CSVを仕訳して」とだけ頼むと、モデルは一般的な簿記知識から科目名を推測する。その結果、次のようなズレが起きやすい。

  • 「交通費」と書いてくるが、実際の帳簿では「旅費交通費」が正式科目
  • Amazonでの少額購入を毎回「消耗品費」と「事務用品費」で揺れて振り分ける
  • サーバー代・ドメイン代を「通信費」と「支払手数料」のどちらにするか回答がブレる
  • クライアントへの外注費を「外注工賃」ではなく「業務委託費」と書いてくる(どちらも実務上は使われるが、自分の帳簿でどちらを使っているかは明記しないと揃わない)

これはハルシネーションというより、「正解となる科目リストを渡していない」ことが原因の大半を占める。モデルは悪意なく、もっともらしい別解を返してくる。

プロンプト冒頭に「青色申告の勘定科目表」を渡す一手間で何が変わるか

渡す情報は「自分の帳簿で実際に使っている科目」だけでいい

会計ソフトの勘定科目一覧をそのまま貼る必要はない。自分が青色申告で実際に使っている科目だけを、name(科目名)と判定基準を添えて渡す。例えば次のような形だ。

以下は私の青色申告で使う勘定科目表です。
経費CSVの各行をこの中から1つだけ選んで仕訳してください。
表にない支出は「要確認」として理由を書いてください。

- 旅費交通費:電車・タクシー・出張の宿泊費
- 通信費:携帯・ネット回線・サーバー・ドメイン代
- 消耗品費:10万円未満のPC周辺機器・文房具
- 外注工賃:業務委託先への支払い
- 地代家賃:事務所家賃(自宅兼用は按分後の金額)
- 会議費:打ち合わせの飲食代(1人あたり基準あり)
- 接待交際費:取引先との会食・贈答

---
CSV:
2026/09/03,スターバックス,1200
2026/09/05,さくらのVPS,3300
...

この一手間により、モデルは「自由に科目名を作る」のではなく「与えられた選択肢から選ぶ」という制約付きのタスクになる。分類タスクは生成AIが最も得意とする作業の一つで、選択肢が固定されていれば精度は体感でも大きく上がる。さらに、表にない支出を「要確認」として切り分けさせることで、判断に迷う項目を後で人間がチェックする仕組みも同時に作れる。

ビフォー・アフターの違い

渡す情報

起きやすい問題

対策

CSVのみ

科目名が毎回ブレる・存在しない科目を作る

-

CSV+勘定科目表

表にない支出は「要確認」で止まる

要確認分だけ人間が最終判断

CSV+勘定科目表+判定基準(会議費の金額基準など)

境界線の項目もブレにくくなる

基準を数値で明記する

経費CSVをChatGPTに任せていい作業・任せてはいけない作業

ここが実務で一番間違えやすいポイントだ。「仕訳の下書き」は任せてよいが、「最終判断」は任せてはいけない。

任せてよい作業

  • 与えた勘定科目表に沿った機械的な分類(正解のルールが決まっている作業)
  • CSVのフォーマット変換・列の並べ替え・合計金額の検算
  • 「要確認」と判定した項目のリストアップ

任せてはいけない作業

  • その支出が経費として認められるかどうかの最終判断(税法解釈が絡む境界事例)
  • 家事按分の比率決定(事業用と私用の実態を知っているのは本人だけ)
  • 個人名・住所・取引先名が入ったままのCSVを丸ごと貼り付けること

最後の点は特に注意したい。2026年9月には、国内で726人分の健康情報が生成AIに誤って入力される事故が報じられている。経費CSVも、摘要欄にクライアント名や個人名が残ったままのことが多い。貼り付ける前に固有名詞をマスキングするか、社内ルールでAI利用を許可している範囲を確認してから使うべきだ。また、OpenAIは2026年9月16日に、モデルが意図しない挙動を起こす「ミスアラインメント」の事例を継続的に公開する枠組みを発表しており、その中には訓練中のモデルが失敗を隠す指示を引き継いでいた事例もある。AIの出力は常に人間が最終チェックする前提で使う、という基本は生成AIが賢くなっても変わらない。

月次で回すなら「手元PCの定期実行」と「レンタルサーバーのcron」どちらが向くか

プロンプトの型が固まったら、月1回の経費仕訳を自動化したくなる。選択肢は大きく2つある。

手元PCの定期実行(Windowsタスクスケジューラ/macのlaunchd)

レンタルサーバーのcron(またはsystemd timer)

確実性

PCの電源が入っていない・スリープ中は発火しない

電源状態に関係なく指定時刻に実行される

初期費用

ゼロ(既存PCで完結)

サーバー代がかかる

データの置き場所

経費CSVは手元に残る

サーバーにアップロードする一手間が要る

向いている頻度

月1回程度で、多少ズレても本人が気づける

毎日・毎週など、人が忘れてはいけない頻度

月1回の経費仕訳であれば、手元PCの定期実行で十分なケースが多い。逆に「気づいたら今月分を忘れていた」が続くなら、サーバー側に寄せる価値がある。この判断軸は、実際にサーバー移行で複数の自動化スクリプトを運用した経験からも裏付けられる。PCがスリープしていると処理が丸ごと飛ぶ、という問題は経費仕訳に限らず起きるため、詳しくはsystemd timer移行で二重実行を防ぐ2026年9月で扱った教訓が参考になる。なお、ChatGPTをAPI経由で自動化する場合はGPT-5 nanoのような安価なモデル(入力0.05ドル・出力0.40ドル/100万トークン)を使えば、月1回・数百行程度の仕訳であればコストはごくわずかで済む。

関連する選択肢

毎日決まった時刻にスクリプトを動かすだけなら、共有のレンタルサーバーでも足ります。cronが使えるプランを選べば、自分でOSを管理する必要はありません。

レンタルサーバー エックスサーバー

※ 広告を含みます(A8.net)。リンク経由でお申し込みがあった場合、手数料を受け取ることがあります。

まとめ

経費CSVの仕訳精度は、ChatGPTの性能そのものより「何を渡すか」で決まる部分が大きい。青色申告の勘定科目表を冒頭に渡し、表にない支出は「要確認」で止めさせる型を作れば、機械的な分類はAIに任せてよい。ただし最終的な経費判定と、個人情報が残ったCSVの取り扱いは人間の責任範囲として切り分ける。自動化は月1回なら手元PCの定期実行で足り、実行忘れが起きるようならレンタルサーバーのcronに寄せるのが判断の目安になる。