# 料金と請求

> voicast の料金（1 分 6 円の従量）と払い方。チャージ式・オートチャージ・チャージの期限、エンタープライズの契約と請求書払い、使いすぎの扱い。

Source: https://voicast.jp/docs/pricing

## 料金

| 項目 | 内容 |
| --- | --- |
| 値段 | 1 分 6 円（税別）。月額・初期費用はありません |
| 数えるもの | つながってから切れるまでの通話の秒数。電話と Web・アプリの区別はありません |
| 環境 | 本番とテストの環境の通話を同じく数えます。無料の分数はありません |
| 消費税 | 10%（外税）。チャージと請求書で足します |
| 含まないもの | 電話番号・回線・通話料（Twilio などサービスの側の契約） |

音声認識・生成 AI・音声合成・要約・連携は料金に含まれます。

## 払い方

払い方は 2 つです。自分で申し込む組織はチャージ式で、エンタープライズの契約の組織は請求書払いも選べます。

| | チャージ式（既定） | 請求書払い（エンタープライズ） |
| --- | --- | --- |
| 払うとき | 先に残高を入れる | 月末締めで後から払う |
| 支払い | カード | 銀行振込 |
| 1 分の値段 | 6 円 | 契約で決めた値段 |
| 引き方 | 通話が終わるごとに残高から引く | 月の合計秒数を 60 で割って切り上げた分数で請求 |

## チャージ式

前払いの残高から、通話が終わるごとに `秒数 × 1 分の値段 ÷ 60` を引きます。1 分 6 円なら 1 秒 0.1 円です。

### チャージ

- 管理画面の「組織の設定」→「請求」か、MCP の `create_topup` で行います（owner だけ）。API キーからは `POST /v1/billing/topups { amount_yen }` でチャージの URL を作れます（支払いは利用者がブラウザで行います）。
- 1 回 500〜300,000 円（税別、1 円単位）。3,000・5,000・10,000・30,000 円はすぐ選べます。
- 消費税を足してカードで払います。支払いごとに適格請求書（登録番号つき）ができます。
- 最初のチャージで使ったカードを保存し、オートチャージに使います。

### 期限

チャージには、それぞれ 6 か月の期限があります。期限の早いチャージから使い、期限が来たら残りは消えます。残高と次に期限が来る額は、管理画面の「請求」・MCP の `get_billing`・API の `GET /v1/billing` で確かめられます。通話ごとの利用料は、通話の `billed_yen` で分かります。

### 残高が無くなったとき

- 残高が **0 以下**になると、新しい通話を断ります。電話は音声サーバーがすぐに接続を閉じ（Twilio は次の処理へ進みます）、Web・アプリは `POST /v1/sessions` が 402 `balance_depleted` になります。
- 始まった通話は途中で切りません。長い通話のあとは残高が少し負になり、次のチャージで埋まります。
- 残高が 0 以下になった通話で、Webhook の `billing.balance_depleted` とメール（owner あて）で知らせます。

### オートチャージ

残高がしきい値を下回ったら、保存したカードで決めた額を自動でチャージします。管理画面の「請求」で設定します。

| 設定 | 範囲 |
| --- | --- |
| しきい値 | 1〜300,000 円（例: 1,000 円） |
| チャージの額 | 500〜300,000 円 |
| 月の上限 | 今月のオートチャージの合計の上限（無しも可） |

- 月の上限を超えるオートチャージはせず、Webhook の `billing.cap_reached`（`kind: 'auto_recharge'`）で知らせます。
- カードで断られたら `billing.recharge_failed` とメールで知らせ、時間をおいて払い直します。3 回続けて断られたら、オートチャージを止めます。
- オートチャージを使わないときは、残高がしきい値を下回ったときに `billing.balance_low` を 1 回送ります。

## エンタープライズの契約

利用の多い組織は、組織ごとの契約で 1 分の値段と払い方を決められます。お問い合わせください。

- 請求書払いでは、月の合計秒数（本番とテストの環境の合計）を 60 で割って切り上げた分数 × 契約の値段を、月末締めの請求書（銀行振込）で請求します。支払い期限は契約で決めます。
- 支払い期限を過ぎると、Webhook の `billing.payment_overdue` とメールで知らせます。期限からちょうど 14 日たっても払われなければ、新しい通話を断ります（402 `payment_overdue`）。払われればすぐに戻ります。

### 使いすぎの上限

請求書払いの組織は、月の上限（税別の円）を決められます。今月の見込みの金額が上限に届くと、新しい通話（本番もテストも）を断り（402 `spending_cap_reached`）、`billing.cap_reached`（`kind: 'usage'`）で知らせます。

上限は管理画面の「請求」で決めます。MCP の `set_spending_cap` では下げるだけができ、上げる・外すのは管理画面だけです。

## テストの環境

テストの環境の通話も、本番と同じ値段で数え、残高から引きます。残高・上限・見込みにも入ります。開発中の試しの通話は短く済ませ、自動のテストで通話をつなぐときは回数に気をつけます。

## 利用の内訳

`GET /v1/usage`（MCP は `get_usage`）で、環境の通話の数・秒数・分数・金額の目安を引けます。サービスの側で、自社の顧客（テナント）に請求するときの内訳に使えます。

```bash
curl "https://api.voicast.jp/v1/usage?from=2026-09-01&to=2026-09-30&group_by=tenant" \
  -H "Authorization: Bearer $VOICAST_API_KEY"
```

```json
{
  "environment": "live",
  "from": 1788188400000,
  "to": 1790780400000,
  "group_by": "tenant",
  "unit_price_yen": 6,
  "total": { "calls": 412, "seconds": 61230, "minutes": 1021, "amount_yen": 6123 },
  "data": [
    {
      "tenant": { "id": "ten_…", "external_id": "clinic-123", "name": "さくら歯科" },
      "calls": 120, "seconds": 17940, "minutes": 299, "amount_yen": 1794
    }
  ]
}
```

| クエリ | 内容 |
| --- | --- |
| `from`・`to` | 日付（`YYYY-MM-DD`、日本時間。`to` はその日を含む）か Unix ミリ秒（`to` はその時刻を含まない）。省くと今月の始まりから今まで。366 日まで |
| `group_by` | `tenant`（テナントごと）・`day`（日ごと）・`channel`（電話 `phone` と Web `web`） |

- 数えるのは、期間内に終わった通話です。
- `minutes` はまとまりごとに秒の合計を 60 で割って切り上げた分数、`amount_yen` は秒数 ÷ 60 × 1 分の値段を円に丸めた目安（税別）です。
- 組織の実際の請求は、チャージ式なら通話ごとに残高から引いた額、請求書払いなら組織の月の合計秒数で決まります。

## 請求書と領収

- チャージの請求書（適格請求書）・カードの変更・請求先は、管理画面の「請求」→「請求の管理」（Stripe の画面）で扱います（owner だけ）。
- 残高の動き（チャージ・通話・期限切れ）は、管理画面の「請求」で 1 件ずつ見られます。
