This question has been flagged
8 Replies
5357 Views

How might be the best approach for coupons and gift certificates? thanks

Avatar
Discard
Best Answer

One workaround I have heard of:

Create a consumable product called 'COUPON' or 'GIFT CERTIFICATE' with a NEGATIVE sale price for the value of the coupon (if you have many different coupons, you can make many of these 'products').

Since it is consumable it will never be ordered and you will be able to track how many coupons have been 'used' by looking at the negative inventory quantity.

If your coupon or gift certificate is for a PERCENTAGE, then you can make a consumable product with no sale price - and use the discount functionality on the sales order. The only reason for adding the product in this case is so later you can work out which orders used the coupon/gift certificate.

There are other solutions (usually in conjunction with e-commerce system integration)

Avatar
Discard
Author

Awesome. That made sense and I should have thought of it beforehand. Much appreciated.

When a customer buys products and uses his gift certificate that he got from a friend, then sure, the price should be negative. But when he buys a gift certificate to give to a friend, then the price should be positive. Also, working with coupons and gift certificates has implications on accounting. You cannot add VAT on a coupon (Because there is no way of knowing what products will be bought with the coupon, so no way of knowing what VAT those products have.)

Also, when selling a gift certificate, this should be booked as deferred income (not 100% sure if deferred income is the correct English translation) and can only be booked as income when the gift certificate is used by the customer or whenever it expires... So it is more complex then just creating a consumable product with a negative salesprice. This leads to my question... Is there a module for coupons?

Good points. The income account of any product can be set directly from the product form view. This can be changed to deferred income if you want.

Thx, you can set the account both on product or on product category. I created a specific product category for these products.

When a customer wants to buy a gift certificate, I add 1 * 100 EURO to a sales order. When a customer wants to use a gift certificate, I add -1 * 100 EURO to a sales order. But then I get this error: Data Insufficient!

Please check the quantity in procurement order(s) for the product "Geschenkbon 100 EURO", it should not be 0 or less!

So I can't sell negative quantities?? How to solve this. I think I have seen negative quantities in SO in OpenERP before, so it must be a setting?

Best Answer

Can we agree on the following:

a) when a customer buys and pays for a Gift certificate to be used in the future, the amount of money is to be recorded as a debt (to a customer); no revenue to be recorded; accounting entry is debit bank/ credit customer account)

b) when the certificate is used by the third party who received it (a gift), then the dollar value (previously cashed in) is deducted from the actual order (whatever the articles are bought); accounting entries are then:

  1. credit revenue

  2. credit sales taxes to be paid to authorities

  3. debit customer account for the amount of the initial value of the gift (cancelling the "debt (see above))

  4. debit bank or cash for the balance amount


In case the gift is not used after a certain date (peremption date) the its amount (previously recorded as a debt) is cancelled; this constitues then an exceptionnal revenue (with or without VAT or any other taxes depending on local rules)


If this is correct, how to implement this solution within the Odoo (V8 or V9) framework, namely at the Point of sale level?

Avatar
Discard

commenting myself! Seems that we can a) create a sale for a coupon (product to create with variants) b) ceate the payment (cash or any other method) c) create a return BUT WITHOUT creating a payment; thus the customer account still records a debt d) when the coupon is effectively used for a sale, its amount will be used for the payment of the sale. To do this, we can create a method of payment called Coupon.