“中級者向け実践:一般企業でのGAS自動化による年末調整準備(中規模企業向け)”

中級者向け実践:一般企業でのGAS自動化による年末調整準備(中規模企業向け)

年末調整の準備は、企業にとって重要な業務の一つですが、従業員数が多くなると、その作業は煩雑になり、時間もかかります。Google Apps Script(GAS)を使用することで、年末調整に関する様々な作業を自動化し、効率化することができます。この記事では、中規模企業(11-100人)を対象に、GASを活用した年末調整準備の自動化について、中級者向けに実践的な方法を解説します。

GASで年末調整を自動化するメリット

  • 時間とコストの削減:手作業による入力やチェック作業を減らし、従業員の時間を有効活用できます。
  • ミスの削減:自動化により、人的ミスを減らし、正確な年末調整処理を実現します。
  • ペーパーレス化:年末調整に関する書類を電子化し、保管スペースの削減や検索性の向上に貢献します。
  • 業務効率化:年末調整業務全体の効率が向上し、他の業務に集中できるようになります。

年末調整自動化のステップ

GASで年末調整を自動化するには、以下のステップで進めます。

  1. 要件定義:自動化する範囲や必要な機能を明確にします。
  2. データ収集:従業員情報をスプレッドシートにまとめます。
  3. GASスクリプト作成:年末調整に必要な処理をGASで記述します。
  4. テスト:作成したスクリプトをテストし、問題点があれば修正します。
  5. 運用:スクリプトを本番環境で実行し、定期的にメンテナンスを行います。

GASスクリプトの例:従業員情報の自動収集

まず、従業員情報をスプレッドシートから自動で収集するスクリプト例を示します。この例では、従業員番号、氏名、住所、給与などの情報を取得します。

function getEmployeeData() {
// スプレッドシートのIDとシート名を設定
const spreadsheetId = \"YOUR_SPREADSHEET_ID\";
const sheetName = \"従業員情報\";

// スプレッドシートを開く
const ss = SpreadsheetApp.openById(spreadsheetId);
const sheet = ss.getSheetByName(sheetName);

// データの範囲を取得 (A2から最終行まで)
const lastRow = sheet.getLastRow();
const range = sheet.getRange(\"A2:D\" + lastRow); // A列からD列までを例とする

// データを取得
const data = range.getValues();

// 取得したデータをログに出力 (デバッグ用)
Logger.log(data);

// 取得したデータを返す (必要に応じて)
return data;
}

解説:

  • YOUR_SPREADSHEET_ID は、使用するスプレッドシートのIDに置き換えてください。スプレッドシートのURLから確認できます。
  • 従業員情報 は、従業員情報が記載されているシートの名前に置き換えてください。
  • A2:D は、データの範囲を示しています。従業員番号がA列、氏名がB列、住所がC列、給与がD列にある場合を想定しています。必要に応じて列を変更してください。
  • Logger.log(data) は、取得したデータをログに出力します。スクリプトエディタの「表示」→「ログ」で確認できます。

GASスクリプトの例:年末調整書類の自動生成

次に、収集した従業員情報をもとに、年末調整書類を自動生成するスクリプト例を示します。ここでは、源泉徴収票を例に、Googleドキュメントに情報を差し込む方法を紹介します。

function generateTaxWithholdingSlip(employeeData) {
// テンプレートドキュメントのIDを設定
const templateId = \"YOUR_TEMPLATE_DOCUMENT_ID\";

// 出力先フォルダのIDを設定
const outputFolderId = \"YOUR_OUTPUT_FOLDER_ID\";

// テンプレートドキュメントを開く
const templateDoc = DocumentApp.openById(templateId);

// テンプレートドキュメントをコピー
const newDoc = templateDoc.copy(employeeData[1] + \"_源泉徴収票\"); // employeeData[1]は氏名を想定

// コピーしたドキュメントをフォルダに移動
DriveApp.getFileById(newDoc.getId()).moveTo(DriveApp.getFolderById(outputFolderId));

// ドキュメント本文を取得
const body = newDoc.getBody();

// 従業員情報を差し込む(例)
body.replaceText(\"{{employeeNumber}}\", employeeData[0]); // employeeData[0]は従業員番号を想定
body.replaceText(\"{{employeeName}}\", employeeData[1]); // employeeData[1]は氏名を想定
body.replaceText(\"{{employeeAddress}}\", employeeData[2]); // employeeData[2]は住所を想定
body.replaceText(\"{{employeeSalary}}\", employeeData[3]); // employeeData[3]は給与を想定

// ドキュメントを保存して閉じる
newDoc.saveAndClose();

// ドキュメントのURLを返す
return newDoc.getUrl();
}

解説:

  • YOUR_TEMPLATE_DOCUMENT_ID は、源泉徴収票のテンプレートとして使用するGoogleドキュメントのIDに置き換えてください。
  • YOUR_OUTPUT_FOLDER_ID は、生成した源泉徴収票を保存するGoogleドライブのフォルダIDに置き換えてください。
  • {{employeeNumber}}, {{employeeName}}, {{employeeAddress}}, {{employeeSalary}} は、テンプレートドキュメントに差し込むプレースホルダーです。テンプレートドキュメントにあらかじめこれらのプレースホルダーを記述しておきます。
  • employeeData[0], employeeData[1], employeeData[2], employeeData[3] は、getEmployeeData() 関数で取得した従業員情報の配列の各要素に対応しています。

GASによる年末調整自動化の応用例

  • 年末調整申告書の自動作成:従業員が入力した情報を元に、年末調整申告書を自動で作成します。
  • 税額計算の自動化:収集した情報をもとに、所得税や住民税などの税額を自動で計算します。
  • 電子申告連携:作成した年末調整データを、e-Taxなどの電子申告システムに連携します。
  • 進捗管理:年末調整の進捗状況を可視化し、未提出者へのリマインドを自動化します。

まとめ

GASを活用することで、年末調整の準備作業を大幅に効率化できます。この記事で紹介したスクリプト例を参考に、自社の業務に合わせてカスタマイズし、年末調整業務の自動化に挑戦してみてください。特に中規模企業においては、GASの導入効果が大きく、従業員の負担軽減やコスト削減に貢献できます。