← 一覧に戻る

Zaim 移行運用設計

2026年5月3日 更新

一言でいうと

MoneyForward を Zaim に移行して、Claude Code で支出を分析できる体制を作る

なぜこれが必要なのか

MoneyForward ME はデータの API(プログラムから操作するための窓口)提供が限定的で、Claude Code と連携した自動分析ができない。Zaim は公式 API が開放されているため、pyzaim(Zaim API の Python 向けライブラリ)を使えば「先月どのカテゴリに一番使ったか」「交通費を自動計上する」といったことをプログラムで実現できる。

このまま放置すると、家計簿は「見るだけ」ツールのままで、支出データを活用した判断改善につながらない。移行を今やる理由は、ソニー銀行・楽天銀行・Amazon・楽天の4サービスが Zaim で自動連携できると確認できたから。

運用フロー全体図

サービス別に取り込み経路が分かれる。

ソニー銀行 / 楽天銀行 / Amazon / 楽天カード 自動
Zaim 口座連携を設定
毎日自動同期
Zaim 家計簿に反映

設定は一回だけ。以降は何もしなくてOK(月1回アプリを開けば90日停止を防げる)。

PayPay 月1手動
アプリで前月分CSV申請
CSV 保存
Zaim ファイル入力

2025年2月から公式でCSVダウンロードが可能になった。毎月1日に実施。

商工中金ダイレクト 健人確認待ち

CSV出力できるかどうかで対応が分岐する(後述)。

Suica j-20260503-001 で実装中
suica-browser スキル
CSV 出力
Zaim インポート

スキル完成後に月1回実行するフロー。本ジョブでは設計のみ。

Zaim アカウント設定手順(スマホで実施)

ソニー銀行・楽天銀行・Amazon・楽天カードの自動連携を設定する。

1 Zaim アプリをダウンロード・アカウント作成
App Store / Google Play で「Zaim」と検索してインストール。メールアドレスで無料登録する。
2 口座連携を追加
右下「口座」タブ → 「口座を追加」をタップ → 各サービス名で検索して追加。ネットバンキングと同じ ID/パスワードで認証する。
3 連携後の動作確認
翌日〜翌々日にアプリを開いて前日の明細が自動取得されているか確認。取得されていなければ「口座」→ 対象口座 → 「今すぐ更新」をタップ。

無料 vs プレミアム(月440円)の判断基準

初期は無料版で運用する。以下の状況になったときだけプレミアムへの移行を検討。

機能無料プレミアム(月440円)
残高推移の閲覧期間1ヶ月分全期間
データダウンロード期間2年前まで10年前まで
自動連携(長期未ログイン時)90日でデータ取得停止継続取得
カテゴリカスタマイズ不可

商工中金ダイレクトの取り込みフロー

Zaim の自動連携対象外。健人が商工中金ダイレクトにログインして「CSV出力できるか」を確認してから、以下の2分岐のどちらかを実施する。

分岐A: CSV ダウンロードができる場合

月末に商工中金ダイレクトにログイン → 取引明細 → CSVダウンロード → Zaim の「ファイル入力」からインポート。これで完結する。

商工中金の CSV と Zaim が要求するフォーマットが違う場合は整形スクリプト(変換プログラム)が必要になるが、それは次のジョブで対応する。

分岐B: CSV ダウンロードができない場合

月末に商工中金ダイレクトの明細画面をスクリーンショット → Telegram で秘書に「商工中金明細」とコメントつきで送信 → 秘書が OCR(画像のテキストを自動で読み取る技術)で CSV 化 → Zaim にインポート。

PayPay の取り込みフロー(月次ルーティン)

2025年2月から公式アプリで CSV ダウンロードができる。

1 PayPay アプリで取引履歴を開く
ホーム画面上部の「取引履歴」をタップ。
2 CSV ダウンロード申請
右上の「取引履歴のダウンロード」ボタン → 期間(前月1日〜末日)を選択 → 「ダウンロード申請をする」をタップ。数分後にリンクが届く。
3 Zaim にインポート
Zaim アプリ → 「ファイル入力」→ PayPay の CSV を選択。文字化けする場合は PC の Excel で「テキストまたはCSVから」を使い、UTF-8 で開く。

pyzaim 統合環境のセットアップ

Claude Code から Zaim の支出データを読み書きするための環境を準備する。

