会計ソフトを使っていて、「過去数年分の売上推移や得意先ごとの長期的なトレンドを、もっと簡単に比較・分析したい」と感じたことはありませんか?
標準機能では単年度の分析が中心になることが多く、複数年のデータを並べて俯瞰するには少しもどかしさがありました そこで、GAS(Google Apps Script)を使ってマネーフォワードクラウド会計のAPIからデータを自動取得し、さらに生成AIのGeminiを連携させて、自分専用の「売上分析AIダッシュボード」を開発することに挑戦しました。
この記事では、発想からアプリ完成に至るまでの経緯と、立ちはだかった壁の乗り越え方を共有します。同様の自動化やデータ活用を考えている方のヒントになれば幸いです。
マネーフォワードクラウド会計×GAS×Gemini開発全体像
基本的にノーコード開発です
今回構築したシステムの流れは、大きく分けて以下の4つのステップです。
-
データ取得(マネーフォワードAPI → GAS)
マネーフォワードクラウド請求書API(v3)にアクセスし、請求書(売上)のデータを取得します。
-
データの蓄積(GAS → スプレッドシート) 取得した「請求日」「得意先名」「請求金額」などのデータを、Googleスプレッドシートに書き出してデータベースとして活用します 。
-
グラフによる可視化(GAS Webアプリ)
スプレッドシートのデータを集計し、HTMLとJavaScript(Chart.jsなど)を使ってブラウザ上にグラフを表示します。
-
AIによる分析(GAS → Gemini API)
集計した数年分のデータをGemini APIに送信し、プロの経営コンサルタントの視点で分析・要約させます。
そして、最も重要なことは「ノーコード開発」だということです。

私はエンジニアではないので、わからないことはすべてGeminiに質問し、その回答としてコードを書いてもらいました。最終的には一行も自分でコードを書いていません。
「コード.gs」と「index.html」は全文出力してもらい、それをGASの画面にコピペしただけというやり方です。
ノーコードでちょっとした開発ができるようになったのは生成AIの進化ですね。
立ちはだかるAPI連携の壁と、乗り越えたエラーの数々

開発を進める中で、最も苦労したのは「最初のAPI認証(OAuth2.0)」と「データの全件取得」のステップでした。API連携は、1文字違うだけでも弾かれてしまうシビアな世界です。私がつまずいたポイントとその解決策をご紹介します。
リダイレクトURIの罠

GASのOAuth2ライブラリを使用して認証する際、マネーフォワード側に登録する「リダイレクトURI」の設定でエラーが頻発しました。
-
失敗: Webアプリとしてデプロイした時のURL(末尾が
/execのもの)を設定してしまい、認証エラーになりました。 -
失敗: 正しい形式に直したものの、スクリプトIDに含まれる「I(大文字のアイ)」と「l(小文字のエル)」を見間違えて入力してしまい、「アプリが一致しない」と弾かれました。
-
解決: 目視での確認をやめ、GAS側で
service.getRedirectUri()という関数を実行し、システムが求めている100%正確なURIをログに出力させました 。それをそのままマネーフォワードの設定画面にコピー&ペーストすることで突破できました。
接続先サーバーと権限(スコープ)の相違

マネーフォワードのAPIには、個人用・ビジネス用、また新旧のバージョンが存在します。
-
失敗: ビジネス用のClient IDを取得したのに、古い標準サーバーの入り口(エンドポイント)に接続しようとして拒否されました。
-
失敗: 請求書APIの最新バージョン(v3)に対して、古いバージョンの権限名(スコープ)を指定してしまい、エラーになりました。
-
解決: 接続先のURLをビジネス用のもの(
api.biz.moneyforward.com)に修正し 、スコープを最新の仕様であるmfc/invoice/data.readに設定し直すことで、無事に認証が通りました 。
「最新100件」と「過去の全データ」の統合
APIからデータを取得する際、一度に取得できる件数には上限(100件)があります。過去数年分のデータを遡って取得しようとした際、ページネーション(次ページへの移動)の処理や、日付による絞り込みの指定でうまくデータが取れない現象に悩まされました。
-
解決: APIの検索機能に頼り切るのではなく、運用方針を少し変えました。
-
過去のデータ: マネーフォワードの画面からCSVでエクスポートし、スプレッドシートに一度だけ手動で貼り付ける。
-
日々の新しいデータ: GASを実行するたびに「最新100件」を取得する。
-
データの統合: GAS内で、手動で入れた過去分と新しく取得した最新分を「請求書番号」をキーにして結合させ、重複しているものは自動で上書き・削除して日付順に並べ替える 。
この「手動と自動のハイブリッド方式」を採用したことで、APIの挙動に振り回されず、常に最新の全データが手元に残る安定したシステムを作ることができました。
-
完成したAIダッシュボードの全貌
数々のエラーを乗り越え、ついに実用レベルのダッシュボードが完成しました。
📊 グラフによる直感的な可視化


