I have come across this several times when selling a prepackaged solution.

Customer buys the package, which clearly sets out that it can do XYZ, but the customer wanted it to do ABC.

The customer then emails for support. I inform the customer that the product was never designed for the purpose they had in mind (integrating it with another product).

The customer asks for a refund as they cannot use the product.

This is where I'm in two minds. First, the product is fully functioning and they have now obtained the source code (PHP script). How am I to know they aren't going to use it anyway and still want a refund?

Second, I do feel bad for the customer. If they're being honest, and most are, then they cannot use the product and therefore "wasted" the money in their eyes. But, that wasn't my fault.

Up until now I've refunded the money if requested, but now I'm comparing what I do with how bigger companies deal with this kind of situation. What would they do? Maybe because they're bigger, they don't care about a few refunds every now and then, but to a one man band like me, every sale is needed!

What is the best way to deal with this kind of situation?

  • 7
    After reading the website (php121.com), I've noticed that you say that it can be integrated with two products, and that more will be coming in the future. That's important because it leaves open to the customer that you should (at some point) be able to integrate it with vBulletin or another product. May 13, 2011 at 14:29
  • 1
    Correct, at some point it may be possible, but if the customer buys the product expecting product X to already be supported when it's not on that list, I don't really feel I'm at fault here.
    – psx
    May 13, 2011 at 14:44
  • 8
    it is clear from your comments on every answer that you already know what you want to do and were waiting for the first answer to pop up to agree with you, perhaps to make you feel better about it. Seeing as though that is the least voted answer, I'd suggest you rethink your strategy.
    – Kevin Peno
    May 13, 2011 at 15:47
  • @Kevin @psynnott Let's leave the discussion where it's at now. If you want to continue, please use chat. Thanks.
    – Adam Lear
    May 13, 2011 at 17:31
  • 3
    @George If we are looking at the same part of the website, it actually says, "can be easily integrated into other systems such as PHPNuke and phpBB." So @psynnott the way this is worded, it is an incomplete list. You are not saying that it integrates ONLY with PHPNuke and phpBB; you are saying it integrates with systems SUCH AS those. You have misinformed your customers this way, and you owe them refunds upon request.
    – Corey
    May 16, 2011 at 14:30

8 Answers 8


While I agree in a service industry reputation is a key issue, one of the things that nullifies that is the unlikelihood of "word of mouth" sales, repeat customers, or any of the other hallmarks of a good reputation. If you're a one man software seller, then it's unlikely you're offering a ton of products, particularly if they're as complicated as this one likely is given some of the hints in your comments.

While I agree with @George Stocker that the number of these requests points to a potential problem in the "clearness" of your product's capabilities, I also agree (though less aggressively towards customers) with his commenter @SLC that customers may tend to be lazy with respect to ascertaining product features.

My opinion (and personal practice for my own side projects) is this:

  1. With a clearly visible source code there should be a key activation mechanism within the software that allows operation of the software for 30/60/90/whatever days. It doesn't have to be enterprise level suitable for Microsoft or anything, but something that makes it very unattractive to try to "get around". During the period, if the product is undesired, their money is refunded and the key no longer works at the end of it. If a refund is not requested, a new key is delivered and no refund is given from then on.
  2. If someone is not smart enough to try before they buy or throws money down on a product without verifying first that it will do what they need, then they deserve to be separated from their money. Make it clear on your website that services and products are offered without refund at all or after a certain amount of time, etc. If you use the method I mention in #1 mention that.
  3. Research the return policies for software at major companies (software in the box). See if any of them might be compatible with your capabilities. Most won't accept refunds on opened software or will refund a certain amount minus a restocking fee. When you ship the code, it is considered immediately opened software, and these policies may be helpful to you.

In all aspects of purchasing/selling I involve myself in, I operate under the phrase "Caveat emptor". It's the responsibility of the purchaser to make sure they know what they're buying. You're not out there smooth talking these people into buying your software, it's being purchased through your website. They're not being taken for a ride, they're being frivolous with their money, and their carelessness will only end up costing you money in sales and time spent dealing with it.

On the other hand, if you are out there smooth talking them out of their wallets, give their money back, ya crook.

  • 2
    While I agree with you to some extent, asking a customer to do something other than install after installation has already happened because some people request refunds is not good for usability. In fact, it will likely increase your support request via "product stopped working after 30/60/90 days!!!". If you want to say "sorry sucks for you, my money now", that's fine. Don't piss off your happy customers too.
    – Kevin Peno
    May 13, 2011 at 15:38
  • @Kevin Peno: That idea is not a fully formed operational idea ready to be an implemented policy. It's just a matter of identifying that some limit is necessary to prevent improperly purchased software from functioning. This also would depend on the severity of problem. Microsoft has no problem turning your OS off after 90 days if you don't activate it properly, but they also have a severe problem with software theft. If one only has a few customers causing this problem, it should probably be handled through policy rather than technology. Usability should come first, I agree. May 13, 2011 at 15:46
  • sounds like we're on the same page.
    – Kevin Peno
    May 13, 2011 at 15:50

Refund him without asking questions.

You don't want his money if he is not completely satisfied.

Those cases in Software will be very limited according to literally dozens of stats reported by software vendors in this forum. My own numbers were under 0,3% over the past ten years, and dropped it to 0% over the past 2 years.

