Besides handling pricing models with various product plans, Upodi support discounting at several levels of the billing cycle. Discounts are percentage (%) based calculations or a flat fee subtraction, which will deduct cost from the price and billing of an invoice.

Discounts are created by navigating to Product Catalog > Discounts.

Discount settings

Full nameNo restrictionsWill not be displayed anywhere. It is for internal use only.
AmountNumeric value, %percentageWill be displayed on the invoice under a separate column called "Discount".
Invoice textNo restrictionsWill be displayed on the invoice lines where the discount applies.
Discount typePercentage, Fixed AmountA discount can be either a percentage or a fixed amount.
Fixed Price DiscountsCurrency and AmountInput the currencies and their amounts that you want to support for the fixed amount discounts.
Expire afterNumeric value * Chosen intervalThis means the discount will automatically expire x time after it has been applied.
Allow one code per SubscriptionTrue/falseIf you set this to true then only one discount can be redeemed per unique subscription.
Allow one code per CustomerTrue/falseIf you set this to true then only one discount can be redeemed per unique customer.


Expire After Edge Case

Having an expire after interval lower than your billing cycle will not calculate the exact cost of the interval. A discount will always give the full discounted amount while active.

For example having a yearly billing cycle and a discount with expire after one month. The discount will apply to the entire invoice, while being active on the invoice date.

Applying a discount

Once a discount is created the discount can be applied to the following levels of a billing:

  • Customer level. The discount will be applied to the customer, and all subscriptions, and all subscription charges below. Only percentage discounts are allowed here.
  • Subscription level. The discount will be applied to the current subscription and all subscription charges below. If a given subscription charge has a discount applied, this discount will overrule.
  • Subscription charge level. The discount will be applied to the subscription charge and carried forward for each billing cycle. Only the specific subscription charge will be discounted. This is applied by viewing an active subscription under Subscription Charges.

If there are several discounts on different levels the most specific discount will overrule. For example if a given subscription has a discount applied, that discount will overrule any potential discount applied at the customer level.

Partner discount modelling

You can use the discount feature of Upodi, combined with parent billing to apply partner based discount fees to customers who is set to bill to parent. It is a common scenario to apply partner based rebates across customers.

In case of parent billing and discounting, each customer is first calculated using the discount approach discribed above, and then the partner discount is re-applied overall.

Discounts are coupled with discount codes.

Fixed amount discounts

Specific to fixed amount discounts there are a few things you need to be aware of.

  • A fixed amount discount creates an invoice line with the negative amount as opposed to the percentage based discounts that apply to the line and subtract from the subtotal.
  • A fixed amount discount can subtract more than the line or invoice total ultimately making it into a credit note.
  • The SKU of the created discount line will be the line's SKU level if the fixed amount is applied on a subscription charge level or the discount.SKU supplied when the discount was created if applied on a subscription level.
  • If the currency of the Subscription is not supported in the fixed amount discount, then you cannot apply it to the subscription nor the lines.


We're always happy to help with code or other questions you might have! Search our documentation or contact helpdesk. You can also chat live with us using the Intercom icon.