Claude Code Media
連載 12/12この記事は「case-studies」シリーズの第 12 回 / 全 12シリーズ全体を見る →
72,291中級

データ照合・突合を Claude Code で自動化、月20時間を1時間に圧縮したモデルケース

公開記事を参考に、経理担当者が月20時間かけていた売掛金・入金明細の手動突合をClaude Codeで自動化するモデルケースを編集部が再構成。pandas活用×差異サマリー自動出力で95%削減を実現する実装手順を解説。

By Claude Code Media 編集部Reviewed by Claude Code Media 編集部

TL;DR

  • 公開記事の手法を参考に、月20時間(1,200分)かかっていた売掛金・入金明細の突合を Claude Code で月1時間(60分)に圧縮したモデルケース(※編集部概算で約95%削減)
  • pandas で CSV 2ファイルを突合し「完全一致 / キー不一致 / 金額差異」の3区分を自動出力、差異行だけを人間が確認するフローに転換
  • fuzzy-wuzzy ライブラリで会社名の表記ゆれ(「株式会社ABC」vs「ABC㈱」)にも対応

Before:手作業のフロー

月次決算期にかかる突合作業は、件数が増えるほど比例して時間が膨らむ典型的な定型業務だ。

① 売掛金台帳・入金明細を Excel に準備(30〜60分)

会計システムから売掛金台帳 CSV をエクスポートし、銀行の入金明細 CSV と並べて Excel に貼り付ける。フォーマットが異なる場合は列を手動で整えるため、この準備だけで1時間かかることもある。

② VLOOKUP で突合(60〜120分)

取引先名と請求番号をキーに VLOOKUP を設定し、一致する入金データを引っ張る。表記ゆれ(「株式会社ABC」「ABC株式会社」「㈱ABC」)があると VLOOKUP が機能せず、手動検索に切り替わる。

③ 差異の目視確認(120〜180分)

一致しなかった行を1件ずつ目視確認し、「入金済みだが消込漏れ」「一部入金」「振込名義ゆれ」などを分類してメモする。件数が多い月は半日以上かかる。

④ 差異リストの報告・承認(30〜60分)

確認した差異を上長・決算担当者にメールで報告し、承認を待つ。

月間合計: 月次処理が2〜3回に分かれると**月20時間(1,200分)**を超えることも多く、月末の経理担当者を疲弊させていた。


After:Claude Code 導入後のフロー

① CSV を所定フォルダに配置(2分)

会計システムから売掛金台帳と入金明細を CSV でエクスポートし、data/ フォルダに保存する。

② Claude Code に一言指示(10秒)

data/ の売掛金台帳と入金明細を突合してレポートを出して

③ 自動突合処理(2〜3分)

Claude Code が pandas を使って以下を実行する:

  1. 完全一致行の抽出 — 取引先名・金額・日付が一致するものをリスト化
  2. キー不一致行の検出 — 片方にしか存在しない取引(計上漏れ・入金漏れ候補)
  3. 金額差異のある行の抽出 — 取引先名は一致するが金額が違う行
  4. 差異サマリーの生成 — 件数・金額合計を集計

出力例(自動生成されるレポート):

## 突合レポート: 2026年6月分

### ✅ 完全一致: 87件(¥12,450,000)
一致率: 89.7%

### ❌ キー不一致
- 売掛金台帳のみ: 5件(¥830,000)
  - 株式会社田中商会 ¥250,000 (請求番号: INV-20260601)
  - 有限会社山本工業 ¥180,000 (請求番号: INV-20260615)
  (他3件)

- 入金明細のみ: 3件(¥420,000)
  - TANAKA SHOKAISAMPLE ¥250,000 ← 表記ゆれ候補あり(類似度92%)

### ⚠️ 金額差異: 2件
- 鈴木商事㈱: 請求¥500,000 / 入金¥450,000(差異: -¥50,000)
- ○○コンサルティング: 請求¥300,000 / 入金¥600,000(差異: +¥300,000 ← 要確認)

### 差異合計: ¥1,250,000(要確認)

④ 差異のみ確認(40〜50分)

自動抽出された「キー不一致」「金額差異」の行だけを確認する。全件目視が不要になり、確認コストが大幅に下がる。

月間合計: 差異件数の確認のみで**月1時間(60分)**に圧縮。削減した時間は財務分析やキャッシュフロー予測に充てられる。


実装ステップ(コピペで動く)

1. CLAUDE.md の準備

プロジェクトルートに CLAUDE.md を作成し、突合エージェントの設定を記述する。

# データ照合・突合エージェント設定

## ファイル構成
- `data/urikake_YYYYMM.csv` — 売掛金台帳 CSV(会計システムからエクスポート)
- `data/nyukin_YYYYMM.csv` — 入金明細 CSV(銀行からエクスポート)
- `output/taigo_report_YYYYMM.md` — 突合レポート(自動生成)
- `output/taigo_report_YYYYMM.xlsx` — Excel レポート(自動生成)

## 突合キー設定
- 主キー: 取引先名(表記ゆれ対応に fuzzy-wuzzy を使用、閾値80%)
- 副キー: 金額、日付(±3営業日の許容あり)

## 出力区分
1. 完全一致(自動消込候補)
2. キー不一致(計上漏れ・入金漏れ候補、手動確認必須)
3. 金額差異(一部入金・過剰入金候補、手動確認必須)

