Money Forward クラウド請求書のデータを「GAS(Google Apps Script) + スプレッドシート」で取得、作成する方法の紹介

Home > TECH BLOG > Money Forward クラウド請求書のデータを「GAS(Google Apps Script) + スプレッドシート」で取得、作成する方法の紹介
公開日:2022年11月6日 更新日:2022年11月9日

記事概要


MF(Money Forward)クラウド請求書のデータを「GAS(Google Apps Script) + スプレッドシート」で取得、作成する方法を紹介します。
この記事のキッカケですが、とあるお客様がスプレッドシートの商談情報から、MF(Money Forward) クラウド請求書の見積書と請求書をコピー&ペーストで作成しているので、「コピー&ペースト作業をGASで自動化できたら便利!」と考えて記事にしてみました。

まずはデモ動画をご覧ください!


動画目次

00:00 MFクラウド請求書にてアプリを作成する。
00:18 認証情報(ClinetID、Client Secret)をスプレッドシートに転記する。
00:27 認証情報を使って、アプリ(GAS)をMFに認証する。
00:51 MFクラウドの請求書一覧データを取得し、スプレッドシートに登録する。
01:06 スプレッドシートの請求書データをMFクラウドに登録する。

デモ動画

Money Forwardクラウド請求書とGAS(Google App Script)連携のデモ

デモ動画のスプレッドシートとGASの取得方法


自分のGoogleドライブにスプレッドシートをコピーする必要があるので、以下、手順を実施してください。
  1. 【公開サンプル】マネーフォワード請求書API連携のスプレッドシートを開きます。
  1. 自分のGoogleドライブにファイルのコピーを作成します。
    1. メニュー > ファイル > コピーを作成
  1. 「Apps Script」をクリックします。
    1. メニュー > 拡張機能 > Apps Script
    2. AppScriptメニュー
      AppScriptメニュー
  1. GASがエディタが開きます。
  1. API連携のメニューを表示するためのトリガーを設定します。
    1. API連携のメニューを表示するためのトリガーを設定
      API連携のメニューを表示するためのトリガーを設定
    2. トリガー > 「トリガーを追加」をクリック
        • 実行する関数:「onOpen」
        • 実行するデプロイ:「Head」
        • イベントのソース」:「スプレッドシートから」
        • イベントの種類:「起動時」
       
  1. 【公開サンプル】マネーフォワード請求書API連携のスプレッドシートを再度開いて、「MF請求書API連携」がメニューに表示されたらOKです!

MFクラウドとスプレッドシートの連携を体験してみよう


上記、デモ動画の手順にしたがって、MFクラウドとスプレッドシートの連携の手順を解説します!

1. MFクラウド請求書にてアプリを作成する

  1. MFクラウド:設定 > API連携β(開発者向け)
  1. MFクラウド:「新規作成」をクリック
  1. GAS:スクリプトIDを取得する
  1. MFクラウド:新規アプリケーションを作成する
    1. 名前:MF連携テスト
    2. RedirectURI:https://script.google.com/macros/d/{SCRIPT ID}/usercallback
      1. {SCRIPT ID}の部分をGASからコピーしたスクリプトIDに置き換える
    3.  スコープ:write

2. 認証情報(ClinetID、Client Secret)をスプレッドシートに転記する

  1. スプレッドシート:MFで取得したClientIDとClient Secretをスプレッドシートに入力する

3. 認証情報を使って、アプリ(GAS)をMFに認証する

  1. スプレッドシート:メニュー > MF請求書API連携 > 「アプリを認証する」をクリックする
  1. スプレッドシート:認証URLをコピーする
  1. Webブラウザ:URLバーにコピーした認証URLを貼り付ける
  1. MFクラウド:アプリケーションを承認する

4. MFクラウドの請求書一覧データを取得し、スプレッドシートに登録する

  1. スプレッドシート:メニュー > MF請求書API連携 > 見積書 > 「一覧を取得する」をクリック
  1. スプレッドシート:MFクラウドの請求書一覧データが、「請求書」「請求書_明細」に分けて登録される。

