Important Notice from AspDotNetStorefront
It is with dismay that we report that we have been forced, through the action of hackers, to shut off write-access to this forum. We are keen to leave the wealth of material available to you for research. We have opened a new forum from which our community of users can seek help, support and advice from us and from each other. To post a new question to our community, please visit: http://forums.vortx.com
Results 1 to 11 of 11

Thread: Coupon crazyness

  1. #1
    Analogue is offline Member
    Join Date
    Sep 2008
    Posts
    48

    Default Coupon crazyness

    We're running ML 8 - in general really happy with it.

    PROBLEM 1
    We just ran a coupon code that was set to restrict to two manufacturers by entering their manufacturer ID's like 1,2 in the Valid For Manufacturer(s): field of the form. But when someone adds items to cart from these brands and another brand that is outside of those ids it still applys a discount to the subtotal. So it's indescriminate of the manu ids. So - as long as you have one of the specified manufacturers items in your cart you can get a discount on ANYTHING else you add - which is not good.

    I see there is drop down for 'applies to order sub total' (which is what i have it set to) & only applies to specific products (which i assume is for when you specify a productid??). I can't edit this on the page because of problem 2 below!! I have to change it in the db (0 or 1) directly & neither option solve the problem.

    PROBLEM 2
    We also have a problem when we insert a coupon and set the date. We are in the UK so our single locale is en-GB & dates are formatted DD/MM/YYYY (the proper format!!! ) but when i save the coupon form it errors. so to get aorund this i have to enter an expiry date like 01/01/2010..............then go to the database in SQL management studio and manually update the date to like 24/11/2010. This is a huge pain in the rear.


    Hope someone can help. Thanks
    Last edited by Analogue; 11-20-2009 at 08:57 AM.

  2. #2
    BFG 9000 is offline Senior Member
    Join Date
    Oct 2006
    Location
    South UK
    Posts
    882

    Default

    What version are you on?
    I had your send issue with an older version....

    For your first problem, you need to select 'applies to specific products'.

    A workaround for your second problem - have you tried entering the date in the American (wrong) format - e.g. 11/24/2010


    TTFN

    BFG

  3. #3
    Dusty is offline Member
    Join Date
    Jun 2009
    Posts
    176

    Default

    As to the former of your issues, any restrictions on a coupon only qualifies whether or not it can be used and the coupon will still apply to the entire order. Alternatively you could create items coupons, while this is administratively more difficult but such would be the only way to restrict the discount to a portion of the order.

    As to the latter of your issues, is your web server's localization also set to en-GB? In that it seems the validation is failing on the web server as you're able to manually adjust the date on the SQL Server.

  4. #4
    Analogue is offline Member
    Join Date
    Sep 2008
    Posts
    48

    Default

    OK, so it looks like we can't do manufacturer specific codes - I've tried both apply to product & apply to subtotal. As we run thousands of fast moving products it would be too labour intensive to make a coupon specific to each product. As long as we know we can work around it and be creative in different ways.

    I would be tempted to remove that field as it's quite misleading.



    On the date issue - our sql server db was set to us-english, so i changed that to british-english. Rebooted the machine and tried again. Still got the same strangely.

    I turned custom errors off in the webconfig for a moment & grabbed this as the error.

    "Arithmetic overflow error converting expression to data type datetime.
    The statement has been terminated."


    [SqlException (0x80131904): Arithmetic overflow error converting expression to data type datetime.
    The statement has been terminated.]
    AspDotNetStorefrontCore.DB.ExecuteSQL(String Sql) +240
    editCoupons.btnSubmit_Click(Object sender, EventArgs e) +3109
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
    System.Web.UI.WebControls.Button.RaisePostBackEven t(String eventArgument) +110
    System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +10
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +13
    System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +36
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

  5. #5
    Analogue is offline Member
    Join Date
    Sep 2008
    Posts
    48

    Default

    Actually I'm getting it in the neck about this one from my client. They're givng a bit of grief saying that magento does this - how come this store doesn't. Baaaaaa.

    In times like these when we need to do promos and incentives it's evident that there is a bit of a weakness in ASPDNSF when it comes to promos, value adds etc. I think this area needs more work. Hopefully it will come in a near future release because not being able to lock these coupons down is going to leak money.....& I'm not sure these guys will have the patience.

  6. #6
    ssgumby is offline Senior Member
    Join Date
    Feb 2009
    Posts
    683

    Default

    I tend to agree with you Anaolgue ... when the coupon screen says "applies to these products" you are lead to believe it is ONLY those products. We ran into this same issue .. we had a manufacturer that was offering to cover the cost of us shipping as a promo .. I had to modify the code to handle this as we cant give free shipping across the board.

  7. #7
    BFG 9000 is offline Senior Member
    Join Date
    Oct 2006
    Location
    South UK
    Posts
    882

    Default

    As I said before - you need to select "applies to the specified products".
    You then specify the products by limiting it to a particular manufacturer.
    I don't use manufacturers so for this example I've used categories - but manufacturers work the same way.

    Look at this screengrab of how I've set up a code :-
    http://www.twitpic.com/qa25o

    Then look at what happens in the cart :-
    http://www.twitpic.com/qa2ot

    The first product IS in cat 426 - so the price of that one item is reduced by 10% (1.08). The second item is NOT in cat 426 so the price is NOT discounted.

    You can see that the price after discount is £1.08 lower - rather than £102.48 lower.

    Hope this helps you clear it up.


    (Also did you try typing the date in the American format?)


    TTFN

    BFG

  8. #8
    BFG 9000 is offline Senior Member
    Join Date
    Oct 2006
    Location
    South UK
    Posts
    882

    Default

    Incidentally - if you're in the UK - I'll leave that discount code live for a few days......


    TTFN

    BFG

  9. #9
    Analogue is offline Member
    Join Date
    Sep 2008
    Posts
    48

    Default

    Thanks BFG I will try those out during today and report back monday.

    Huge thanks for the reponses.
    Last edited by Analogue; 11-21-2009 at 03:53 AM.

  10. #10
    Analogue is offline Member
    Join Date
    Sep 2008
    Posts
    48

    Default

    Couldn't wait til monday to try it out - so i neglected my kids and did it on saturday...now i'm really in trouble! haha.

    OK, US & UK date formats error the same no matter which I use so I had to just enter 12/12/2009 - I'll now go and amend direct in the db.

    Version # is 8.0.1.2 C#

    I changed to comma separated CATEGORY numbers 137,184,182,261,321,271,425 and this indeed gives me a positive result when combined with "applies to the specified products". In our case our manufacturers are mapped to their own cats within a mother category (See http://www.boardwise.com/c-93-mens-s...g-jackets.aspx) so it's only a 10 minute job to identify those categories.

    It's good to find a work around but, I would really, really, really like to be able to just do it by manufacturer id because there are times when we have mongrel categories with all sorts of brands mapped into the mix this method falls flat.

    I truly hope this will be taken on board and improved for the future. The whole web dev industry is a workaround - which as a developer I understand...but end users just don't get it. I had 4 x 20 minute phone calls in one day asking 'So why is there a Manufacturers box on the form if it doesn't work'................and that was something I didn't have a good answer for.

    On a positive note - they're taking money and sales are up 400% on what they were Nov 2008....so it's not all bad! Don't want this to be all doom and gloom because it's definitely not.

    Big thanks to the team and all who power this thing. Keep it up.
    Last edited by Analogue; 11-21-2009 at 04:01 AM.

  11. #11
    ssgumby is offline Senior Member
    Join Date
    Feb 2009
    Posts
    683

    Default

    Guess I should have been more clear ... applies to products works for discounts, does not work is you are offering free shipping. The free shipping will apply to ALL products without regard to the product id's you place.

    This is not a defect, its stated in the manual, but something I think should be a little more clear and ultimately work properly. It wasnt a huge change for me to make it work right in my own code base.