We've run across several projects lately that hit a bump. Somebody calls us and says something like "Hey, I've committed to xyz, got the contract right here. Can you make it work?". In one case it was somebody who'd bought PC-based software that supposedly has a 'web interface'. The issues there were that the 'web interface' was untried and their network wasn't set up for web hosting.
In another it was somebody who wanted to use his e-commerce site to offer multiple discounts that weren't supported by his shopping cart. In a third, a customer had committed to a pricing structure that included a tax-exempt category that their shopping cart didn't support. In each case, a lot of heartache and grief would have been saved if the client had called in help before they made the commitment to check to see if what they wanted to do was feasible with their system. This is generally known as 'requirements gathering': making a list of what you want the software or system to do. With this list in hand, then one starts the search for software that meets those requirements. In each of these cases our client put the system in place first, then tried make it do something it wasn't designed to do. Such square pegs never fit too well in round holes.
The bottom line is: before you commit to a business decision based on technology or a technology to fulfull a business requirement, make sure that the technology and business requirements are a match. If you don't know the right questions to ask, get help. We're a phonecall or email away.