2020-05-22こんにちは、もりです!クラウド会計ソフトfreeeのAPIを使って、freeeの操作を自動化するシリーズです。1ヶ月って早いなぁ...気がつけば月末だ。今月分の請求書を作らないと。同じ取引先宛に毎月請求書を作成する場合、「先月分の請求書をコピーして日付だけ変える」という作業をしている方が多いのではないでしょうか。1~2件ならともかく、量が多いとめんどうくさいですよね。合計2回の連載記事で、先月分の請求書を一括コピーして、かつ、日付も変更できる「請求書一括作成ツール」を紹介します。freee請求書一括作成ツールとは「請求書の一括作成」は、下記の流れで行います。いっても、一から新たに作るのではなく、作成済みの請求書を丸ごとコピーするのがポイントです。図にするとこのようなイメージです。freeeからデータを取ってきて、その日付を書き換えて、freeeに送信します。【動画】freee請求書一括作成ツール操作イメージをご覧ください(1分25秒)※再生しても音は出ませんhttps://moripro.net/wp-content/uploads/2020/05/freee_invoice.mp4freeeに作成済みの請求書データをスプレッドシートに取得するこの記事では、全体の流れのなかで「freeeに作成済みの請求書データをスプレッドシートに取得する【API使用】」の部分を作ります。スプレッドシートの準備スプレッドシートに「請求書データの出力欄」と「パラメータ設定欄」を用意します。発行済みA列の「コピー」は、スプレッドシートの「挿入」タブ→「チェックボックス」で作成しています。freeeAPIから取得した請求書データのなかで「どの行をコピーするか?」を指定するためのもので、次回の記事で使用します。【事前準備】freeeAPI連携アプリの作成とGASの認証この記事で紹介するスクリプトを動作させるには、freeeAPIの連携アプリの作成と認証が済んでいることを前提としています。詳しくは下記記事をご覧ください。【freee×GAS】GoogleAppsScriptでfreeeAPIと連携認証する(サンプルコードあり)GoogleAppsScriptを使用して、クラウド会計ソフトfreeeのAPI連携が可能です。サンプルコードを紹介しています。...また、上記記事の認証スクリプト(認証用の関数)を、GASのプロジェクト内に書いておく必要があります。具体的には、「getService」関数と、その中で使われている「Client_ID」「Client_Secret」の値です。請求書の「取得」と「作成」で共通して使用する変数・関数です。GASのプロジェクト内に記述しておきましょう。下記スクリプトの「exportInvoices」関数を実行すると、条件に一致する請求書データをスプレッドシートに取得できます。'請求書データを取得しました。objInvoice);ui.alert('取得結果','請求書データを取得しました。arr[0].length).setValues(arr);SpreadsheetApp.flush();}【実行結果】スクリプトの実行結果です。条件に一致する請求書データをスプレッドシートに取得できました。次回は、スプレッドシートに取得したこのデータを使用して「請求書の作成」をします。【freeeAPI×GAS】スプレッドシートのデータから請求書を作成する【請求書一括作成ツール2】GASを使って「クラウド会計ソフトfreee」のAPIを操作するシリーズ。スプレッドシートのデータをfreeeAPI経由で送信して請求書を一括作成するスクリプトを紹介しています。もりさんのプログラミング。