カツプロ
ログイン
← 投稿一覧

マネーフォワードのAPIで、毎朝ぜんぶ自動で締める経理をつくった

かつ

かつ

2026/09/23

連携しただけでは終わらない。経理を毎朝、自動で締める。管理システムの今年の着地の画面つき(画面はみほんデータ)

クラウド会計を使っていて、こう思ったことはないでしょうか。「連携したのに、結局まだ手で入力している」と。

銀行やカードをつなぐと、明細は勝手に入ってきます。でも入ってくるのは「いつ・どこで・いくら」まで。それを消耗品費なのか広告宣伝費なのか決める作業は、誰かがやらなければいけません。そこが残るので、結局あとで溜めてしまう。

そこで、その決める作業を毎朝AIに回して、ついでにスプレッドシートと自分の管理システムにも同じ数字を配るところまで作りました。この記事はその記録です。

3行でまとめると

  • 連携で終わらないのは「仕訳にする作業」が残るから。ここをルール表にして、毎朝AIに回すようにした
  • 数字は3か所に同じものを配る。会計・スプレッドシート・自分の管理システム。1か所を直せば全部変わる
  • つまずいたのは計算より「突き合わせ」だった。カードの請求額・入金予定の二重・セルの位置。この3つで何度も数字が狂った

何が自動にならないのか

クラウド会計の「連携」でできるのは、ここまでです。

  • 銀行の入出金が自動で入る
  • カードの利用明細が自動で入る
  • それぞれに「未仕訳」という札が付く

残るのはこの作業です。

  • この支払いは経費か、私用か
  • 経費ならどの勘定科目か
  • 家賃のように一部だけ経費にするものは、何割にするか
  • カードの引き落としは経費ではなく未払金の精算。二重に数えないように処理する

1件ずつなら数秒ですが、月に数百件あると数時間になります。そして「あとでまとめてやろう」と思った瞬間に溜まります。

つくったもの:毎朝7時30分に、ぜんぶ走る

自分のパソコンで、毎朝7時30分にこの順番で動くようにしました。

  1. 未仕訳の明細を取ってくる(クラウド会計のAPI)
  2. ルール表に当てはめて仕訳にする。当てはまらないものは登録せず「要確認」に回す
  3. チャットワークに報告する(登録した件数・要確認のもの・今月の売上と経費)
  4. スプレッドシートに書き戻す(口座残高・カード払い・入金の消し込み)
  5. 自分の管理システムに送る(案件と突き合わせて、今年の着地を出す)

肝は2番です。迷ったら登録しない。「要確認」に回してチャットワークで聞いてくる。間違った仕訳が静かに入るより、聞かれたほうが安全だからです。

ルールは1つのファイルにまとめる

判断の基準は、プログラムの中ではなく1つのファイル(JSON)に書いています。こんな形です。

  • 明細の文字で決まるもの:「振込手数料」を含めば支払手数料、「カードサービス」を含めば未払金の精算
  • 何割を経費にするか:家賃は20%、光熱費は50%、スマホ本体は50%
  • 毎月の決まりもの:家賃・光熱費・通信費は金額を計算して登録してよい
  • 触らない口座:個人のカードは自動で記帳しない(仕事の分だけ月末に聞く)

ルールをコードの外に出しておくと、判断を変えたいときにファイルを1行直すだけで済みます。「このサービスは今月から経費にする」と決めたら、そこに足すだけです。

数字は3か所に、同じものを配る

ここが今回いちばん作ってよかったところです。同じ数字を見る場所が3つあります。

  • クラウド会計 ── 帳簿そのもの。確定申告に使う正
  • スプレッドシート ── 口座残高・カード払い・入金待ち・目標。ふだん開くのはここ
  • 自分の管理システム ── 案件と突き合わせて、今年の着地を出す

以前は、会計は会計、シートは手書き、管理システムはまた別の数字、という状態でした。どれが正しいのか分からなくなるし、直すのも3回です。

いまは計算する場所を1つに決めて、そこから3か所へ配るようにしました。前提(生活費・税率・見込み)を書いたファイルを直せば、3か所とも同じ数字に変わります。

管理システムのダッシュボード。目標の進捗バーと残高予測が出ている
管理システムのダッシュボード。毎朝、目標までの進み具合と残高予測が更新される(※画面の数字・取引先名はすべて架空のみほんデータです)

つまずいた3つ

作ってみて分かったのは、難しいのは計算ではなく「突き合わせ」だということでした。3つとも、数字が静かに狂うたちの悪いものです。

① カードの請求額は、明細を月でまとめても出ない

「今月末にカードでいくら引き落ちるか」を出したくて、はじめは明細を月ごとに合計しました。ところが実際の請求額と合いません。

原因は、カードを使った日カード会社が請求に載せる日が違うことでした。月末近くに使った分は、お店からの売上票が届くのが翌月になり、翌月の請求に回ります。

自分の場合、7月末時点の未払金142,319円に対して、実際に8月27日に引き落ちたのは128,864円でした。13,455円ずれます。しかも時間が経っても揃いません(構造的なズレなので)。

