GASで請求書PDFを一括作成|取引先の一覧からボタン1回で全社分を保存する

要約
毎月の請求書づくりを、GoogleスプレッドシートとGoogle Apps Script(GAS)で自動にする方法。取引先の一覧から1社ずつ請求書PDFを作り、Googleドライブのフォルダへまとめて保存します。コードをそのまま貼って使えます。
意見はこのエリアに表示されます
アイキャッチ画像

この記事でできること

毎月、取引先ごとに請求書をコピーして、宛名と金額を書き換えて、PDFにして保存する。この作業を、Googleスプレッドシートのボタン1回で終わらせる方法を紹介します。

使うのは、Googleスプレッドシートと、その中で動く Google Apps Script(GAS)だけです。追加の料金はかかりません。

  • 取引先の一覧から、1社ずつ請求書のPDFを作る
  • PDFは「2026年10月_請求書_〇〇商店.pdf」のような名前で、Googleドライブのフォルダにまとめて保存
  • 取引先が40社でも、待つのは数分

用意するシート

スプレッドシートに、シートを2枚つくります。

1枚目「請求先」

1行目は見出し、2行目から取引先を1社1行で書きます。

A:会社名B:品目C:数量D:単価
〇〇商店10月分 配送業務1120000
△△食堂10月分 システム保守115000

2枚目「請求書」

印刷したときの見た目どおりに、請求書のひな形を作ります。この記事のコードでは、次のセルに値を入れる前提です(場所はあとで自由に変えられます)。

セル入るもの
B3宛名(〇〇商店 御中)
F2発行日
B8品目
D8数量
E8単価
F8金額(=D8*E8 の式を入れておく)

小計・消費税・合計も、F8 を使った式にしておけば自動で計算されます。

保存先のフォルダを決める

Googleドライブに「請求書」などのフォルダを作り、開いたときのURLの最後の部分(folders/ のあと)をコピーしておきます。これがフォルダIDです。

スクリプトを貼る

スプレッドシートの「拡張機能 → Apps Script」を開き、次のコードを貼り付けます。1行目の FOLDER_ID だけ、さきほどのフォルダIDに書き換えてください。

動かしてみる

  1. Apps Script の画面で makeInvoices を選んで「実行」を押します。
  2. 初回だけ「承認が必要です」と出るので、自分のGoogleアカウントを選んで許可します(スプレッドシートとドライブを読み書きするための許可です)。
  3. フォルダを開くと、取引先の数だけPDFが並んでいます。

2回目からは、スプレッドシートを開き直すと上のメニューに「請求書 → 今月の請求書を作る」が出るので、そこから押すだけです。

つまずきやすいところ

  • PDFの中身が前の会社のままになる:SpreadsheetApp.flush() を消すと起こります。値を書き込んでからPDFにする前に必ず入れてください。
  • 途中で止まる(429エラー):PDFの書き出しを短い間隔で続けると、Google側の制限にかかります。Utilities.sleep の待ち時間を長くしてください。
  • 6分で止まる:GASは1回の実行が6分までです。取引先がとても多いときは、何回かに分けて動かす作りにします。
  • セルの場所が違う:ひな形のレイアウトを変えたら、コードの B3 F8 などもそろえて書き換えます。

ここから広げられること

  • 作ったPDFを、取引先ごとのメールアドレスへ自動で送る(GmailApp.sendEmail に添付)
  • 品目を複数行にする、源泉徴収の行を足す
  • 入金があったら一覧に「入金済み」と付ける

この記事は、テマヘラシの原が書きました。請求書のほか、給与の計算、シフト表、日報アプリなど、お店や会社のやり方に合わせた仕組みを作っています。「うちの場合はどうなる?」というご相談は無料で承っています。

Explore More
関連記事はありません。
Trends
トレンドはありません。