たくさんの領収書を作成する業務は手間がかかるうえに、ミスが発生しやすく、経理担当者の負担となる業務のひとつです。
この記事では、Googleスプレッドシートに入力された情報をもとに、領収書を一括作成する便利なツールを紹介します。Google Apps Scriptが設定されているGoogleスプレッドシートテンプレートも配布しているため、ダウンロードしてすぐに使い始められます。
領収書を一括作成するGoogle Apps ScriptコードとGoogleスプレッドシートテンプレートを無料ダウンロード
まずはGoogle Apps ScriptコードとGoogleスプレッドシートテンプレートをダウンロードしましょう。ダウンロードしたテンプレートと照らしあわせながら項目について解説します。
このGoogle Apps Scriptコードでできること
領収書の自動作成
Googleスプレッドシートの情報から領収書を作成します。「日付」「名前」「敬称」「税抜金額」「消費税額」「合計金額」「但し書き」「領収書番号」の項目を用意しています。
合計金額から税抜金額・消費税額を自動計算するバージョンと手入力するバージョンの2つのテンプレートを用意しています。
PDF形式で保存
作成された領収書をPDF形式に変換し、Googleドライブに保存します。保存先は「マイドライブのトップ」または「指定したフォルダ」に切り替え可能です。
オリジナルの領収書デザイン
領収書のデザインを自由に変更できるので、オリジナルの領収書を作成できます。
このGoogle Apps Scriptコードでできないこと
複数のフォルダへの保存
領収書は指定したフォルダに一括作成されます。取引先や日付ごとにフォルダを作成する機能はありません。
自動メール送信
領収書のPDFは作成・保存されるのみで、PDFを添付したメールの送信は自動化されていません。Gmailの下書きの作成や送信には別途処理が必要です。
「複数フォルダへの保存」や「メール送信」も自動化したい場合は My Assistant(マイアシスタント) がおすすめです。様々な業務に柔軟に対応でき、業務を自動化できます。
領収書を一括作成する流れ
領収書を一括作成する流れは以下の動画でご覧いただけます。
領収書項目の入力
以下の項目を入力します。
①日付
②名前
③敬称
④税抜金額(自動計算バージョンは不要)
⑤消費税額(自動計算バージョンは不要)
⑥合計金額
⑦但し書き
⑧領収書番号(空欄可)
領収書メニューから実行
実装したGoogle Apps ScriptコードによってGoogleスプレッドシートの上部に「領収書メニュー」が追加されています。
クリックすると「領収書を一括作成する」という項目が表示されるのでクリック(実行)します。
出力されたPDFの確認
初期設定ではマイドライブのトップに領収書のPDFが出力されます。PDFの保存先は指定のフォルダに変更できます。(後述)
領収書を一括作成するための初期設定
自社情報の入力
「領収書テンプレート」のシートを選択し、自社情報を変更します。
領収書テンプレートのデザインは変更しても問題ありませんが、{{名前}}のように囲まれている項目部分は、領収書生成時に自動変換されますので削除するとエラーがでます。
保存先の選択・指定
領収書のPDFを出力するフォルダは任意の場所に変更可能です。
出力先を任意のフォルダに変更するには、 以下のコードを変更します。
①useFolderをfalseからtrueに変更
const useFolder = false;
↓
const useFolder = true;
②folderIdを任意のフォルダのGoogleドライブのフォルダIDに変更
const folderId = 'XXXXX_XXXXXXXX_XXXXXXXXXXXXXXX_XX'; // 指定フォルダのGoogleドライブID
GoogleドライブのフォルダIDは、Googleドライブのフォルダを選択した際のURLのdrive.google.com/drive/folders/以降の部分で、以下の部分にあたります。
領収書を一括作成するGoogle Apps Scriptコードの解説
領収書を一括作成するGoogle Apps Scriptコードの一部を紹介します。カスタマイズしたい場合は以下を参考にしてください。
コードをすべてコピーしたい方はダウンロードいただけるとご覧いただけます。
メニューの追加
以下のコードでGoogleスプレッドシートのメニューに追加しています。メニュー名を変更したい場合はこのコードを変更してください。
function onOpen() { const ui = SpreadsheetApp.getUi(); ui.createMenu('領収書メニュー') // メニュー名 .addItem('領収書を一括作成する', 'generateReceiptsWithHonorifics') // メニュー項目と実行関数 .addToUi(); }
シート名の取得
以下のコードでGoogleスプレッドシートのシート名を取得し、情報を読み取っています。そのためシート名を変更する場合は以下のコードも変更する必要があります。
const templateSheet = spreadsheet.getSheetByName('領収書テンプレート'); // テンプレートシート名 const dataSheet = spreadsheet.getSheetByName('データ'); // データが含まれるシート名
列の取得
以下のコードでGoogleスプレッドシートの列ごとの項目を格納する事前準備をしています。そのため、列を任意で追加・削除する場合は以下のコードも変更する必要があります。
const date = data[i][0]; // A列: 日付 const name = data[i][1]; // B列: 名前 const honorific = data[i][2]; // C列: 敬称 const taxExcludedAmountStr = data[i][3]; // D列: 税抜金額 const taxAmountStr = data[i][4]; // E列: 消費税額 const totalAmountStr = data[i][5]; // F列: 合計金額 const description = data[i][6]; // G列: 但し書き const receiptNumber = data[i][7] || ''; // H列: 領収書番号
領収書名の設定
以下のコードで出力するPDFのファイル名を設定しています。ファイル名を変更したい場合は、以下を変更します。
const pdfName = `領収書_${name}${honorific}_${date}.pdf`;
今回は「領収書を一括作成するGoogle Apps Scriptコード&Googleスプレッドシートテンプレート」を紹介しました。
このコードを使えば、領収書作成を効率的に行えるでしょう。
更に効率的に経理業務を行いたい場合は My Assistant(マイアシスタント) が便利です。
「注文が入ったら領収書を作成し、取引先にメール送付してほしい」「作成した領収書を会計ソフトにアップロードし、記帳してほしい」など一連の業務を行い、仕事を自動化します。
他にも見積書や請求書の作成・送付、売上や支出の記帳、データ入力など様々な業務を月額2.5万円〜で支援します。ぜひご相談ください。
さとゆずSATOYUZU
株式会社キャスターで、採用支援事業「CASTER BIZ 採用」のWebマーケティングと『Alternative Work』の運営を担当しています。私生活ではECサイトの運営など。週3日働き、他の日は好きなことをやっています。3歳の娘に翻弄される日々を送っています。