帳簿の未払金から計算しても、890円のズレが残りました。いちばん確かなのは、銀行明細に出る「実際に引き落ちた額」です。ただしこれは引き落ちた後にしか分かりません。

そこで、これから引き落ちる分はカード会社の画面で確定額を見て、月1回だけ手で入れることにしました。全部を自動にしようとすると、かえって数字が狂います。

カード払いを月ごとに1行ずつ並べた画面。引き落とし日も入っている
カード払いは「今月末に引き落ちる分」「来月末の分」を月ごとに分けて持つ。引き落とし日を入れておくと残高予測が正しい時点で引かれる(※架空のみほんデータです)

② 入金予定が3か所にあると、二重になる

これから入ってくるお金の予定が、3か所にありました。

  • スプレッドシートの「入金待ち」欄(手書き)
  • 案件管理の「まだ入金されていない項目」
  • 管理システムの「予定収支」(手入力)

同じ仕事が別の場所に書かれていると、合計したときに二重に数えます。しかも厄介なのは、同じ仕事なのに呼び方が違うことでした。シートには担当者の名前で、案件管理には会社名で書いていたのです。

自動で照合させたら、この2つを別物と判定して両方足してしまい、収入予定が約50万円多く出ました。

直した方法は3つです。

  • 案件の取引先名がシートの書き方に入っていれば、同じものとみなす
  • それでも結びつかない呼び方は、対応表をファイルに書く(担当者名と会社名など)
  • 金額が同じというだけでは結びつけない(別の仕事に当たってしまうので)

金額一致だけを信用していたときは、まったく別の案件同士がくっついていました。「金額が同じ」は、同じ仕事である証拠になりません。

③ セルの位置を決め打ちすると、行を1つ足されただけで壊れる

スプレッドシートに書き戻す処理を「C11に口座残高」「C27にカード払い」と位置で指定していました。

ある日、シートに行を挿入したら、書き込み先が全部ずれました。危うく「口座合計」の行を家賃の金額で上書きするところでした。

直し方は単純です。位置ではなく見出しで探す。「楽天カード個人」という文字がある行を探して、その隣のセルに書く。これなら行が増えても追いかけます。

自分だけが触るシートなら位置指定でも動きますが、人が手で触るものは必ず動きます。最初から探す作りにしておくべきでした。

できるようになったこと

毎朝、今年の着地が更新されるようになりました。

  • 今年の売上と経費(帳簿から)
  • これから入る予定のお金と、出ていくお金
  • 来年払う税金(所得税の還付か納税か・消費税・住民税)
  • それを全部引いたあと、12月末に手元にいくら残るか
  • 目標に届くには、あといくら売ればいいか
今年の着地の画面。目標・預金・収入予定・出費予定・税金・手残り・あと必要な売上が並んでいる
「今年の着地」の画面。数字の横には必ず計算の中身を書いている(※すべて架空のみほんデータです)

いちばん変わったのは、「あといくら売れば目標に届くか」が数字で出ることでした。売上を増やすと税金も増えるので、単純な引き算にはなりません。売上100万円あたり、手元に残るのは約82万円。残りは消費税・所得税・住民税に行きます。この計算を毎回やるのは面倒ですが、機械なら毎朝やってくれます。

もう1つ、地味に効いているのが「何もなかった日も通知が来る」ことです。「登録0件・要確認0件」と出る。静かに止まっているのか、本当に何もないのかが区別できます。自動化で怖いのはエラーより静かな停止なので、ここは必ず入れたほうがいいところです。

これからやること

  • カード請求額の入力。カード会社にAPIが無いので、いまは月1回だけ手で入れている
  • 案件管理の金額を正にする。いまは突き合わせの設定で吸収しているが、元を揃えれば設定自体が要らなくなる

まとめ

クラウド会計の連携は、入り口としてはとても良くできています。ただ「連携したら終わり」ではなく、そこから先は自分でつなげられるというのが、今回いちばん伝えたいことです。

APIが開いているので、明細を取ることも、仕訳にすることも、別のシステムに配ることもできます。難しいのは技術よりも、同じものを違う呼び方で持っている場所をどう揃えるかでした。

作るときに効いた考え方は3つです。

  • 判断のルールはコードの外に置く。変えたいときに1行直せば済む
  • 計算する場所は1つに決める。あとは配るだけにする
  • 迷ったら登録しない。聞いてくるほうが安全

クラウド会計のAPIそのものの使い方は、別の記事にまとめています。銀行やカード会社が個人向けにAPIを公開していなくても、クラウド会計を窓口にすれば自分のプログラムからデータを読めます楽天カードや楽天銀行にAPIは無い。でもマネーフォワード経由なら自分のシステムから読めるもあわせてどうぞ。

この記事の著者・監修

カツ
生成AIエンジニア/フロントエンドエンジニア/舞台監督などなど

カツ

カツプロ運営者のカツです! AI・Web関連から、日常のことなど、私目線の回答も交えながらお伝えします!

この記事をシェア

note

スポンサーリンク

コメント(0)

まだコメントはありません。

コメントは Tier 1(有料)の機能です。ログインのうえアップグレードしてください。

こちらの記事も読まれています