Google Apps Script

【freeeAPI×GAS】取引先別の指定期間のPL(売上総利益まで)をスプレッドシートに取得する

こんにちは、もりです!

以前に、「取引先別の売上総利益を簡単にチェックしたい」といったご要望をいただいたので、試しにスクリプトを書いてみました。

この記事で紹介するスクリプトは、たとえば、「取引先Xの、2019年7月~9月の売上総利益は?」といった内容を、ワンクリックでスプレッドシートに出力することができます。

また、これらのパラメータを、スプレッドシート上で自由に指定できます。

  • 事業所
  • 取引先
  • 会計年度
  • 開始月~終了月

 

※この記事で紹介するスクリプトを動作させるには、freeeAPIの連携アプリの作成と認証が済んでいることを前提としています。

詳しくは下記記事をご覧ください。

クラウド会計freeeアイキャッチ
【freee×GAS】GoogleAppsScriptでfreeeAPIと連携認証する(サンプルコードあり)GoogleAppsScriptを使用して、クラウド会計ソフトfreeeのAPI連携が可能です。freee連携アプリの登録方法、認証方法、サンプルコードを紹介しています。...

取引先別の指定期間の売上総利益を取得する

スプレッドシートの構成・動作イメージを併せてご覧ください。

【事前準備】スプレッドシートの準備

スプレッドシートにパラメータ設定する枠を用意します。セルの色は下記の意味をもっています。

  • 黄色セル → パラメータを設定(入力)するセル
  • 水色セル → GASで取得結果が書き込まれるセル

※会社名の指定には、別シートに取引先マスタを用意し、データの入力規則でリスト化しています。

getpartnerpl1

【動画】ツールの使い方デモ

指定の取引先名のPLを取得するイメージです(売上総利益まで)

B列に「事業所・対象期間」を入力して、E1セルから右に取引先名をリストから指定して、スクリプトを実行しています。(この動画では、「会計freee」という名前の独自メニューを作成してスクリプトを実行しています)

【スクリプト】

このスクリプトと同じプロジェクト内に、下記記事の認証スクリプト(認証用の関数)を書いておく必要があります。

【freee×GAS】GoogleAppsScriptでfreeeAPIと連携認証する(サンプルコードあり)

具体的には、「getService」関数と、その中で使われている「Client_ID」「Client_Secret」の値です。

 

そして、下記スクリプトの「getPartnerGrossProfit」関数を実行すると、スプレッドシートに残高を取得できます。

【ちょっと解説】trial_plのJSONデータの構成

このスクリプトは、freeeAPIの「損益計算書の取得(/api/1/reports/trial_pl)」を使用しています。(公式リファレンスはこちら

また、リクエストパラメータの「breakdown_display_type(内訳の表示)」で「取引先: partner」を指定しています。

そのため、レスポンスの形式はこのようになっています。

getpartnerpl2

 

「科目ごと」「取引先ごと」に金額を取得するため、このように二重ループをしています。

  • ループ①:「対象科目」の件数分、ループ(売上高, 期首商品棚卸高, 仕入高, 他勘定振替高(商), 期末商品棚卸高)
  • ループ②:「対象取引先」の件数分、ループ(テスト会社1, テスト会社2, テスト会社3)
getpartnerpl3

 

※同じtrial_plでも、リクエストパラメータの指定によって、レスポンスの形式が異なります。レスポンスをログ出力して読み解いてみましょう。

【参考】取引先IDの確認方法

このスクリプトは、「取引先名」ではなく、「取引先ID」をパラメータとしています。

「会計freee連携アドオン」を使用すると、事業所の取引先一覧をスプレッドシートに出力することができます。

詳細はこちらの記事をご覧ください → ノンプログラミングでOK!「会計freee連携アドオン」でスプレッドシートにデータを取得する