Discounts

Take a percentage or a fixed amount off an invoice, a checkout or specific products.

Discounts are on the Discounts tab in Products. If a discount has a code, customers can enter it at checkout. Without one, you apply the discount yourself to invoices.

The Discounts tab, with each discount's code, status, value and redemptions

Create a discount

  1. In Products, open Discounts and click New discount.
  2. Choose Percentage or Fixed amount, then enter the Name customers see and the Discount percentage or Discount amount.
  3. Optionally choose a Product to limit the discount to. Without one, it applies to all products.
  4. Optionally enter a Discount code, such as SAVE10. Codes are uppercase, and two active discounts can’t share one.
  5. Click Create discount.
Creating a 15% discount with the code SPRING15, limited to 100 redemptions and once per customer

After a discount is created, you can only change its name and whether its code is active. To change its terms, create a new discount.

Restrict a code

Once you enter a code, these options appear:

  • Active: only active codes can be redeemed.
  • Expiration date: the code stops working after this date.
  • Maximum redemptions: how many times the code can be used in total.
  • Minimum purchase amount: the order’s subtotal before discounts, tax and shipping must reach this amount.
  • First purchase only: only customers without a successful payment can redeem it.
  • Limit to once per customer: each customer can redeem it once.

Customers enter their email before they can use a code limited to first purchases or once per customer. When a code can’t be used, the customer sees why, such as “This code has expired.”

Redemptions

The Redemptions column shows how many times a code has been used, and the maximum if you set one. A redemption counts when a customer pays at checkout with the code, including on an invoice’s payment page. Bias checks the code’s restrictions again at that first payment. If none of that checkout’s payments go through, the redemption is released. Refunding a payment doesn’t release it. A code on an invoice that’s charged automatically or paid another way isn’t counted.

Discounts you apply yourself, on an invoice or by ID, aren’t counted. The code’s restrictions don’t apply to them either, and they work whether or not the code is active.

Deactivate or delete a discount

Select discounts in the list and choose Deactivate to stop customers redeeming their codes. Activate turns them back on, unless another active discount already uses the same code.

To delete a discount, choose Delete discount from its menu. Invoices and checkouts that already use it keep their discount.

Discount an invoice

In the invoice form, a discount can apply to the whole invoice or to one line item:

  • Under Invoice discounts, add one discount to the invoice subtotal.
  • On a line item, expand Item details and add Discounts for that line only.

Find an existing discount, or choose Create a new discount to make one without leaving the invoice. Bias calculates taxes on the amount after discounts.

When discounts stack, each line’s own discounts apply first, then the invoice discounts. Within each, percentages apply before fixed amounts, and each discount comes off what the one before it left. A fixed-amount invoice discount is split across the lines in proportion to their amounts. For example, a $100 line with 10% off and an invoice discount of $5 off comes to $85.

Discount codes at checkout

Customers can enter codes on a checkout session when you create it with allow_discount_codes: true. Checkout then shows a Discount code field. If you build your own checkout with Checkout elements, mount DiscountCodeElement where the customer enters a code. On a checkout link, customers can enter codes when you turn on Allow discount codes.

A code at a subscription checkout discounts the first invoice only. Renewals are billed at the full price. Discount codes can’t be used at a checkout that starts with a free trial.

Discounts in the API

Invoices and checkout sessions take discounts as { discount: "discount_..." } to apply a discount by ID, or { code: "SAVE10" } to redeem a code. Each line item can also have its own discounts, which apply to that line alone. A discount applies to an invoice or session at most once. Each returns the terms it applied in discounts, as applied discounts.

A checkout session for an invoice can’t have discounts or codes. Discount the invoice instead.