Webアプリを開くと、スプレッドシートに蓄積されたデータを基に、美しいグラフが描画されます。
-
年度別・月別売上推移:棒グラフ(単月)と折れ線グラフ(累積)を組み合わせることで、今年度と前年度の推移をひと目で比較できるようになりました。
-
得意先別 累積売上ランキング:上位の得意先ごとの売上を、今年度と前年度(同月まで/以降)で色分けして比較できる横棒グラフを実装しました。どの顧客が成長しているかが視覚的にわかります。
✨ GeminiによるAIコンサルティング

さらに、ダッシュボード上に「AIに分析を依頼する」ボタンを設置しました。集計したデータをGemini(Flash-Liteモデル)に送信することで、以下のようなインサイトを得ることができます。
-
全体の推移(月別トレンド):前年と比較した売上の傾向や、特定の月における落ち込みの要因などを要約。
-
得意先別の動向(成長顧客や課題顧客):売上構造に大きく影響している上位の得意先をピックアップし、大幅に伸長した顧客や、落ち込んでいる顧客の動向を分析。
-
総括と今後のアクション:特定月への過度な依存からの脱却、安定性の低い月への下支え強化、優良顧客へのアップセル提案など、次年度以降の持続的な成長に向けた具体的な戦略案の提示。
自作して見えた新しい景色
最初から完璧なシステムを作ろうとすると挫折しがちですが、エラーの原因を一つ一つ探り、少しずつ形にしていく過程は非常に大きな学びになりました。
「マネーフォワードのAPI × GAS × 生成AI」の組み合わせは、状況を可視化するだけでなく、次のアクションを考えるための強力なコンサルタントを手に入れることと同義です。
今回の私の経験が、これから業務の自動化やデータ分析に取り組もうとしている方の背中を少しでも押すことができれば嬉しいです。

この記事を書いた遠田幹雄は中小企業診断士です
遠田幹雄は経営コンサルティング企業の株式会社ドモドモコーポレーション代表取締役。石川県かほく市に本社があり金沢市を中心とした北陸三県を主な活動エリアとする経営コンサルタントです。
小規模事業者や中小企業を対象として、経営戦略立案とその後の実行支援、商品開発、販路拡大、マーケティング、ブランド構築等に係る総合的なコンサルティング活動を展開しています。実際にはWEBマーケティングやIT系のご依頼が多いです。
民民での直接契約を中心としていますが、商工三団体などの支援機関が主催するセミナー講師を年間数十回担当したり、支援機関の専門家派遣や中小企業基盤整備機構の経営窓口相談に対応したりもしています。
保有資格:中小企業診断士、情報処理技術者など
会社概要およびプロフィールは株式会社ドモドモコーポレーションの会社案内にて紹介していますので興味ある方はご覧ください。
お問い合わせは電話ではなくお問い合わせフォームからメールにておねがいします。新規の電話番号からの電話は受信しないことにしていますのでご了承ください。

【反応していただけると喜びます(笑)】
記事内容が役にたったとか共感したとかで、なにか反応をしたいという場合はTwitterやフェイスブックなどのSNSで反応いただけるとうれしいです。
本日の段階で当サイトのブログ記事数は 6,943 件になりました。できるだけ毎日更新しようとしています。
遠田幹雄が利用しているSNSは以下のとおりです。
facebook https://www.facebook.com/tohdamikio
ツイッター https://twitter.com/tohdamikio
LINE https://lin.ee/igN7saM
チャットワーク https://www.chatwork.com/tohda
また、投げ銭システムも用意しましたのでお気持ちがあればクレジット決済などでもお支払いいただけます。
※投げ銭はスクエアの「寄付」というシステムに変更しています(2025年1月6日)
※投げ銭は100円からOKです。シャレですので笑ってご支援いただけるとうれしいです(笑)
株式会社ドモドモコーポレーション
石川県かほく市木津ロ64-1 〒929-1171
電話 076-285-8058(通常はFAXになっています)
IP電話:050-3578-5060(留守録あり)
問合→メールフォームからお願いします
法人番号 9220001017731
適格請求書(インボイス)番号 T9220001017731

