計算式サンプル

手当、仕訳データ出力に利用できる計算式のサンプルです。

コード値や名称はサンプル用のものとなります。

サンプルの計算式はボタンで作成することができます。

詳細な使用方法は計算式の使い方をご確認ください。

手当:行き先に応じて手当額が違う場合

行き先(都道府県など)によって支給する手当額が異なる場合に使用します。

例)

コピー
if [申請データ(ヘッダ).行き先] = '北海道' then
    // 北海道へ行く場合、5000円
    return 5000
elseif [申請データ(ヘッダ).行き先] = '東京' then
    // 東京へ行く場合、4000円
    return 4000
elseif [申請データ(ヘッダ).行き先] = '沖縄' then
    // 沖縄へ行く場合、3000円
    return 3000
end

補足

計算式が求めているのが1日あたりの手当額か合計額かによって、同じ計算式でも値が変わります。

alt text

手当:宿泊金額に応じて別途手当を支給する場合

宿泊を伴う出張や業務において支給される手当が、実際にかかった宿泊費の金額に応じて変動する場合に使用します。

例)

コピー
if [申請データ(明細).内訳] = '007' then
    // 内訳が宿泊費(007)の場合
    if [申請データ(明細).金額] >= 10000 then
        // 宿泊費用が1万円を超える場合、1万円を支給
        return 10000
    elseif [申請データ(明細).金額] < 10000 then
        // 宿泊費用が1万円を超えない場合、宿泊費分の金額
        return [申請データ(明細).金額]
    end
end
alt text

補足

宿泊日数が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
alt text

補足

※画像は役職がない一般社員からの申請です。

出張期間は全部で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
alt text

補足

出張期間は全部で6日、土日が2日、休暇が1日、働いた日数が3日

開始日は全日、終了日は半日当

(3日 − 0日 − 1日)× 3,000円 + 0円 + 1,500円 で7,500円表示となっています。

仕訳:内訳によって、貸方_勘定科目を変更する場合

内訳コードが特定の値のとき、貸方の勘定科目コード・名称を別の科目に変更したい場合に使用します。

例)

内訳コードが900(部品(一式))の場合は、「貸方:勘定科目コード、貸方:勘定科目名」を800(買掛金)に変更したい。

alt text

 

仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。

計算式には以下の式を入力します。

alt text

貸方:勘定科目コード(計算式)

コピー
if [申請データ(明細).申請データ(明細):内訳コード] = '900' then
    // 内訳が900:部品(一式)の場合
    return '800' // 貸方_勘定科目:800(買掛金)
else
    return [仕訳データ.仕訳データ:貸方:勘定科目コード] // 貸方_勘定科目:通常設定値
end

貸方:勘定科目名(計算式)

コピー
if [申請データ(明細).申請データ(明細):内訳コード] = '900' then
    // 内訳が900:部品(一式)の場合
    return '買掛金' // 貸方_勘定科目名:買掛金(800)
else
    return [仕訳データ.仕訳データ:貸方:勘定科目名] // 貸方_勘定科目名:通常設定値
end

注意

仕訳の計算式はあくまでも仕訳データ出力設定となります。

仕訳画面では、計算式の結果が反映されるわけではありません。

※以下、他の仕訳計算式でも同様となります。

通常設定値の420:未払金が表示されます。

alt text

仕訳:借方勘定科目によって、貸方勘定科目を変更する場合

借方の勘定科目コードをもとに、貸方の勘定科目コード・名称を切り替えたい場合に使用します。

例)

借方勘定科目が801(完成工事原価(外注費))の場合、貸方勘定科目を800(工事未払金)に変更したい。

alt text

仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。

計算式には以下の式を入力します。

貸方:勘定科目コード(計算式)

コピー
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '801' then
    // 借方勘定科目が801(完成工事原価(外注費))の場合
    return '800' // 貸方_勘定科目:800(工事未払金)
else
    return [仕訳データ.仕訳データ:貸方:勘定科目コード] // 貸方_勘定科目:通常設定値
end

貸方:勘定科目名(計算式)

コピー
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '801' then
    // 借方勘定科目が801(完成工事原価(外注費))の場合
    return '工事未払金' // 貸方_勘定科目名:工事未払金(800)
else
    return [仕訳データ.仕訳データ:貸方:勘定科目名] // 貸方_勘定科目名:通常設定値
end

仕訳:借方勘定科目によって、補助科目に別の項目を出力する場合

借方の勘定科目コードに応じて、補助科目コード・名称に特定の値を出力したい場合に使用します。

例)

借方勘定科目が709(旅費交通費)の場合、補助科目に社員コードを設定したい。

alt text

仕訳データ出力設定で計算式に項目を置き換えます(該当項目を一度削除し、計算式項目を追加します)。

計算式には以下の式を入力します。

貸方:補助科目コード(計算式)

コピー
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '709' then
    // 借方勘定科目が709:旅費交通費の場合
    return [申請データ.申請データ:申請者コード] // 社員コード
else
    return [仕訳データ.仕訳データ:借方:補助科目コード] // 補助科目:通常設定値
end

貸方:補助科目名(計算式)

コピー
if [仕訳データ.仕訳データ:借方:勘定科目コード] = '709' then
    // 借方勘定科目が709:旅費交通費の場合
    return [申請データ.申請データ:申請者名] // 社員名
else
    return [仕訳データ.仕訳データ:借方:補助科目名] // 補助科目名:通常設定値
end