リフォーム予算計算
リフォーム予算計算機は、材料、施工、人件費、設備、レンタルなどの支出一覧から、現実的な予算目標を算出します。数量と対応する単価を入力し、工事開始後に判明する想定外の費用に備えて予備費率を指定してください。各項目の金額、明細小計、予備費、最終的なプロジェクト総額が表示されます。初期計画、施工会社の見積比較、工事範囲の変更、API を利用した再現可能な予算計算に役立ちます。
無料で実行
リフォーム費用を項目別に整理します
まず、合理的に特定できる費用ごとに1行を作成してください。材料は平方メートル、箱、板、リットル、設備、個数などで入力でき、作業費は時間、日数、または一式で入力できます。同じ行の数量と単価は、必ず同じ単位を基準にしてください。床材を平方メートルで入力する場合は1平方メートル当たりの価格が必要であり、電気工事を24時間として入力する場合は時間単価が必要です。仕入先が梱包単位の価格を提示している場合、より小さな単位で数量を入力するなら内容量で価格を割るか、購入予定の梱包数を入力してください。項目名は任意ですが、結果の明細を確認しやすくするため、分かりやすい名称を推奨します。この計算機は通貨を判定・換算しないため、すべて同じ通貨で入力してください。許可申請、配送、機器レンタル、廃棄、設計料、税金が工事範囲に含まれる場合は、それぞれ別の行にします。前提を隠した概算1件より、網羅的な一覧のほうが有用な小計になります。
小計、予備費、総額の計算方法を確認します
各行では、数量に単価を掛けて項目金額を求めます。すべての項目金額を加算して明細小計を算出し、その小計に予備費率を掛けて予備費を計算します。最後に小計と予備費を足して、プロジェクト総額を求めます。たとえば、小計が20,000で予備費率が10パーセントの場合、予備費は2,000、総額は22,000です。予備費は、追加金額を必ずすべて使うという予測ではありません。数量の不確実性、隠れた損傷、軽微な価格変動、工事範囲の小さな修正に備えるための計画上の余裕です。工事内容の確定度と、着工前に建物の状態をどの程度確認できるかに応じて率を選んでください。率をゼロにすれば純粋な明細見積を比較でき、率を高くすれば不明点の多い初期構想を表現できます。結果には正規化した入力値と各項目金額が残るため、計算を監査したり別の表計算で再現したりできます。
算出額を確定見積と混同せずに活用します
算出した総額は、入力した項目に基づく予算モデルとして扱い、施工会社の確約、査定、保証とはみなさないでください。見積と比較する前に、税金、配送、解体、清掃、許可、養生、仕上げ工事が含まれているか確認します。床材の数量に端材分を含めたうえで、端材を別項目にもするなど、同じ費用の二重計上は避けてください。設計を変更するときは入力を複製し、該当行だけを修正して新旧の総額を比較すると、判断による費用差が明確になります。請求書が届いたら推定数量や価格を実績値に置き換え、予備費と発注済み支出を分けて管理してください。この決定論的な計算は、ネットワーク、最新価格データベース、乱数、時刻依存値を使用しないため、同じ入力から常に同じ結果が得られます。ブラウザー版は対話的な計画に便利で、API は1回 $0.002 で、見積フォーム、施主向けポータル、プロジェクト管理手順にも組み込めます。
活用例
部屋のリフォームを計画する
床材、塗装、設備、作業費、廃棄費、許可費をまとめ、想定外の支出に備えた予算を作成します。
施工会社の工事範囲を比較する
複数の見積の数量と単価を同じ基準にそろえ、各案に同じ予備費率を適用します。
設計変更の影響を追跡する
仕上げや数量の変更後に総額を再計算し、修正項目がプロジェクトの予備費に与える影響を確認します。
よくある質問
1回の計算料金はいくらですか?
API の料金は1回 $0.002 です。ブラウザーでは無料で計算できます。
リフォームの小計はどのように計算しますか?
各行の数量に単価を掛けて項目金額を求め、すべての項目金額を足して小計を算出します。
予備費はどのように加算しますか?
小計に予備費率を掛けて予備費を求め、その金額を小計に加算します。
予備費率は何パーセントにすればよいですか?
プロジェクト固有の不確実性を反映する率を選んでください。初期設計や見えない箇所は、詳細に確定した工事範囲より不明点が多い傾向があります。
現在の材料費や人件費も提示されますか?
いいえ。数量と単価はすべてお客様が入力します。計算機は決定論的な算術のみを行い、価格データベースには接続しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/home/renovation-budget \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}'const res = await fetch("https://api.kit.forhosting.com/home/renovation-budget", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/renovation-budget",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/renovation-budget", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/renovation-budget", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.renovation_budget",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_items | 1 |
max_items | 200 |
max_value | 1000000000000 |
max_contingency_percent | 100 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |