GASで請求書送信を自動化する方法:PDF作成・メール送信・履歴管理までの考え方
請求書の作成と送信は、毎月くり返し発生する業務です。
請求データを確認し、請求書テンプレートに転記し、PDFとして保存し、メールに添付し、送信済みかどうかを記録する。ひとつひとつは難しくなくても、件数が増えると確認に時間がかかります。
特に、請求書は金額や宛先の間違いが業務上のトラブルにつながりやすい書類です。送信を急ぐあまり、古いPDFを添付したり、宛先を間違えたり、送信済みの記録を残し忘れたりすると、後から確認するだけでも大きな手間になります。
GAS(Google Apps Script)を使うと、スプレッドシートにある請求データをもとに請求書PDFを作成し、Googleドライブへ保存し、Gmailで送信し、送信履歴を残す流れを自動化できます。
この記事では、GASで請求書送信システムを作るときの考え方を、実務目線で整理します。コードの細かい話ではなく、中小企業の請求業務でどのように役立つのかを中心に解説します。

1. この記事で伝えたいこと
GASで請求書送信システムを作る目的は、請求業務をすべて自動で終わらせることではありません。
大切なのは、毎月くり返している定型作業を減らし、確認すべきところを確認しやすくすることです。
たとえば、請求金額を確認し、請求書をPDFで作成し、顧客ごとにメールを作り、PDFを添付し、送信後に「いつ、誰に、何を送ったか」を記録する。この流れをすべて手作業で行っていると、件数が少なくても気を使います。
GASを使うと、請求データを起点に次のような処理をまとめて行えます。
- 請求データをスプレッドシートで管理する
- 請求書テンプレートへ内容を差し込む
- 請求書をPDFとして作成する
- PDFをGoogleドライブに保存する
- 顧客ごとにメール本文を作る
- 請求書PDFを添付して送信する
- 送信日時や送信先を履歴として残す
もちろん、請求書送信は何でも自動化すればよいわけではありません。請求金額の確定、宛先の確認、送信前の承認など、人が判断すべき工程もあります。
そのため、GASで作る場合は「自動で送る仕組み」だけでなく、「送ってよい状態を確認できる仕組み」として考えることが重要です。
2. 請求書送信でよく起きる困りごと
請求書送信では、作成、保存、添付、送信、記録の作業が何度も発生します。
たとえば、月末に請求一覧を確認し、顧客ごとに請求書を作り、PDFに変換して、メールに添付して送る。送信後は、別の表に送信済みと記録する。この流れを手作業で行っている会社は少なくありません。
この運用でまず起きやすいのが、転記ミスです。
請求金額、請求日、支払期限、顧客名、担当者名などをテンプレートへ手入力していると、数字や日付の間違いが起こります。前月の請求書をコピーして使っている場合、古い月や古い金額が残ることもあります。
PDFの保存ミスも起きやすくなります。
ファイル名の付け方が人によって違うと、後から探しにくくなります。最新版がどれか分からない、顧客名が抜けている、保存先が担当者ごとに分かれている、といった状態になると確認に時間がかかります。
メール送信でもミスが発生します。
宛先を入力し、件名を書き、本文を作り、PDFを添付して送る。この作業を顧客ごとに繰り返すと、添付忘れ、宛先間違い、本文の修正漏れが起きやすくなります。
送信履歴が残りにくいことも問題です。
メールボックスを見れば送信済みかどうか分かる場合もありますが、請求一覧と結びついていないと、どの請求書をいつ送ったのかを確認しにくくなります。担当者が変わったときや、顧客から問い合わせがあったときに、過去の履歴を探すのに時間がかかります。
さらに、送信前の確認ルールが曖昧だと不安が残ります。
「この請求書は確認済みか」「まだ下書きなのか」「送信してよい状態なのか」が一覧で分からないと、送り忘れや二重送信につながる可能性があります。
3. GASで請求書送信システムを作るとできること
GASで請求書送信システムを作ると、請求データの管理からPDF作成、メール送信、履歴保存までを一つの流れにできます。
基本的な流れは、次のような形です。
- スプレッドシートに請求データを用意する
- 請求対象を選ぶ
- テンプレートに請求内容を差し込む
- 請求書PDFを作成する
- PDFをGoogleドライブに保存する
- 顧客宛てのメールを作成する
- PDFを添付して送信する
- 送信結果をスプレッドシートに記録する
請求データは、スプレッドシートで管理できます。
請求月、顧客名、請求金額、支払期限、宛先メールアドレス、担当者、ステータスなどを一覧にしておけば、どの請求が未作成で、どれが送信済みかを確認しやすくなります。
請求書PDFの作成にもつなげられます。
Googleドキュメントやスプレッドシートで請求書テンプレートを用意し、顧客名、金額、明細、支払期限などを差し込んでPDF化する流れを作れます。毎回同じ形式の請求書を作っている場合は、手作業を減らしやすい部分です。
メール送信も自動化できます。
顧客ごとに宛先、件名、本文を組み立て、作成したPDFを添付して送ることができます。本文には顧客名や請求月、支払期限などを差し込めるため、定型文を使いながらも必要な情報を入れられます。
送信履歴を残せることも重要です。
送信日時、送信先、添付したPDFのファイル名、送信結果、エラー内容などをスプレッドシートに記録しておけば、後から確認しやすくなります。単にメールを送るだけでなく、業務の記録として残せる点が便利です。

