Create a credit note 

Billing
Credit Note
Create a credit note

Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result in any combination of the following:

  • Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
  • Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized.
  • Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).

For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.

You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount or post_payment_credit_notes_amount depending on its status at the time of credit note creation.

Parameters

  • invoicestringRequired

    ID of the invoice.

  • linesarray of objects

    Line items that make up the credit note.

    • lines.typeenumRequired

      Type of the credit note line item, one of invoice_line_item or custom_line_item

      Possible enum values
      custom_line_item
      invoice_line_item
    • lines.amountinteger

      The line item amount to credit. Only valid when type is invoice_line_item. If invoice is set up with automatic_tax[enabled]=true, this amount is tax exclusive

    • lines.descriptionstring

      The description of the credit note line item. Only valid when the type is custom_line_item.

    • lines.invoice_line_itemstring

      The invoice line item to credit. Only valid when the type is invoice_line_item.

    • lines.quantityinteger

      The line item quantity to credit.

    • lines.tax_amountsarray of objects

      A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with tax_rates.

      • lines.tax_amounts.amountintegerRequired

        The amount, in cents, of the tax.

      • lines.tax_amounts.tax_ratestringRequired

        The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.

      • lines.tax_amounts.taxable_amountintegerRequired

        The amount on which tax is calculated, in cents.

    • lines.tax_ratesarray of strings

      The tax rates which apply to the credit note line item. Only valid when the type is custom_line_item and cannot be mixed with tax_amounts.

    • lines.unit_amountinteger

      The integer unit amount in cents of the credit note line item. This unit_amount will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when type is custom_line_item.

    • lines.unit_amount_decimalstring

      Same as unit_amount, but accepts a decimal value in cents with at most 12 decimal places. Only one of unit_amount and unit_amount_decimal can be set.

  • memostring

    The credit note’s memo appears on the credit note PDF.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

  • reasonenum

    Reason for issuing this credit note, one of duplicate, fraudulent, order_change, or product_unsatisfactory

    Possible enum values
    duplicate
    fraudulent
    order_change
    product_unsatisfactory

More parameters

  • amountinteger

    The integer amount in cents representing the total amount of the credit note.

  • credit_amountinteger

    The integer amount in cents representing the amount to credit the customer’s balance, which will be automatically applied to their next invoice.

  • effective_attimestamp

    The date when this credit note is in effect. Same as created unless overwritten. When defined, this value replaces the system-generated ‘Date of issue’ printed on the credit note PDF.

  • email_typeenum

    Type of email to send to the customer, one of credit_note or none and the default is credit_note.

    Possible enum values
    credit_note

    credit note email

    none

    no email

  • out_of_band_amountinteger

    The integer amount in cents representing the amount that is credited outside of Stripe.

  • refundstring

    ID of an existing refund to link this credit note to.

  • refund_amountinteger

    The integer amount in cents representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.

  • shipping_costobject

    When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.

    • shipping_cost.shipping_ratestringRequired if shipping cost should be included for credit note

      The ID of the shipping rate to use for this order.

Returns

Returns a credit note object if the call succeeded.

POST /v1/credit_notes
curl https://api.stripe.com/v1/credit_notes \
-u "sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \
-d invoice=in_1MxvRkLkdIwHu7ixABNtI99m
Response
{
"id": "cn_1MxvRqLkdIwHu7ixY0xbUcxk",
"object": "credit_note",
"amount": 1099,
"amount_shipping": 0,
"created": 1681750958,
"currency": "usd",
"customer": "cus_NjLgPhUokHubJC",
"customer_balance_transaction": null,
"discount_amount": 0,
"discount_amounts": [],
"invoice": "in_1MxvRkLkdIwHu7ixABNtI99m",
"lines": {
"object": "list",
"data": [
{
"id": "cnli_1MxvRqLkdIwHu7ixFpdhBFQf",
"object": "credit_note_line_item",
"amount": 1099,
"amount_excluding_tax": 1099,
"description": "T-shirt",
"discount_amount": 0,
"discount_amounts": [],
"invoice_line_item": "il_1MxvRlLkdIwHu7ixnkbntxUV",
"livemode": false,
"quantity": 1,
"tax_amounts": [],
"tax_rates": [],
"type": "invoice_line_item",
"unit_amount": 1099,
"unit_amount_decimal": "1099",
"unit_amount_excluding_tax": "1099"
}
],
"has_more": false,
"url": "/v1/credit_notes/cn_1MxvRqLkdIwHu7ixY0xbUcxk/lines"
},
"livemode": false,
"memo": null,
"metadata": {},
"number": "C9E0C52C-0036-CN-01",
"out_of_band_amount": null,
"pdf": "https://pay.stripe.com/credit_notes/acct_1M2JTkLkdIwHu7ix/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9Oak9FOUtQNFlPdk52UXhFd2Z4SU45alpEd21kd0Y4LDcyMjkxNzU50200cROQsSK2/pdf?s=ap",
"reason": null,
"refund": null,
"shipping_cost": null,
"status": "issued",
"subtotal": 1099,
"subtotal_excluding_tax": 1099,
"tax_amounts": [],
"total": 1099,
"total_excluding_tax": 1099,
"type": "pre_payment",
"voided_at": null
}