# プログラムでクレジットノートを作成する

Invoicing API を使用して、確定済みの請求書をクレジットノートで調整または返金します。

`open` または `paid` の*請求書* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice)の残高を調整するには、[クレジットノート](https://docs.stripe.com/api/credit_notes.md)を生成します。

> ダッシュボードを使用したクレジットノートの処理については、[クレジットノートの発行](https://docs.stripe.com/invoicing/dashboard/credit-notes.md)をご覧ください。

クレジットノートを作成するときは、3 つの方法でクレジット金額を適用できます。

- 請求書のラインアイテムから固定金額を割引します。
- 請求書のラインアイテムから数量を割引します。合計割引額は、割引数量にラインアイテムの単価を乗算した値になります。
- 説明、数量、単価を含むカスタム割引ラインアイテムを追加し、請求書の合計額に割引を適用します。合計割引額は数量に単価を乗算した値になります。

Stripe では、各クレジットをラインアイテムと関連付けているため、可能な場合は請求書のラインアイテムを割引することをお勧めしています。カスタム割引ラインアイテムを追加すると、クレジットが実際の請求書のラインアイテムに関連付けられないため、レポート作成と追跡が困難になる場合があります。

> 請求書のラインアイテムで割引タイプを組み合わせることはできません。たとえば、ラインアイテムの数量を割引すると、将来のクレジットノートではそのラインアイテムを、金額ではなく数量のみで割引できます。ラインアイテムの金額を割引すると、将来のクレジットノートではそのラインアイテムを、数量ではなく金額でのみ割引できます。

## 未払いの請求書に対するクレジットノート

`未払い`の請求書のクレジットノートにカスタムの項目を作成すると、請求書の `amount_due` はクレジットノートの `custom_line_items` に基づいて減額されます。これは、既存の `invoice_line_items` に対するすべての調整に加えて処理されます。たとえば、`未払い`の請求書の未払い額が 100 USD で、`quantity=1` と `unit_amount=2000` を指定して `custom_line_item` を作成すると、請求書の新しい金額は 80 USD になります。

[custom_line_item](https://docs.stripe.com/api/credit_notes/create.md#create_credit_note-lines) を使用する場合は、定額ではなく、`unit_amount` (または `unit_amount_decimal`) と数量を使用してクレジット金額を指定する必要があります。説明を使用してライン項目を記述し、`tax_rates` または `tax_amounts` のいずれかを使用して税金を適用できますが、両方を使用することはできません。

請求書では、クレジットノートは割引や税金の適用後の項目として表示されるため、課税後の調整額となります。請求書の支払金額は、以下の順序で計算されます。

1. 請求書のラインアイテムの合計
1. 割引
1. 課税前の請求書の合計
1. 税金
1. 顧客のクレジット残高
1. 適用されるクレジットノート (総額に対して)
1. 新たな未払い額

請求書にクレジットノートを適用した結果、未払い金額がゼロになる場合、請求書は自動的に `paid` 状態に移行します。既存のラインアイテムの数量または金額を変更する場合は、請求書 ID、ラインアイテム ID、および新しい数量または金額を渡します。ラインアイテムに数量と金額がある場合、更新できるのは数量のみです。それ以外の場合は、金額のみを変更できます。次の例では、数量を 2 個に調整しています。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \
  -d "lines[0][quantity]=2"
```

クレジットノートにカスタムラインアイテムを作成するには、請求書 ID、説明、数量、および単価を渡します。オプションで税率も設定できます。この例では、クレジットノートに 10 USD のカスタムラインアイテムを作成します。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=custom_line_item" \
  -d "lines[0][description]=Courtesy credit" \
  -d "lines[0][quantity]=1" \
  -d "lines[0][unit_amount]=1000"
```

## 支払い済みの請求書に対するクレジットノート

`paid` 請求書に対してクレジットノートを作成する際には、請求書の金額は変化しません。その代わりに、ユーザーは以下の 1 つ以上のオプションを選択できます。

| アクション              | 説明                                      |
| ------------------ | --------------------------------------- |
| 返金の作成              | 請求書の支払いを、顧客の支払い方法に返金します。                |
| 返金をリンク             | 請求書の支払いに対して既存の返金をリンク。                   |
| 顧客のクレジット残高への貸方記入   | 顧客のクレジット残高に貸方記入すると、それ以降の請求書に自動的に適用されます。 |
| Stripe 以外でのクレジット処理 | Stripe 外で調整された金額を、請求書で貸方記入します。          |

次の例では、クレジットノートで返金を作成します。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \
  -d "lines[0][quantity]=2" \
  -d refund_amount=500
```

ここでは、クレジットノートで顧客のクレジット残高への貸方記入を作成します。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \
  -d "lines[0][quantity]=2" \
  -d credit_amount=500
```

複数のパラメーターを組み合わせることもできます。請求書の `amount` から返金額とクレジット額を差し引いた残りの金額は、通常は現金または小切手を使用して Stripe 外でクレジット処理されます。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{INVOICE_LINE_ITEM}}" \
  -d "lines[0][quantity]=2" \
  -d refund_amount=100 \
  -d credit_amount=200 \
  -d out_of_band_amount=200
```

## クレジットノートを無効にする

未払いの請求書の場合にのみクレジットノートを無効にできます。クレジットノートを無効にすると調整が反対仕訳され、請求書の請求金額がクレジットノートの金額分増額されます。クレジットノートを無効にするには、以下を行います。

```curl
curl -X POST https://api.stripe.com/v1/credit_notes/{{CREDIT_NOTE_ID}}/void \
  -u "<<YOUR_SECRET_KEY>>:"
```

## マイナスのラインアイテムの貸方記帳処理

`amount` または `quantity` パラメーターを使用して、マイナスの金額をマイナスの `invoice_line_item` に貸方記入できます。

たとえば、2 つのラインアイテムが含まれる `open` の請求書があるとします。

- `quantity=1` および `unit_amount=10000` のプラスのラインアイテム
- `quantity=1` で `unit_amount=-5000` のマイナスのラインアイテム。

この例では、`amount` パラメーターを使用して、両方のラインアイテムの全額を貸方記入します。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{POSITIVE_INVOICE_LINE_ITEM}}" \
  -d "lines[0][amount]=10000" \
  -d "lines[1][type]=invoice_line_item" \
  -d "lines[1][invoice_line_item]={{NEGATIVE_INVOICE_LINE_ITEM}}" \
  -d "lines[1][amount]=-5000"
```

この例では、`quantity` パラメーターを使用して同じことを行います。

```curl
curl https://api.stripe.com/v1/credit_notes \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d invoice={{INVOICE_ID}} \
  -d "lines[0][type]=invoice_line_item" \
  -d "lines[0][invoice_line_item]={{POSITIVE_INVOICE_LINE_ITEM}}" \
  -d "lines[0][quantity]=1" \
  -d "lines[1][type]=invoice_line_item" \
  -d "lines[1][invoice_line_item]={{NEGATIVE_INVOICE_LINE_ITEM}}" \
  -d "lines[1][quantity]=1"
```

以下の制限が適用されます。

- クレジットノートの合計金額はプラスのままである必要があります。
- マイナスのラインアイテムに貸方記入される合計金額は、マイナスである必要があります。
- マイナスのラインアイテムに貸方記入される合計金額は、ラインアイテムの金額未満にはできません。

`custom_line_item` にマイナスの金額を貸方記入することもできません。 `invoice_line_items` ではマイナスの金額のみがサポートされます。