4. 請求書PDFを作成する基本の流れ
請求書PDFを作るには、まず元になる請求データを整理します。
請求先、請求日、支払期限、請求金額、明細、振込先、担当者など、請求書に必要な項目をスプレッドシートに持たせます。データが整理されていない状態でPDF作成だけを自動化しても、確認作業はあまり減りません。
次に、請求書テンプレートを用意します。
テンプレートは、GoogleドキュメントやGoogleスプレッドシートで作れます。会社名、請求書番号、請求日、顧客名、明細、合計金額、振込先など、毎回変わる部分を差し込みできる形にしておきます。
GASでは、対象行のデータを読み取り、テンプレートに差し込み、PDFとしてGoogleドライブに保存する流れを作ります。
このとき、ファイル名のルールを決めておくと後で探しやすくなります。たとえば、請求月、顧客名、請求書番号を組み合わせて保存すれば、一覧からもドライブからも確認しやすくなります。
PDFを作成したら、そのPDFの保存先URLやファイル名をスプレッドシートに記録します。
こうしておくと、請求一覧からPDFを開けるようになります。メール送信時にも、どのPDFを添付するのかを明確にできます。
ただし、PDF作成前の確認は大切です。
請求金額や宛先が未確定のままPDFを作ると、誤った請求書が保存されてしまいます。ステータス列に「確認中」「送信待ち」「送信済み」などを用意し、送信してよい状態だけを処理対象にする考え方が必要です。
5. メール送信と送信履歴を残す考え方
請求書送信では、メールを送ること自体よりも、正しい相手に正しい内容を送ったことを確認できる状態が大切です。
まず、宛先情報をどこで管理するかを決めます。
請求一覧にメールアドレスを直接入れる方法もありますが、顧客マスタを別シートにして、顧客名や顧客コードから宛先を参照する方法もあります。件数が少ないうちはシンプルな管理で十分ですが、顧客が増える場合はマスタ化した方が修正漏れを防ぎやすくなります。
件名と本文もテンプレート化しておきます。
毎月同じ文面を手で書くのではなく、請求月、顧客名、支払期限などを差し込める形にします。定型文を使えば、文章のばらつきや修正漏れを減らせます。
送信前に確認できる状態を作ることも重要です。
いきなり自動送信するのではなく、最初は下書き作成やテスト送信から始める方法もあります。運用に慣れてから、ステータスが「送信待ち」のものだけを送信する形にすると安心です。
送信後は、送信履歴を残します。
送信日時、送信先、件名、添付PDF、処理結果、エラー内容などをスプレッドシートに記録します。これにより、問い合わせがあったときに「いつ送ったか」「どのPDFを送ったか」を確認しやすくなります。
エラー時の扱いも決めておきます。
メールアドレスが空欄だった、PDFが見つからなかった、送信に失敗した、といった場合に、そのまま処理を終えるのではなく、エラー内容を記録して担当者が確認できるようにします。
6. 導入前に決めておきたいこと
請求書送信システムを作る前に、業務ルールを整理しておくことが大切です。
まず、請求データの元を決めます。
スプレッドシートに手入力するのか、別の管理表からコピーするのか、会計ソフトから出力したCSVを使うのかによって、作り方が変わります。最初はスプレッドシートに必要項目を整理するだけでも十分な場合があります。
次に、請求書テンプレートを決めます。
会社情報、請求書番号、請求日、支払期限、明細、消費税、振込先など、どの項目をどの形式で表示するかを整理します。この記事では法制度の詳細には踏み込みませんが、実際の運用では社内ルールや税理士への確認も必要です。
宛先情報の管理方法も重要です。
請求先のメールアドレス、CC、担当者名、送付先部署などをどこで管理するかを決めます。宛先ミスは影響が大きいため、担当者が確認しやすい形にしておく必要があります。
メールの件名と本文も決めておきます。
請求月、顧客名、支払期限、問い合わせ先など、毎回入れる情報を整理します。社外向けの文面になるため、表現を統一しておくと安心です。
送信前の承認者も決めておきます。
すべて自動送信にするのか、担当者が確認してから送るのか、管理者が承認したものだけ送るのか。請求金額や顧客によって確認ルールを変える場合もあります。
送信履歴とエラー対応も最初に考えておきます。
送信済みの記録をどこに残すか、送信失敗時に誰へ通知するか、再送する場合にどのように記録するかを決めておくと、運用開始後に迷いにくくなります。

