Skip to main content

Transform Help Center

How can I create discounts and coupons?

Table of contents

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.


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

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


  2. The dialog for setting the discount properties opens.


  3. Specify an internal name that will be displayed in the billwerk user interface.

  4. 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.

  5. 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.

  6. Now set the percentage discount as a discount.

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

  8. To determine which products the discount can affect select from the Targets. You can choose from all packages or package variants and components.

  9. With the option Include setup fee you can determine whether the discount should also apply to this.

  10. Confirm your entries and create the new discount by clicking the Save button.

Setting up coupons


The discounts must have been set up beforehand.

  1. 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".


  2. Specify an internal name that will be displayed in the billwerk user interface.

  3. 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.

  4. If you activate Single use, each code can only be used exactly once and then loses its validity. If this is not activated, the same code can be used in several contracts.

  5. 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.

  6. 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.

  7. Now select the discount to be activated when you redeem one of the coupon codes.

  8. 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

  9. Save the coupon after you have entered all codes.

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.

Activating coupon fields

Finally, you can now activate the coupon field on the order page.

  1. To do so, go to "Settings > Integration > Self-Service > Hosted Signup".

  2. To activate the field, activate the checkbox Ask for coupon code on signup.

  3. To save the changes, click the Save button.


Coupon Validation
  • A discount is used for all bookings of the corresponding component within a single contract, even if a coupon with set one-time use is based on it. So, for example, if you add a discounted component later for the respective customer, the corresponding discount will be applied permanently, after the initial one-time input of the coupon. How long the discount is applied depends on the duration set in the discount from the start of application in a contract.

  • If the application of a discount is to be terminated or cancelled at a past date, note that corrective bookings will be triggered if necessary.

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)