スプシで作成した請求書自動でメールするやつ

GAS

本業とは別でGASをメインにちょっとしたシステムのお手伝いを副業としてやっています。
最近請求書を送るということを覚えたのですがこんなことは自動化してしまいたいわけです。

この題材もネットにいっぱい転がっていますがスプシとセットで置いてあるところを見ていないのでここに書いておきます。

スポンサーリンク

スプシ

下記URLみたいなスプシを作って下段のGASコードをコピペ、トリガー設定すれば内容をPDFにしてメールで送信してくれます。
ご自身のマイドライブにコピーしていただければOKです。

請求書

GASコード 

スプシの拡張機能→AppsScriptにこちらをコピペしてトリガー設定で毎月決まった日付にこのコードを実行してもらえれば請求書送付が自動化できます。

function sendMail(){
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const key = spreadsheet.getId();
  const sheetName = spreadsheet.getSheetByName("ご請求書");
  const gid = sheetName.getSheetId();
  const token = ScriptApp.getOAuthToken();

  const url = "https://docs.google.com/spreadsheets/d/" + key + "/export?gid=" + gid + "&format=pdf&portrait=true&size=A4&gridlines=false&fitw=true";
  console.log(url);
  const today = Utilities.formatDate(new Date(), "JST", "yyyyMM");
  const pdf = UrlFetchApp.fetch(url, {headers: {'Authorization': 'Bearer ' +  token}}).getBlob().setName("ご請求書_"+today+".pdf");

  const to = "○○@gmail.com";
  const cc = "○○@gmail.com,○○@gmail.com"
  const subject = "[ご請求書]○○";
  const body ="○○様\n\nお世話になっております。○○です。\n\n今月分のご請求書をお送りいたします。\nご確認のほどよろしくお願いいたします。"; 
  const options = {
    attachments: pdf,
    cc: cc
  }
  GmailApp.sendEmail(to,subject,body,options);
}

○○ってなっているところを実際のメアドに変えてみてください。
実際に相手のメアドを設定する前に自分のメアドを設定して「デバッグ」したほうがいいですよ。

最後に勝手に実行してもらえるようにトリガー設定しましょう。

何日何時にっていうのはお好みで設定してください

こんな感じです。
毎月微妙に記載内容を変えたいとかであれば、コピー作成して一回文字を置換する処理を挟んでから~みたいにしてもよさそうですね。日付くらいであれば関数入れておけばいいですが。
気が向いたらその処理も残しておきます。よろしくお願いします。

コメント

タイトルとURLをコピーしました