## 品質ルール
- 差異金額が ¥10,000 未満は「軽微差異」として別集計
- 金額が 2倍以上の乖離は「⚠️ 要緊急確認」でハイライト
- 最終的な消込判断は経理担当者が行う(自動消込は行わない)

2. Subagent の作成

.claude/agents/data-taigo.md にデータ突合専用のサブエージェントを定義する。

---
name: data-taigo
model: claude-haiku-4-5
description: 売掛金台帳と入金明細CSVをpandasで突合し、完全一致・キー不一致・金額差異を3区分で集計するデータ照合エージェント
---

## ミッション
月次の売掛金・入金突合を自動化し、経理担当者が差異確認のみに集中できる環境を作る。

## 入力
- data/ フォルダ内の最新の売掛金台帳・入金明細 CSV(YYYYMM 形式で自動識別)

## 処理フロー
1. CSV 2ファイルを読み込み(Shift-JIS / UTF-8 を自動判別)
2. 取引先名の正規化(全角・半角・株式会社/㈱の統一)
3. fuzzy-wuzzy で類似度80%以上の候補を提示
4. pandas でキー突合・金額比較
5. 3区分(完全一致/キー不一致/金額差異)にリスト化
6. Markdown + Excel レポートを output/ に保存

## 品質ルール
- 処理完了後に件数・金額サマリーを必ず出力する
- 類似度候補は「類似度XX%」を明記して人間が判断できるようにする
- 自動消込は行わない(レポート出力のみ)
- エラー(文字化け・列名不一致など)は処理中断して原因を日本語で報告する

3. Hook の組み込み

.claude/hooks/post-taigo-report.sh を作成し、レポート生成後に経理担当へ通知する。

#!/bin/bash
# データ突合レポート完了後の通知 Hook

REPORT_FILE="$1"
if [[ "$REPORT_FILE" == output/taigo_report_*.md ]]; then
  # 差異件数を集計
  DIFF_COUNT=$(grep -c "❌\|⚠️" "$REPORT_FILE" || echo 0)
  PERIOD=$(echo "$REPORT_FILE" | grep -o '[0-9]\{6\}')
  
  # Slack 通知
  curl -s -X POST "$SLACK_WEBHOOK_URL" \
    -H "Content-Type: application/json" \
    -d "{
      \"text\": \"📊 ${PERIOD} 突合レポート完了\n要確認件数: ${DIFF_COUNT}件\nレポート: ${REPORT_FILE}\"
    }"
fi

4. 動作検証

# テスト用サンプル CSV を作成
cat << 'EOF' > data/urikake_202606.csv
取引先名,請求番号,金額,請求日
株式会社田中商会,INV-001,250000,2026-06-01
有限会社山本工業,INV-002,180000,2026-06-15
鈴木商事株式会社,INV-003,500000,2026-06-10
ABC株式会社,INV-004,300000,2026-06-20
EOF

cat << 'EOF' > data/nyukin_202606.csv
振込名義,金額,入金日
タナカショウカイ(カ,250000,2026-06-05
YAMAMOTO KOGYO,180000,2026-06-18
鈴木商事㈱,450000,2026-06-12
(株)ABC,300000,2026-06-22
EOF

# 突合を実行
data/ の売掛金台帳と入金明細を突合してレポートを出して

# レポートを確認
cat output/taigo_report_202606.md

「タナカショウカイ(カ」が「株式会社田中商会」に類似度マッチ、「鈴木商事㈱」で¥50,000の差異検出が表示されることを確認する。


KPI 変化(編集部によるモデルケース試算)

下表は引用元記事を参考に編集部が一般的なケースとして試算した想定値です。実測値ではありません。

指標BeforeAfter削減
月間突合工数1,200 分60 分約95%(※編集部概算)
差異検出漏れ率(想定)目視に依存全件自動スキャンで低減
確認対象件数全件(100%)差異行のみ(〜10%)約90% 削減

発展:会計システムとの直接連携

会計システム(freee / マネーフォワード クラウド会計)が API を提供している場合、CSV エクスポートを省略して Claude Code からデータを直接取得できる。さらに、突合結果の「完全一致行」を API 経由で自動消込するフローも構築可能だ(書き込み権限の設定が必要)。

また、売掛金だけでなく買掛金・立替金の突合にも同じエージェントを転用できる。キー列と許容差異の設定を変更するだけで、あらゆるマスタ突合業務に対応する汎用突合エンジンとして活用できる。


引用元

本記事は上記の公開記事で示された手法を参考に、編集部が一般的なモデルケースとして再構成したものです。記事内の数値は引用元記事に基づく編集部の概算であり、引用元著者・所属企業の公式な実績値を示すものではありません。

関連記事

この記事の著者

claude-code-media 編集部Claude Code 専門編集チーム

Claude Code の非エンジニア向け業務効率化メディア『claude-code-lab.jp』を運営。フリーランス・中小企業・個人開発者向けに、実装テンプレ・業務自動化テクニック・Vibe Coding 入門を配信。

Claude Code 完全ガイドVibe CodingAI 業務効率化非エンジニア向け AI 教育MCP(Model Context Protocol)
ByClaude Code Media 編集部

AI支援で執筆 — 本記事は Claude Code エージェントによる執筆支援を受け、編集部が事実確認・編集を行っています。 数値・引用元は記事更新日時点で確認済みですが、最新情報は各公式サイトでご確認ください。

Related

続けて読む

すべての記事 →