出張日当計算機|初日・最終日の日割りに対応
この出張日当計算機では、1日当たりの支給額、出張日数、出発日と帰着日の支給率を入力すると、精算総額を明確に算出できます。日数は暦日で数え、中間日は全額、初日と最終日はそれぞれ指定した割合で計算します。実質的な支給日数と両端日の金額も表示されるため、結果の確認、根拠の説明、経費精算書への転記を簡単に行えます。
無料で実行
日額を入力し、出張の暦日数を数えます
まず、出張者、訪問先、規程の適用期間に対応する1日当たりの支給額を確認してください。この計算機が官公庁、勤務先、取引先などの規定額を自動で選ぶことはありません。入力された金額をそのまま使用し、通貨換算も行いません。出張日数には、出発日と帰着日の両方を含む暦日数を入力します。たとえば月曜日に出発し金曜日に戻る場合は、月曜日の出発が遅い時刻でも、金曜日の帰着が早い時刻でも5日間です。半日に相当する調整は日数から差し引かず、割合の欄で指定してください。日数を整数に統一すると、計算根拠が明確になります。中間日は常に全日分とし、割合を適用するのは両端日だけです。結果を利用する前に、日額と割合が同じ旅費規程に基づいていることをご確認ください。会計で使用する通貨の日額が120であれば、120と入力します。通貨記号、桁区切り、走行距離、宿泊費、別途精算する費用はこの欄に含めないでください。
出発日と帰着日を割合で日割りします
出発日には first_day_percent、帰着日には last_day_percent を使用します。100なら日額の全額、75なら4分の3、50なら半額を支給し、0なら該当する端の日を支給対象から除外します。計算機は各割合を1日の端数に変換し、全額支給される中間日を加え、得られた実質支給日数に日額を掛けます。たとえば5日間の出張で両端を75パーセントとする場合、全額の中間日3日に0.75と0.75を加え、支給対象は4.5日です。出発日と帰着日の扱いが異なる規程も多いため、2つの割合は個別に設定できます。日帰り出張は例外です。同じ暦日が初日と最終日の両方に当たるため、2つの割合を一致させ、その端数を1回だけ数えます。これにより重複支給を防ぎます。割合は0から100まで、出張日数は1から10,000までの整数で指定してください。
申請前に精算内訳を確認します
計算結果には、入力した日額と出張日数、両端日に適用した割合、全額となる中間日数、実質支給日数、初日と最終日の金額、最終的な精算額が表示されます。この内訳があれば、承認担当者は採用された計算方法を推測せずに合計を再現できます。複数日にわたる出張では、初日の端数、すべての中間日、最終日の端数を合計し、日額を掛けます。日帰りの場合は、一致する端日の割合を1回だけ適用します。結果の丸めは浮動小数点演算による微小な誤差を除くためだけに行い、自動的に小数第2位へそろえるものではありません。通貨や社内会計規程によって必要な精度が異なるため、確認後に組織所定の通貨丸めを適用してください。この計算の対象は日当だけです。宿泊費、交通費、走行距離手当、税金、為替調整、食事控除、訪問先別の料率選択は含みません。ブラウザーでは無料で計算でき、自動処理用の API は1回 $0.002 で利用できます。
活用例
従業員の経費精算を作成
出張費のうち日当に当たる金額を計算し、従業員と承認者が確認できる明確な内訳を残せます。
出張精算額を照合
申請された日額と規程上の出発日・帰着日の割合を使い、提出済みの合計額を再計算できます。
プロジェクトの出張費を自動計算
API を利用し、既知の日額と両端日の割合を予定済みまたは完了済みの出張へ一貫して適用できます。
よくある質問
計算機の利用料金はいくらですか?
ブラウザーでは無料です。API は1回のリクエストにつき $0.002 です。
出張日数に出発日と帰着日は含まれますか?
はい。出発日から帰着日まで、両端を含むすべての暦日を入力してください。
半日などの端数日はどのように計算されますか?
両端日の各割合を100で割って日額を掛けます。すべての中間日は日額の全額が支給されます。
日帰り出張はどのように扱われますか?
初日と最終日が同じ日なので、両方の割合を一致させ、その端数を1回だけ数えます。
公的な日当額を自動で選べますか?
いいえ。勤務先、取引先、契約、適用される規程で定められた日額を入力してください。
宿泊費、走行距離、通貨換算も結果に含まれますか?
いいえ。入力値から日当だけを計算し、その他の費用の追加や通貨換算は行いません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/travel/per-diem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"daily_allowance":120,"travel_days":5}'const res = await fetch("https://api.kit.forhosting.com/travel/per-diem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"daily_allowance": 120,
"travel_days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/per-diem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"daily_allowance": 120,
"travel_days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/per-diem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"daily_allowance":120,"travel_days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"daily_allowance":120,"travel_days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/per-diem", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"daily_allowance": 120,
"travel_days": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.per_diem",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |