共有経費スプリッター
45.5、30、24.5の支払いを3人で分け、そのうち1人を2倍の重みにすると、負担は25、25、50です。経費を1件ずつ入れ、各自に重みを付けると、それぞれの支払額が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
共用の夕食、グループ賃貸、ルームメイトの光熱費、週末旅行はどれも同じ結末になります。誰かが領収書のリストを持ち、同じ額を消費していない人々で埋まったグループチャットが残ります。共有経費スプリッターは明細化された各金額を取り、総計に各人の重みを重みの合計で割った割合を掛け、参加者ごとの明確な owes 額を返します。平等なルームメイトは全員に重み1を使い、友人を招くカップルはカップルに重み2・単身に重み1を与えられ、子どもと請求を分ける親は子どもの重みを0にして大人だけが支払うようにできます。
重み付き共有経費分割の仕組み
グループのためにすでに使ったお金のリストから始めます。各項目は合意した1通貨の明細金額で、食料品、レストランの勘定、配車、光熱費などです。素の数値、または amount と任意の description を持つ小さなオブジェクトを渡せます。
計算に入るのは金額だけです。それらの金額を合計して回収すべき経費合計を得ます。次に1人あたり1つの分担重みを並べます。
重みは相対的な責任を符号化する有限の非負数であり、通貨単位ではありません。3人の均等分割は重み1、1、1です。半分だけ払うべきゲスト付きのカップルは2、2、1を使うかもしれません。
この回は払わない人は重み0のまま、他の人が正の重みを持てます。分担比率は通貨額と並んで報告され、通貨スケールと独立に割合を監査できます。負の経費額と負の重みは拒否されます。
このモデルは使ったお金と非負の相対分担を記述し、返金や責任の反転ではありません。空の経費リストと空の重みリストは早めに失敗します。通貨記号は省略され、グループがオフラインで選んだ USD・EUR・任意単位で同じエンジンが働きます。
活用例
ルームメイトの月次精算
家賃・光熱費・食料品を明細化し、滞在夜数で重みを付け、共有表なしで各人の owes 額を掲示します。
不均等なレストランやバーの勘定
複数コースの勘定を重みで割り、大酒飲みやカップルが公平に払い、グループが明確な比率を見えるようにします。
よくある質問
各人の分担はどう計算しますか?
明細化された経費額をすべて合計して総計を得ます。各人は total ×(その人の weight ÷ 全 weight の合計)を owes します。等しい重みは等分割を意味します。
一部の人の重みをゼロにできますか?
はい。 少なくとも1つの重みが正であれば可能です。重み0の人はこの精算で0を owes し、他の人が合計を負担します。
カップルと1人の人にはどんな重みを付けますか?
カップルに2、1人の人にそれぞれ1を付けます。合計100を重み1、1、2で分けると、負担は25、25、50になります。
全員の重みを0にするとどうなりますか?
結果は出ません。各自の負担は重みの合計で割って出すため、合計が0だと計算できません。少なくとも1人は0より大きい重みにしてください。
払い戻しをマイナスの金額で入れられますか?
入れられません。マイナスの金額やマイナスの重みは受け付けず、使ったお金だけを分けます。払い戻しは、先にその支払いから引いておいてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/expense-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expenses":[45.5,30,24.5],"weights":[1,1,2]}'const res = await fetch("https://api.kit.forhosting.com/life/expense-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expenses": [
45.5,
30,
24.5
],
"weights": [
1,
1,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/expense-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expenses": [
45.5,
30,
24.5
],
"weights": [
1,
1,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/expense-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expenses":[45.5,30,24.5],"weights":[1,1,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expenses":[45.5,30,24.5],"weights":[1,1,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/expense-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"expenses": [
45.5,
30,
24.5
],
"weights": [
1,
1,
2
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.expense_split",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
すべての重みが0のとき、重み合計による除算が定義されないためリクエストは検証エラーで失敗します。無料のブラウザツールと有料 API は1つの純粋な同型関数を共有するため、家庭ボット、表計算エクスポート、バックエンド経費パイプラインは同じ入力に対して常に同じ数値を見ます。
重み付き共有経費分割の仕組み
計算機は weight_sum を全重みの合計として作ります。その合計がちょうど0、または数値的に0と区別できないとき、リクエストは無効入力で失敗します。各人の分担は total × weight ÷ weight_sum であり、誰も正の分担を持たないときその商は定義されません。合計が正のとき、人物 i は経費合計に重み i を掛け weight_sum で割った額を owes します。すべてがネットワーク呼び出しなし・乱数シードなし・壁時計なしの決定的浮動小数点算術なので、同一入力は常に同一 JSON を生成します。
送る内容と返ってくる内容
古典的な検査は合計100に重み1と1で各50、または合計90に重み1、1、2で3人目が45を払う例を含みます。ルームメイトのチャットや夕食のテーブルには無料ブラウザフォームを接続し、ボットやバックエンドが同じ数を必要とするときはスクリプトから同一契約を呼び出します。必須フィールド2つと任意フィールド1つを送ってください。expenses は有限の非負金額の空でない配列、または有限の非負 amount フィールドを持つオブジェクト、またはその配列の JSON 文字列です。weights は1人1エントリの有限非負数の空でない配列、またはその配列の JSON 文字列です。任意の names は weights と同じ長さの表示文字列配列で、省略時は人物が Person 1、Person 2 などとラベル付けされます。必須フィールド欠落、非数値文字列、NaN、Infinity、空配列、負の金額、負の重み、names の長さが weights と不一致、重み合計0はすべて invalid_input で失敗し課金されません。成功時、応答は expense_count、index・amount・任意の description 付きの清掃済み expenses リスト、expense_total、person_count、清掃済み weights と weight_sum、解決済み names、name・weight・share_ratio・owes を持つ people オブジェクト配列、およびスクリプト向けの並列 owes 配列を返します。method 文字列 weighted_expense_split と、owes equals total times weight over sum of weights を再述する formula 文字列が契約を文書化します。成功した API 呼び出しの料金は公開ベース $0.002 per item で、検証失敗はプリペイド残高を消費しません。
共有経費スプリッターが実業務で現れる場面
月額家賃・光熱費・食料品を清算するルームメイトは、各領収書を明細化した後に各自がいくら owes するかの信頼できる答えを必要とし、特に半ヶ月不在で低い重みを担うべき同僚がいる場合にそうです。ワインや子どもメニューで不均等な分担の長いレストラン勘定を割る友人グループは、チャットで算術を再導出せず重みを使います。学生寮やスポーツチームは異なる重みパターンの一括フィクスチャを生成し、会計係が表のドリフトなしに表を公開できるようにします。SEO スラッグは明細コストとカスタム重み付き共有経費スプリッターを探す人を対象にし、均等なロードトリップ燃料・通行料計算機、チップ分割、取引を分類するだけの LLM ツールとは意図が異なります。ゲストを招くカップルは共有席に二重重み、各ゲストに単一重みを割り当て、people 配列をそのまま支払いリクエストに投稿できます。経費自動化パイプラインは共有イベント後の監査のため expense_total、weight_sum、分担比率、人ごとの owes を保存します。この能力は純粋な parse エンジンなので、API 料金は成功 item あたりの公開ベース $0.002 で、検証失敗は残高を消費しません。
連携の活用例
旅行・イベント経費ボット
領収合計と参加者重みをバックエンドボットに入れ、支払いリクエストが無料ブラウザツールと同じ数学に一致するようにします。
技術的な質問
すべての重みがゼロだとどうなりますか?
リクエストは invalid_input で失敗します。重み合計0はゼロ除算になるため、計算機は分担を捏造しません。
expenses と weights の形式は?
expenses を数値配列(例 [45.5, 30, 24.5])または amount 付きオブジェクト、weights を同様の数値配列(例 [1, 1, 2])で送ってください。任意の names が各人をラベル付けします。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API リクエストは成功 item あたり $0.002 のプリペイド KIT 残高を使い、無効入力は課金されません。