アルバイトの給料計算プログラム(GAS)
Googleカレンダーをベースに給料計算を行う。
指定したカレンダーに「バイト」or「バイト仮」の名称のイベントを作成することで、給料が自動的に計算される。
給料を計算後、プログラムは給料日に終日イベントを作成する。
そのイベントの説明欄に計算された給料が記される。
- シフトの管理はGoogleカレンダーで行う。
- シフトのイベント名は「バイト」or「バイト仮」であること。
- 時給は以下の4パターンが存在し、それぞれ時給が設定される
- 平日 昼
- 平日 夜
- 休日(土日祝) 昼
- 休日(土日祝) 夜
- 夜間手当は、特定の時間以降の労働に対し支給される
- 交通費は以下の2パターンが存在する
- 日給
- 月給
- 給料日は毎月15日で、該当日が土日祝だった場合は繰り上げられ、前日の支給となる
- この繰り上げは繰り返し行われるため、15日(日)の場合、給料日は13日(金)となる
- 所得税等、税金関係は考慮しない
// シフトを管理するカレンダーのID
const calendar = CalendarApp.getCalendarById('[email protected]');
// 祝日カレンダーのID(これは変更しない)
const jpHoliday = CalendarApp.getCalendarById("ja.japanese#[email protected]");
// 給料の定義
const salary = {
"weekday": {"normal": 1030, "night": 1130},
"weekend": {"normal": 1130, "night": 1130}
};
// 夜間手当支給開始時間の定義
const nightStartTime = 1700;
// 交通費(par 日)
const transpoEvery = 420;
// 交通費(par 月)
const transpoMonth = 0;
お好みのタイミングでトリガーを設定してください。
私は1時間おきに設定しています。
トリガーに指定する関数はrunCalThisMonth
(今月分給料)もしくは、runCalNextMonth
(来月分給料)です。
お好みで選択してください。両方でも構いません。