共有出費
TIP
レストランの支払いグループ旅行の費用を精算する方法を手早く知りたいですか? 割り勘(共有出費)ガイド をご覧ください。
「共有出費」(SharedPay)は、グループで発生した費用を記録し、誰が誰にいくら支払うべきかを 常に把握できる機能です。費用が発生したタイミングで入力し、残高画面でいつでも確認でき、 お金のやり取りがあれば精算として記録できます。Splitwiseに似た仕組みですが、在庫管理・ ボード・カレンダーと同じMottainaiの中に統合されています。
使い方
- ダッシュボードからグループを作成する(「夏の旅行」や「シェアハウス 3B」のような名前をつけます)。 グループごとに独立した費用リストと残高画面があります。
- メンバーを追加する — Mottainaiのユーザーを招待するか、アカウントなしのゲストを追加します (詳細は後述)。
- 費用をその都度記録する — 誰が払ったか、金額はいくらか、どう分担するかを入力します。
- 残高を確認する — 誰が誰にいくら支払うべきかが、自動で計算されて表示されます。
- 精算を記録する — 実際にお金が動いたら精算として記録します。残高がすぐに更新されます。
費用の追加
費用には、タイトル・合計金額・支払者・分担方法を入力します。
分担方法
状況に合わせて5つの方法から選べます。
均等割り — 合計金額をメンバー全員で均等に分けます。
例:4人で€80の夕食 — 1人あたり€20。
金額指定 — 一人ひとりに具体的な金額を指定します。
例:アリスはダブルルーム(€60)、ボブはシングルルーム(€40)— そのまま入力します。
割合指定 — 合計金額に対するパーセンテージを一人ひとりに設定します。
例:€100の食料品をアリス50%・ボブ30%・キャロル20%で分担。
シェア数 — シェア数を割り当てて比例配分します。
例:山小屋に3泊。アリスとボブは長く滞在したので各2シェア、キャロルは1シェア。 €100の場合、アリス€40・ボブ€40・キャロル€20。
調整あり均等割り — まず均等に分けてから、一人ひとりに金額を加減します。
例:€100を3人で割ると約€33ずつ。ただしアリスが追加注文したので+€10 — その分を 他の2人から差し引きます。
アカウントなしのゲスト
Mottainaiのアカウントを持っていない人も費用に含められます。週末に遊びに来た友人、 現金で払った同僚、ログインが不要な誰でも構いません。名前を入力するだけで、その人は 他のメンバーと同じように費用や残高に登場します。グループのオーナーが代わりに管理します。
残高
残高画面では、すべての費用と精算をもとに「誰が誰にいくら支払うべきか」が自動計算されて 表示されます。Mottainaiは債務をシンプルにまとめます。たとえばアリスがボブに€10を借りており、 ボブがキャロルに€10を借りている場合、「アリス → キャロル €10」と一本化されます。 支払い回数が減り、清算がスムーズになります。
金額は精密に保存されるため、何度分割しても丸め誤差が生じません。
精算
誰かが借金を返したら、精算として記録します。誰が誰に何を支払ったかを入力するだけで、 残高がすぐに更新されます。精算は常に2人の間の直接のやり取りで、さらに分割されることはありません。
カレンダー連携
費用の日付は、カレンダー集約ビューに終日イベントとして表示できます。 カレンダー設定の その他のソース → 共有出費 でオン・オフを切り替えられます。 イベントをクリックすると、共有出費の詳細画面に直接移動します。
開発者向け
以下のセクションは、CLI・AIアシスタント(MCP)・APIによるプログラムアクセス向けです。接続方法は MCP と CLI を参照してください。
CLI
# グループ管理
mo sharedpay list
mo sharedpay create --name "Summer Trip" --currency EUR
mo sharedpay get SHAREDPAY_ID
mo sharedpay update SHAREDPAY_ID --name "Eurotrip 2026"
mo sharedpay delete SHAREDPAY_ID --yes
# 費用(金額はセント単位: 3500 = €35.00)
mo sharedpay expense list SHAREDPAY_ID [--kind expense] [--currency EUR]
mo sharedpay expense create SHAREDPAY_ID --title "Groceries" --amount 3500 [--payer USER_ID]
mo sharedpay expense delete EXPENSE_ID --yes
# 残高
mo sharedpay balance SHAREDPAY_ID
# ファントム参加者(アカウントなしのゲスト)
mo sharedpay phantom list SHAREDPAY_ID
mo sharedpay phantom create SHAREDPAY_ID --name "Alice"
mo sharedpay phantom rename SHAREDPAY_ID PHANTOM_ID --name "Alice B."
# メンバーとグループ
mo sharedpay member list SHAREDPAY_ID
mo sharedpay member add SHAREDPAY_ID --email user@example.com
mo sharedpay member update-role SHAREDPAY_ID USER_ID --role admin
mo sharedpay member remove SHAREDPAY_ID USER_ID --yes
mo sharedpay group list SHAREDPAY_ID
mo sharedpay group link SHAREDPAY_ID --group-id GROUP_IDMCPツール
MottainaiのMCP統合を通じてAIアシスタントを使用する際に利用できます。
list_sharedpays— すべてのグループを一覧表示create_sharedpay— 新しいグループを作成get_sharedpay— グループの詳細と設定を取得update_sharedpay— グループ名・通貨・説明を更新delete_sharedpay— グループを削除(オーナーのみ)list_sharedpay_members— 登録ユーザーのメンバーを一覧表示list_sharedpay_phantoms— ファントム参加者を一覧表示create_sharedpay_phantom— ファントム参加者を追加update_sharedpay_phantom— ファントム参加者の名前を変更list_sharedpay_expenses— 費用と精算のページ付き一覧create_sharedpay_expense— 柔軟な分担方法で費用を記録update_sharedpay_expense— 既存の費用を編集delete_sharedpay_expense— 費用を削除create_sharedpay_settlement— 2人の参加者間の支払いを記録get_sharedpay_balances— 純残高と最小振替提案を取得
APIエンドポイント
| メソッド | パス | 説明 |
|---|---|---|
GET | /api/containers?type=sharedpay | グループ一覧 |
POST | /api/containers | グループ作成(bodyにtype=sharedpay) |
GET | /api/containers/{id} | グループ取得 |
PUT | /api/containers/{id} | グループ更新 |
DELETE | /api/containers/{id} | グループ削除 |
GET | /api/containers/{id}/members | メンバー一覧 |
POST | /api/containers/{id}/members | メンバー追加 |
DELETE | /api/containers/{id}/members/{userId} | メンバー削除 |
GET | /api/containers/{id}/items | 費用・精算一覧 |
POST | /api/containers/{id}/items | 費用または精算を作成 |
PUT | /api/items/{itemId} | 費用を更新 |
DELETE | /api/items/{itemId} | 費用を削除 |
GET | /api/containers/{id}/balances | 残高と振替提案を取得 |
GET | /api/containers/{id}/phantoms | ファントム参加者一覧 |
POST | /api/containers/{id}/phantoms | ファントム参加者を追加 |
PUT | /api/containers/{id}/phantoms/{phantomId} | ファントム参加者の名前を変更 |
DELETE | /api/containers/{id}/phantoms/{phantomId} | ファントム参加者を削除 |
金額はすべて整数のセント値として保存されます(€50.00 = 5000)。複数の分割計算における 浮動小数点の丸め誤差を防ぐためです。残高エンドポイントは貪欲法による債務簡略化アルゴリズムを 使用し、最小限の { from, to, amount } ペアを返します。完全なAPIリファレンスは /api/docs をご覧ください。