The discount coupon system described here has now been replaced. There are instruction for the new system in Admin.

Your coupons can have one of the following benefits:

  • A fixed value discount
  • A fixed percentage discount based on the total value of the order
  • Free shipping

The value of discount coupons is added onto any other discount you may have in an order. Fixed value vouchers appear in the totals under the line Vouchers. Free shipping coupons simply reduce the shipping amount to zero.

The instructions below relate to the old discount coupon system which can be accessed via a link at the bottom of the right hand column of the discount coupon page in the cart setup.


Normally coupons are like lottery tickets, they are large numbers, which are checked against the voucher mask to see if they are valid. However in some cases you may want to give lots of different people the same discount, for example if you are running a promotion. In that case you can set an Alias for a coupon, for example it might be FREE101, and anyone entering that coupon code will get the discount.


The coupon mask you enter in the cart setup is composed of letters. The coupon you give to your customer is composed of numbers (unless you are using an alias).

You define what the numbers in a coupon mean in the cart setup in Admin. This is the coupon mask. The simplest and most basic mask will have the form; CMMYYNNNN where:

C Voucher code in the range 1 to 5. It corresponds to one of the five different coupon types you have setup in Admin.
MMYY The expiration date of the voucher.
NNNN The issue number. It must fall within a valid range you specify for each type of voucher. For example; you can specify that only coupons numbered 100 to 9999 are currently valid.



Coupons are validated against your own coupon mask in Admin. This defines what each number in a coupon you issue means. It should be composed of the same characters as above; a C, two Ms, two Ys and a number of Ns matching the maximum range you setup. A coupon mask can also contain noise characters which are ignored.

The most basic coupon mask is CMMYYNNNN. However you can mix-up the characters if you like.

Let's say, for example, you want to issue a coupon:

2 = Type 2 which you may have specified as free shipping, etc.
1201 = An expiration date of 31st December 2001
0123 = It's issued number. Note it is padded out with leading zeros so it fits the number Ns we have in the mask.

Using the coupon mask CMMYYNNNN you would issue; 212010123
Using the coupon mask NMNCMYYNN you would issue; 011220123

Finally, with some noise characters in the mask, for example; NMaNCMYYNaN your could issue; 01912201293 and the two nines are simply ignored.

Clearly, by using this system you could setup coupons which are very hard to guess. But equally it makes them very hard to create! If you are clever though, you might be able to setup a spreadsheet to generate valid coupons using your own mask.

WARNING! If you change you coupon mask then it's almost certainly going to make all your currently issued coupons invalid....