freeeAPI

【freeeAPI×GAS】スプレッドシートのデータから請求書を作成する【請求書一括作成ツール②】

こんにちは、もりです!

クラウド会計ソフトfreeeのAPIを使って、freeeの操作を自動化するシリーズです。

合計2回の連載記事で、先月分の請求書を一括コピーして日付変更する「請求書一括作成ツール」を紹介します。前回の記事はこちら。

【freeeAPI×GAS】請求書データをスプレッドシートに取得する【請求書一括作成ツール①】GASを使って「クラウド会計ソフトfreee」のAPIを操作するシリーズ。指定条件の請求書を取得してスプレッドシートに出力するスクリプトを紹介しています。...

前回の記事では、スプレッドシートに請求書データを出力するスクリプトを作りました。

freee-invoice3-2

 

このスプレッドシートのデータを元にして、freeeAPI経由で新規の請求書を作成します。

 

請求書一括作成(コピー)の流れ
  1. freeeに作成済みの請求書データをスプレッドシートに取得する【API使用】←前回作成
  2. スプレッドシート上で「請求書の日付」を書き換える【手作業】
  3. スプレッドシートのデータをfreeeに送信して請求書を作成する【API使用】←今回はココを作る

freee請求書一括作成ツールとは

freeeに作成済みの請求書データをスプレッドシートに取得し、その日付を書き換えて、freeeに送信します。

操作イメージをご覧ください(1分25秒)※再生しても音は出ません

スプレッドシートのデータをfreeeに送信して請求書を作成する

すぐに使えるツールを無料で配布してます。ご希望の方はこちら(記事の末尾に移動)をご覧ください。今お使いのスプレッドシートに組み込みたい、という方は、次項の手順に沿って作ってみてください。

【事前準備】コピーする請求書データの日付を変更する

freeeAPIからGETリクエストで取得した請求書データを使用して、新規の請求書を作成します。請求書を一から新しく作るのではなく、既存の請求書をコピーするイメージです。

「請求書ID = xxxxxxx の請求書をコピーして、この日付に書き換えてね」という処理をします。

スプレッドシートのA列で「コピー対象」の請求書を選択し、請求日・期日・売上計上日の3つの日付を書き換えます。

※チェックボックスは、スプレッドシートの「挿入」タブ→「チェックボックス」で作成しています

freee-invoice5

【処理の流れ】freeeに作成済みの請求書をコピーする

「freeeに作成済みの請求書ID = xxxxxxx の請求書をコピーして、この日付に書き換えてね」の処理は、下記①~④の流れで作ります。

1件の請求書を作るために、リクエストを2回送信します(①GETリクエストと④POSTリクエスト)

freee-invoice4

【共通処理】取得(GET)と作成(POST)の共通処理

請求書の「取得」と「作成」で共通して使用する変数・関数です。GASのプロジェクト内に記述しておきましょう(前回記事でも紹介済み)

【スクリプト】freeeに作成済みの請求書をコピーして新規作成する

下記スクリプトの「createInvoices」関数を実行すると、スプレッドシートのA列にチェックの入っている請求書をコピーして新規作成します。

【実行結果】

スクリプトの実行結果です。スプレッドシート上で「コピー対象」に指定した行の請求書データが一括コピーされ、新規の請求書【NEW】ができているのが確認できます(ここでは5件の請求書を一括コピー)

freee-invoice6

【注意点】コピーされる行は「通常行」のみ

このツールの仕様では、請求書の各明細行のうち、「通常」の行のみをコピー対象としており、割引・テキスト・源泉税はコピーされません。

freee-invoice7

freeeに作成済みの請求書のデータを「請求書ID = xxxxxxx」と条件指定してGETリクエストで取得したJSONデータでは、数量(qty)のプロパティに ‘0’ が設定されていますが、POSTリクエストではqtyプロパティに 1 以上の数値指定が必要であり、エラーとなってしまうため、「通常行」以外はPOSTリクエストの対象としていません。

独自メニューを追加するスクリプト

スクリプトエディタを開かずに、スプレッドシートからスクリプトを実行できるよう「独自メニュー」を追加しておくとよいでしょう。

【無料】スプレッドシートを配布してます

すぐに使えるスプレッドシート【スクリプト付き】を配布しています。下記のリンクをクリックすると、スプレッドシートが開きます。権限設定は「閲覧のみ」です。コピーしてご利用ください。

[shared]freee請求書一括作成ツール(クリックするとスプレッドシートが開きます)

 

※連携アプリの作成、認証はご自身で行っていただく必要があります。手順は下記記事をご覧ください。

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