5. スプレッドシートの請求書データをMFクラウドに登録する。

  1. スプレッドシート:「請求書」と「請求書_明細」に新規作成するデータを入力する
    1. 請求書と請求書明細のデータは、「請求書番号」で関連付けされる
  1. スプレッドシート:メニュー > 請求書 > 「作成する」をクリック
  1. スプレッドシート:作成対象の請求番号を入力し、連携のGASを実行する
  1. MFクラウド:請求書が無事にできたことを確認する

スプレッドシートのデータ解説


  • 「請求書」シート
    • 請求書データを管理します。例:請求書番号、部門ID、請求日、支払い期限など。
      • 「請求書」と「請求書_明細」のER図
        「請求書」と「請求書_明細」のER図
  • 「請求書_明細」シート
    • 一つの請求書データに対して、複数の明細データを管理します。例えば、品目名、単価、数量など。
  • 「取引先」シート
    • 取引先データを管理します。
  • 「品目」シート
    • 品目データを管理します。
  • 「見積書」シート
    • 見積書データを管理します
  • 「見積書_明細」シート
    • 見積書_明細データを管理します。
  • 「API設定」シート
    • API認証情報を管理します。例えば、Client ID、Client Secretです。

GAS(Google Apps Script)スクリプトの概要


ファイル

  • BillingsApi.gs
    • getBillings()
      • MFの請求書一覧を取得して、スプレッドシートの「請求」「請求書_明細」に保存します。
    • createBilling()
      • スプレッドシートの「請求」「請求書_明細」から、MFクラウドの請求書を作成します。
  • QuotesApi.gs
    • getQuotes()
      • MFの見積一覧を取得して、スプレッドシートの「見積書」「見積書_明細」に保存します。
    • createQuote()
      • スプレッドシートの「見積」「見積書_明細」から、MFクラウドの見積書を作成します。
  • Main.gs
    • getAuthKey_()
      • スプレッドシートから認証情報を取得します。
    • getMfClient_()
      • MFクライアントのオブジェクを取得します。
    • mfCallback()
      • OAuth認証のコールバック用のメソッドです
    • mfApiAuth()
      • マネーフォワードクラウド請求書APIの認証URLを取得します。
    • getBillings()
      • MFクラウドの請求書一覧を取得して、スプレッドシートの「請求」「請求書_明細」に保存します。
  • Menu.gs
    • onOpen()
      • 「MF請求書API連携」メニューをスプレッドシートの起動時に生成します。
  • PartnersApi.gs
    • getPartners()
      • MFの取引先一覧を取得して、スプレッドシートの「取引先」に保存します。
  • ItemsApi.gs
    • getItems
      • MFの品目一覧を取得して、スプレッドシートの「品目」に保存します。

ライブラリ

  • MoneyfowardInvoiceClient
    • MFクラウド請求API用のGASライブラリです。
    • スクリプトID:1mbq56Ik4-I_4rnVlr9lTxJoXHStkjHYDyMHjmDWiRiJR3MDl-ThHwnbg

スプレッドシートから請求書を作成するニーズってあるの?


スプレッドシートから請求書を作成するニーズは大いにあると考えてます。
現状、企業の請求書の作成方法は、「エクセルなどの表計算ソフト」が50.1%との調査結果が報告されています。また、請求業務の課題は、1位が「請求書の作成に時間がかかる」30.0%と報告されております。(https://corp.moneyforward.com/news/release/service/20210527-mf-press/, 『マネーフォワード クラウド』、「請求業務についての課題調査」を実施 より参照)
つまり、スプレッドシートなどの表計算ソフトで請求書を多くの企業が作成していて、その表計算ソフトから請求書を作成する業務に多くの時間が裂かれているという現状がわかります。

まとめ


Money Forward クラウド請求書データを「GAS + スプレッドシート」で取得、作成する方法の紹介はいかがだったでしょうか?
スプレッドシートに集計した請求情報を、MFクラウド請求書にコピー&ペーストの手作業で請求書を作成している企業様がおりましたら、「その作業、GASで自動化できるかも!?」と実感していただき、GASによる請求書作成の自動化を検討してみてはいかがでしょうか?

GAS(Google Apps Script)によるシステム開発


弊社ではGASによるシステム開発受託を承っております。
ご興味があれば、「日程調整画面」から相談のご予約お願いします。

関連ブログ