Step 1: Zaim 開発者登録(ブラウザ)

  1. https://dev.zaim.net/ を開く
  2. 「サインアップ」→ Zaim アカウントでログイン
  3. 「アプリを登録する」→ アプリ名(例: kento-home-analysis)と説明を入力
  4. 「コールバックURL」に http://localhost:8080 を入力
  5. 登録後に「Consumer ID」と「Consumer Secret」が発行される → メモに控えておく(絶対に人に見せない・GitHubにあげない

Step 2: pyzaim をインストール(Mac のターミナルで実行)

ターミナル(端末)とは Mac に最初から入っているアプリで、コマンドを打ち込む黒い画面のこと。Spotlight(⌘+Space)で「ターミナル」と検索して開く。

pip3 install pyzaim

Step 3: サンプルスクリプト(月次集計)を実行

保存先: ~/zaim-scripts/monthly_summary.py に作成済み。実行方法:

export ZAIM_CONSUMER_ID="ここに Consumer ID を貼り付け"
export ZAIM_CONSUMER_SECRET="ここに Consumer Secret を貼り付け"
python3 ~/zaim-scripts/monthly_summary.py

初回はブラウザが自動で開いて Zaim のログイン画面が表示される。ログインして「許可する」を押すと認証完了。次回以降は環境変数をセットしてスクリプトを実行するだけ。

出力イメージ:

集計期間: 2026年05月01日 〜 2026年05月02日
--------------------------------------------------
カテゴリ             金額         件数
--------------------------------------------------
食費               ¥    32,400  14件
交通費             ¥    12,800   8件
日用品             ¥     8,200   4件
--------------------------------------------------
合計               ¥    53,400

健人の手動作業まとめ

毎月やることと、初回だけやることを整理した。

初回だけ(今すぐやる)

  • Zaim アプリをインストール
  • ソニー銀行・楽天銀行・Amazon・楽天カードの口座連携を設定
  • 商工中金ダイレクトでCSV出力できるか確認 → 秘書に報告
  • dev.zaim.net で開発者登録して Consumer ID を取得
  • ターミナルで pyzaim をインストール

毎月1回(月初に)

  • PayPay アプリで前月分 CSV をダウンロードして Zaim にインポート
  • 商工中金の明細を確認(CSV or スクショを秘書に送信)
  • Zaim アプリを開いて全口座が同期されているか確認
  • 月次集計スクリプトを実行して支出チェック

次フェーズの別ジョブ起票候補

商工中金 CSV 整形スクリプト

商工中金のCSVフォーマットをZaimの入力フォーマットに変換するPythonスクリプト。分岐Aが確定してから起票。

商工中金スクショ OCR スキル化

分岐Bの場合、秘書が画像を受け取ってOCRでCSVを返す処理を自動化する。秘書セッションのRead OCRで実現できる可能性あり。

pyzaim ベースの自動入力スクリプト群

Suica交通費の自動計上、定額支出(家賃・サブスク)のテンプレ入力など。j-20260503-001 の Suica スキル完成後に着手。

MF 過去データ移行

MoneyForwardに蓄積されている過去データを部分移行するか諦めるか、健人の判断待ち。移行する場合は MF の CSV エクスポートから Zaim フォーマットへの変換が必要。

月次レポート自動生成

pyzaim で支出集計 → Claude Code が分析コメントを追加 → Telegram に送信。生活ダッシュボードPJとの統合。

ポイント・補足

Zaim 連携設定はすべて公式アプリ内で完結する。パスワードは Zaim のサーバーに保管され、銀行に直接アクセスする仕組み(スクレイピング)ではない。セキュリティ面では MoneyForward と同等の安全性。

pyzaim(GitHub: liebe-magi/pyzaim)はスター17・2025年3月更新のスモールライブラリ。Zaim API 向けとしては最もメンテされている選択肢だが、何か問題が起きたら公式 API ドキュメント(https://dev.zaim.net/)を見て直接 HTTP リクエストを書く方法もある。

Consumer ID / Secret は絶対に人に見せない。Gitリポジトリにも含めない。ターミナルの環境変数(一時的に端末内だけに保存する仕組み)として使うのが安全。

商工中金CSV可否の確認は健人だけが実機を持っているため確認待ち。確認できたら秘書に「CSV出力できた」または「できなかった」と送ると次のジョブが自動的に起票される。

📝 質問モード — テキストを選択してね
✓ 質問を送信しました