計算式サンプル
手当、仕訳データ出力に利用できる計算式のサンプルです。
コード値や名称はサンプル用のものとなります。
サンプルの計算式はボタンで作成することができます。
詳細な使用方法は計算式の使い方をご確認ください。
手当:行き先に応じて手当額が違う場合
行き先(都道府県など)によって支給する手当額が異なる場合に使用します。
例)
if [申請データ(ヘッダ).行き先] = '北海道' then
// 北海道へ行く場合、5000円
return 5000
elseif [申請データ(ヘッダ).行き先] = '東京' then
// 東京へ行く場合、4000円
return 4000
elseif [申請データ(ヘッダ).行き先] = '沖縄' then
// 沖縄へ行く場合、3000円
return 3000
end
補足
計算式が求めているのが1日あたりの手当額か合計額かによって、同じ計算式でも値が変わります。
手当:宿泊金額に応じて別途手当を支給する場合
宿泊を伴う出張や業務において支給される手当が、実際にかかった宿泊費の金額に応じて変動する場合に使用します。
例)
if [申請データ(明細).内訳] = '007' then
// 内訳が宿泊費(007)の場合
if [申請データ(明細).金額] >= 10000 then
// 宿泊費用が1万円を超える場合、1万円を支給
return 10000
elseif [申請データ(明細).金額] < 10000 then
// 宿泊費用が1万円を超えない場合、宿泊費分の金額
return [申請データ(明細).金額]
end
end
補足
宿泊日数が1日限定の想定で記載しています。
複数日に対応する場合、別途申請項目で出張期間を入力し、以下のような計算式を設定してください。(1明細に合計金額を入れていて、全て同じ宿泊費想定)
one_day_price = [申請データ(明細).金額] / [申請データ(ヘッダ).出張期間(出張日数)] // 1日の宿泊費
if [申請データ(明細).内訳] = '007' then
if one_day_price >= 10000 then
// 宿泊費用が1万円を超える場合、1万円を別途支給
return 10000 * [申請データ(ヘッダ).出張期間(出張日数)]
elseif one_day_price < 10000 then
// 宿泊費用が1万円を超えない場合、宿泊費分の金額
return one_day_price * [申請データ(ヘッダ).出張期間(出張日数)]
end
end
手当:出張期間のうち、手当が支給されない日がある場合
出張中に休暇を取得した日は手当を支給しないケースで使用します。
手当の計算式を設定する前に計算式に利用する「休暇日数」を申請項目として追加しておいてください(会社に合わせた項目名でもOKです)。
[申請データ(ヘッダ).休暇日数]
例)
// 働いた日数
work_day = [申請データ(ヘッダ).出張期間(出張日数_土日祝を除く)] - [申請データ(ヘッダ).休暇日数]
if [申請者役職情報.役職コード] = 'Y001' then
// 社長は1日5000円 5000円×働いた日数
return work_day * 5000
elseif [申請者役職情報.役職コード] = 'Y002' then
// 部長は1日4000円 4000円×働いた日数
return work_day * 4000
else
// その他は1日3000円 3000円×働いた日数
return work_day * 3000
end
補足
※画像は役職がない一般社員からの申請です。
出張期間は全部で6日、土日が2日、休暇が1日、働いた日数が3日
3日 × 3,000円 で9,000円表示となっています。
手当:出張期間のうち、開始日終了日に半日当となる場合
出張の初日・最終日の移動を半日扱いとし、手当を半額にするケースで使用します。
例)
// 働いた日数
work_day = [申請データ(ヘッダ).出張期間(出張日数_土日祝を除く)] - [申請データ(ヘッダ).休暇日数]
half_start_day = 0 // 半日当の開始日
half_start_price = 0 // 半日当の金額
half_end_day = 0 // 半日当の終了日
half_end_price = 0 // 半日当の金額
price = 0 // 役職ごとの1日あたりの金額
if [申請者役職情報.役職コード] = 'Y001' then
// 社長は1日5000円
price = 5000
elseif [申請者役職情報.役職コード] = 'Y002' then
// 部長は1日4000円
price = 4000
else
// その他は1日3000円
price = 3000
end
// 出張開始日、出張終了日が半日当かどうか調べる
if [申請データ(ヘッダ).出張開始終了時間(開始時刻_HH:MM)] > '14:00' then
half_start_day = 1
half_start_price = price * 0.5 // 開始日の半日当額をセット
end
if [申請データ(ヘッダ).出張開始終了時間(終了時刻_HH:MM)] > '14:00' then
half_end_day = 1
half_end_price = price * 0.5 // 終了日の半日当額をセット
end
// (働いた日数 - 開始日:1日 - 終了日:1日) × 役職ごとの1日あたりの金額 + 開始日の半日当 + 終了日の半日当
return (work_day - half_start_day - half_end_day) * price + half_start_price + half_end_price
補足
出張期間は全部で6日、土日が2日、休暇が1日、働いた日数が3日
開始日は全日、終了日は半日当
(3日 − 0日 − 1日)× 3,000円 + 0円 + 1,500円 で7,500円表示となっています。
仕訳:内訳によって、貸方_勘定科目を変更する場合
内訳コードが特定の値のとき、貸方の勘定科目コード・名称を別の科目に変更したい場合に使用します。
例)
内訳コードが900(部品(一式))の場合は、「貸方:勘定科目コード、貸方:勘定科目名」を800(買掛金)に変更したい。
仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。
計算式には以下の式を入力します。
貸方:勘定科目コード(計算式)
if [申請データ(明細).申請データ(明細):内訳コード] = '900' then
// 内訳が900:部品(一式)の場合
return '800' // 貸方_勘定科目:800(買掛金)
else
return [仕訳データ.仕訳データ:貸方:勘定科目コード] // 貸方_勘定科目:通常設定値
end
貸方:勘定科目名(計算式)
if [申請データ(明細).申請データ(明細):内訳コード] = '900' then
// 内訳が900:部品(一式)の場合
return '買掛金' // 貸方_勘定科目名:買掛金(800)
else
return [仕訳データ.仕訳データ:貸方:勘定科目名] // 貸方_勘定科目名:通常設定値
end
注意
仕訳の計算式はあくまでも仕訳データ出力設定となります。
仕訳画面では、計算式の結果が反映されるわけではありません。
※以下、他の仕訳計算式でも同様となります。
通常設定値の420:未払金が表示されます。
仕訳:借方勘定科目によって、貸方勘定科目を変更する場合
借方の勘定科目コードをもとに、貸方の勘定科目コード・名称を切り替えたい場合に使用します。
例)
借方勘定科目が801(完成工事原価(外注費))の場合、貸方勘定科目を800(工事未払金)に変更したい。
仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。
計算式には以下の式を入力します。
貸方:勘定科目コード(計算式)
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '801' then
// 借方勘定科目が801(完成工事原価(外注費))の場合
return '800' // 貸方_勘定科目:800(工事未払金)
else
return [仕訳データ.仕訳データ:貸方:勘定科目コード] // 貸方_勘定科目:通常設定値
end
貸方:勘定科目名(計算式)
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '801' then
// 借方勘定科目が801(完成工事原価(外注費))の場合
return '工事未払金' // 貸方_勘定科目名:工事未払金(800)
else
return [仕訳データ.仕訳データ:貸方:勘定科目名] // 貸方_勘定科目名:通常設定値
end
仕訳:借方勘定科目によって、補助科目に別の項目を出力する場合
借方の勘定科目コードに応じて、補助科目コード・名称に特定の値を出力したい場合に使用します。
例)
借方勘定科目が709(旅費交通費)の場合、補助科目に社員コードを設定したい。
仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。
計算式には以下の式を入力します。
貸方:補助科目コード(計算式)
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '709' then
// 借方勘定科目が709:旅費交通費の場合
return [申請データ.申請データ:申請者コード] // 社員コード
else
return [仕訳データ.仕訳データ:借方:補助科目コード] // 補助科目:通常設定値
end
貸方:補助科目名(計算式)
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '709' then
// 借方勘定科目が709:旅費交通費の場合
return [申請データ.申請データ:申請者名] // 社員名
else
return [仕訳データ.仕訳データ:借方:補助科目名] // 補助科目名:通常設定値
end