For AI agents and LLMs: a structured documentation index is available at /llms.txt. Every page has a Markdown sibling — append .md to any URL.

Skip to content
Docs

Discount reports

Generate detailed reports about discounts in your catalog, including their usage, status, and configuration.

AI summary

Discount reports let you audit your full discount catalog and track redemption counts, with filters for status (active, archived, expired, used) and type (flat, flat per seat, percentage).

  • • The times_used column shows how many times each discount has been redeemed, so you can measure campaign performance directly.
  • • Discounts transition automatically to expired or used status when their expires_at date elapses or usage_limit is reached — reports capture these terminal states.
  • • The type filter distinguishes flat, flat-per-seat, and percentage discounts, useful when analyzing discount impact on revenue by structure.

Discounts let you reduce the amount a customer has to pay for a transaction. Discounts are sometimes called coupons or promo codes.

When to use

  • Audit your discount catalog
    Review active, archived, expired, and used discounts in one place.
  • Track promotion performance
    See redemption counts and how often each discount has been used.
  • Investigate specific discount activity
    Filter by status and type to surface discounts relevant to a campaign or accounting period.

Report filters

When generating discount reports, you can filter by:

FieldDescription
Updated dateThe date a discount was last modified. Matches entities modified on or after the start date and before the end date.
StatusThe current status of the discount.
  • Active: Discount is active and can be used.
  • Archived: Discount is archived, so can't be used.
  • Expired: Discount has expired. Automatically set by Paddle when the expires_at date elapses.
  • Used: Discount has reached the maximum amount of redemptions. Automatically set by Paddle when the usage_limit is reached.
TypeThe kind of discount.
  • Flat: Discounts a transaction by a flat amount, for example -$100 off the total.
  • Flat per seat: Discounts a transaction by a flat amount per unit, for example -$100 each unit.
  • Percentage: Discounts a transaction by a percentage of the total, for example 10%.

Report columns

Column headings on discount reports mirror fields in the Paddle API. Data is provided in the following columns:

discount_idstring
Example: dsc_01gv5kpg05xp104ek2fmgjwttf
Unique Paddle ID for this discount, prefixed with dsc_.
Pattern: ^dsc_[a-z\d]{26}$
statusstring
Whether this entity can be used in Paddle.
Values
  • active
    Entity is active and can be used.
  • archived
    Entity is archived, so can't be used.
typestring
Type of discount.
Values
  • flat
    Discounts a transaction by a flat amount, e.g. -$100. Requires currency_code.
  • flat_per_seat
    Discounts a transaction by a flat amount per unit Requires currency_code.
  • percentage
    Discounts a transaction by a percentage of the total, e.g. 10%. Maximum 100%.
discount_amountstring
Amount to discount by. For percentage discounts, must be an amount between 0.01 and 100. For flat and flat_per_seat discounts, amount in the lowest denomination for a currency.
discount_currencystring | null
Supported three-letter ISO 4217 currency code. Required where discount type is flat or flat_per_seat.
Values
  • USD
    United States Dollar
  • EUR
    Euro
  • GBP
    Pound Sterling
  • JPY
    Japanese Yen
  • AUD
    Australian Dollar
+ Show all values
  • CAD
    Canadian Dollar
  • CHF
    Swiss Franc
  • HKD
    Hong Kong Dollar
  • SGD
    Singapore Dollar
  • SEK
    Swedish Krona
  • ARS
    Argentine Peso
  • BRL
    Brazilian Real
  • CLP
    Chilean Peso
  • CNY
    Chinese Yuan
  • COP
    Colombian Peso
  • CZK
    Czech Koruna
  • DKK
    Danish Krone
  • HUF
    Hungarian Forint
  • ILS
    Israeli Shekel
  • INR
    Indian Rupee
  • KRW
    South Korean Won
  • MXN
    Mexican Peso
  • NOK
    Norwegian Krone
  • NZD
    New Zealand Dollar
  • PEN
    Peruvian Sol
  • PLN
    Polish Zloty
  • RUB
    Russian Ruble
  • THB
    Thai Baht
  • TRY
    Turkish Lira
  • TWD
    New Taiwan Dollar
  • UAH
    Ukrainian Hryvnia
  • VND
    Vietnamese Dong
  • ZAR
    South African Rand
recurboolean
Default: false
Whether this discount applies for multiple billing periods.
maximum_recurring_intervalsinteger | null
Amount of subscription billing periods that this discount recurs for. Requires recur. null if this discount recurs forever.
usage_limitinteger | null
Maximum amount of times this discount can be used. This is an overall limit, rather than a per-customer limit. null if this discount can be used an unlimited amount of times.
restrict_tostring
Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. null if this discount applies to all products and prices.
expires_atstring (date-time) | null
Example: 2024-10-12T07:20:50.52Z
RFC 3339 datetime string of when this discount expires. Discount can no longer be applied after this date has elapsed. null if this discount can be applied forever.
created_atstring (date-time)
Example: 2024-10-12T07:20:50.52Z
RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
updated_atstring (date-time)
Example: 2024-10-13T07:20:50.52Z
RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.

Was this page helpful?