7. GASだけで作る場合の注意点
GASの請求書送信システムは便利ですが、向いていない使い方もあります。
まず、大量送信を前提にする場合です。
GASやGmailには送信数や実行時間に関する制限があります。毎月少数から中規模の請求書を送る用途であれば検討しやすいですが、大量の請求書を一度に送る場合は、専用サービスや別の構成を検討した方がよいことがあります。
会計ソフトや基幹システムとの厳密な連携が必要な場合も注意が必要です。
請求データを会計システムと双方向に同期する、入金消込まで自動化する、承認ワークフローと連携する、といった要件がある場合は、GASだけで簡単に作るよりも、全体設計を先に整理する必要があります。
セキュリティと権限管理も重要です。
請求書には取引先名、金額、振込先などの重要な情報が含まれます。スプレッドシート、PDF保存先、GASプロジェクト、送信元アカウントの権限を曖昧にしたまま運用しないことが大切です。
個人アカウント所有のまま運用しないことも意識します。
担当者個人のGoogleアカウントで仕組みを作り、そのまま業務で使い続けると、退職や異動時に引き継ぎで困ることがあります。会社や顧客の運用に合わせて、所有者と保守担当を決めておくべきです。
また、自動送信は便利な反面、間違ったデータもそのまま送ってしまう可能性があります。
そのため、最初から完全自動送信にするのではなく、PDF作成、確認、送信、履歴記録を段階的に導入する方が安全です。運用に慣れてから自動化範囲を広げると、現場にも定着しやすくなります。
8. まとめ
GASで請求書送信システムを作ると、請求書PDFの作成、メール添付送信、送信履歴の記録を一つの流れにできます。
手作業で毎月行っている請求書作成やメール送信は、件数が少ないうちは何とか回ります。しかし、顧客数や請求件数が増えると、転記ミス、添付忘れ、送信漏れ、履歴確認の手間が目立つようになります。
GASを使えば、スプレッドシートの請求データをもとにPDFを作成し、Googleドライブへ保存し、Gmailで送信し、送信結果を記録する仕組みを作れます。
ただし、請求書は金額や宛先の正確さが重要です。自動化する場合でも、請求データの確認、送信前の承認、エラー時の対応、権限管理はしっかり決めておく必要があります。
まずは、請求データを整理し、PDF作成と送信履歴の記録から始めるだけでも効果があります。毎月の定型作業を少しずつ減らしたい場合、GASは使いやすい選択肢になります。



Your Message