A very good example of guarantee can be found here. Almost all successful software vendors are proposing the same guarantee.

If your refund rate is more than 1%, change how you communicate on your website and/or improve your product.


If 'several people' are doing this, then:

  1. The branding isn't as clear as you think it is. Make it clearer. Hire someone who does this for a living.

  2. If you're worried about people taking your source code and using it anyway, then maybe you shouldn't be writing it in PHP, or have some sort of authentication?

Overall, if you can you want to maintain a good rapport with customers (present and past), so unless there's a compelling reason not to, giving refunds (no questions asked) is usually a good thing.

After looking at your website (by searching for your user name and seeing it on twitter), I noticed the following:

You say that it can be integrated with two products, and that more will be coming in the future. That's important because it leaves open to the customer that you should (at some point) be able to integrate it with vBulletin or another product.

  • 1
    I think you overestimate people's ability to read, as a programmer, you should know that the customer is often a moron. As for 'you shouldn't be writing it in PHP', that is just plain silly.
    – NibblyPig
    May 13, 2011 at 11:58
  • There is a full demo available on the download site. Not sure how I could actually make the product clearer to the customer when they have full access to it before purchase? I have to disagree with the PHP comment...!
    – psx
    May 13, 2011 at 12:12
  • 9
    @SLC I disagree with 'moron'. The customer may not understand programmer lingo, or business lingo, but that doesn't make them a moron. If you didn't understand Lawyer-ese, would that make you a moron? Of course not. Regarding PHP: If he's giving out the source code (as is the case with PHP), then he has to deal with how easy it is to steal. If he hosts it, less so, and if he writes it in a compiled language (and perhaps obsfucated) even less so. It's not a matter of "PHP Hate", it's a matter of using the language for its intended purpose. May 13, 2011 at 12:55

For me this is all about reputation, especially important for a one man band. Showing the customer you care about their needs by issuing a refund when the product does not meet their perceptions will almost certainly create good feeling and make them more likely to come back to you in the future.

If this is happening frequently you could look at how you interact with your customers pre-purchase. Are they able to try the product? Can they talk to you for advice and and really find out what you can do for them?

  • Yes, they are able to try a fully working version on the site before purchase. There is also a forum on the website that allows anyone, before or after purchase, to ask questions.
    – psx
    May 13, 2011 at 12:14

It seems like you should give out trial versions. Give a trial version that only works for 30 days. This gives them time to try it out and see if it fits their needs.

Of course, you should only give out the actual code after they bought it or they could just remove your checks.

  • Yes, that is an idea but as there is a fully working version on my site before the customer purchases, not really sure what a trial would achieve apart from giving myself more work to do!
    – psx
    May 13, 2011 at 12:13
  • @psynnott, how does it giv eyou more work to do unless you are also providing installation? If you are, you can CHARGE for, non-refundable, installation while still providing a trial.
    – Kevin Peno
    May 13, 2011 at 15:46
  • @Kevin It would require the programming of a license server to ensure the PHP script would time out after xx days.
    – psx
    May 13, 2011 at 16:44
  • @psynott, if you want to go crazy, sure. Or, you could just tell the code to work for x days (generate a download system that sets a date in the code and the expected key the user should use to activate, easy) unless it has a key (add code to store/check key).
    – Kevin Peno
    May 13, 2011 at 16:50

Why are you seller with source code to users that have even tried the product? - Why not offer a time limited trial first, then sell, or sell for even more if covers code.

Also, invest more in a site explaining what your product does, how it works with examples and videos. Perhaps offer discounts to customers that write good recommendations that you can publish in your site.


While I (sort of) agree with all the answers above, I'd like to play devil's advocate here. I mean, if you actually put out the statement "No Refunds" on your site clearly, in addition to pointing out that you recommend the demo be tried out first before purchasing the product, you should probably be able to resolve your issue.

Maintaining a reputation is one thing,but doing so while running the risk of suffering a loss (albeit gradually) is unacceptable,I'd assume.

  • I was waiting for someone to suggest a No Refunds policy, which I had thought about doing. The reason I chose against doing that is it gives the impression I don't want anything to do with the customer, which isn't true! I work hard at resolving questions that come in, and most of the time people are very happy. I don't want to, but it looks like the general opinion is to refund without asking any questions. I -will- lose income out of this because of people trying their luck (and succeeding).
    – psx
    May 13, 2011 at 12:24
  • 2
    Hmmm..I beg to differ. A No-Refunds policy doesnt necessarily mean you want nothing to do with the customer. You could always tell him you would be happy to help him deal with any issues he has with the product;only that,he wouldn't be able to get back his money. You also say that refunding will make you lose income. You could perhaps put out a temporary N-R policy , and revert to your original ways once you're safe-r.
    – lightsong
    May 13, 2011 at 12:30
  • 1
    The best middle-ground is a "no refunds" policy, and then an internal policy for exceptions to the "no refunds" policy. If you advertise no refunds and then have refunding as a fall back customer service position, then you've brushed off those who would casually buy without reading, but you're still equipped to handle any situation with a customer.
    – Dan Ray
    May 13, 2011 at 12:49

You should give unsatisfied customers their money back, but also secure you source code, perhaps use some licensing mechanism.

  • They're unsatisfied because they ignored what the product is and purchased it anyway!
    – psx
    May 13, 2011 at 14:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.