How can I create discounts and coupons?


With billwerk it is very easy to manage different discounts. These can be temporary or unlimited and refer to one or more products. They can directly modify the price or be shown separately as a discount. This provides you with another powerful tool for your product and pricing. Discounts are generally defined as a percentage in billwerk. If you want to grant your customer an absolute discount, you can book a component with a negative price. You can book a one-off discount with a metered usage component using a negative price or reduce the price with an "on/off" or "quantity based" component on a recurring basis.

In our signup pages, your customers can use coupon codes to activate a discount.

Important: Discounts are not stackable. When two discounts are reducing the price of the same product, only the highest discount will be used.

Create discount

You can create a new discount at "Products" > "Discounts" with "Add discount".


The dialog for setting the discount properties opens.



Specify an internal name that will be displayed in the billwerk user interface. The description is the output on the invoice, if available. Either as additional text for the invoice item or as text for a separate invoice item.

You can set whether the discount is effective in pricing (no own invoice item) or whether it is displayed as a discount (own invoice item) using the option "Create a separate line item for the discount".

Now set the percentage discount as a discount.

You use the duration to determine whether the discount is unlimited or limited to a certain period.

To determine which products the discount can affect select from the "Targets". You can choose from all packages or package variants and components. With the option "Include setup fee" you can determine whether the discount should also apply to this.

With "Save" you confirm your entries and create the new discount.


Set up coupons

Coupons contain any number of coupon codes / voucher codes that you can provide to your customers to activate discounts for their subscription in self-service. To create a coupon, go to "Products" > "Coupons" and click on "Add coupon".


Specify an internal name that will be displayed in the billwerk user interface. With the option "Enabled" you can activate the coupon with all its codes / vouchers. This is a prerequisite for your customers to be able to redeem coupon codes.

The description can be used in the ordering process to thank the customer if a coupon code is successfully entered, for example, and to inform him/her about the effect of the code (and the associated discount). The description is the output in the order form provided by billwerk.

You can use the "Valid from" and "Valid to" fields to define a time window in which coupon codes can be redeemed. Set it to "Always" and "Forever" if you do not want a time limit.

Now select the discount to be activated when you redeem one of the coupon codes. Important: The discounts must have been set up beforehand.

Enter all the required coupon codes in the last step. Codes are normalized to large alphanumeric characters (e. g., AbC1-DeF2 becomes ABC1DEF2) and codes entered by the customer are also normalized during validation. This means: a code such as "Messe-Aktion 2016" is stored and validated in the billwerk system as "MESSEAKTION2016".

Allowed signs for codes are: A-Z 0-9

If you want to upload several codes at once, you can use the file upload. To do this, create a text file (.txt) with a maximum size of 5 MB, one code per line and a maximum length of 100 characters per code. One coupon, depending on the length of the codes, can contain about 500,000 codes.

Save the coupon after you have entered all codes.

Activate coupon field

Finally, you can now activate the coupon field on the order page. To do so, go to "Settings > Integration > Self-Service > Hosted Signup" and check the box "Ask for coupon code on signup" to activate the field. Finally, click the "Save" button to save the changes.


Coupon Validation

If you want to validate coupon codes via REST API, you can use an order preview. When you transfer a code, the response tells you whether the code is valid or invalid.

The following error codes for invalid codes are returned:

  • InvalidCouponCode (code is invalid, e.g. because the code does not exist in billwerk)
  • InactiveCouponCode (coupon is created in billwerk but not activated by checking the box "Activated" in the coupon settings)
  • CouponAlreadyUsed (code has already been activated in another contract and single-use per code is activated)
  • IncompatibleCouponCode (code is for the wrong plan group)


Was this article helpful?
4 out of 4 found this helpful