osCommerce Contributions
Probably the largest strength of osCommerce is the extreamly large amount of contributed code out there in the form of contributions.  It is possible to do just about anything with a combination of osCommerce and a selected set of contributions.  Some contributions are very easy to install, and others can be a nightmare, espically if you already have a heavily modified site.

I'm going to tell you about a few of my favorites contributions.  All of these help make osCommerce a much more powerful suite of software.

  1. QBI - QuickBooks Import:  This has to be the most activily supported piece of free contributed code that I have ever seen for any project.  The author, Adam Liberman, answers questions posted on the forum usually less than 24 hours after they are posted, and he certainly knows what he is talking about when it comes to QuickBooks and osCommerce integration.  There is a commercial osC to QB solution out there, but I have a very hard time believing that it could be as supported or as good as QBI.  If your going to use QuickBooks as the back end to your store, this is a must have.
  2.  Infobox Skin Manager:  For some reason this one never shows up when I search the contribution section.  This is one of those pieces of code that can make you look like you know what your doing with osCommerce, even if you don't have a clue.  This contribution allows you to take a simple image (gif or jpg) that looks the way you want all of your infoboxs to look, and automatically create that look on your site.  It is really quite increadible the way it works with the GD library.  Every osCommerce novice that doesn't know how to create great designs with HTML should download and install this piece of code.
  3. UltraPics + WYSIWYG:  I could live without the WYSIWYG editor, but I know HTML, the UltraPics image pack on the other hand is a contribution that you can't live without.  By default, osCommerce doesn't allow you to upload two different images for thumb nails and the full size image.  Instead i just allows you to upload one image, and then it scales that image with the client site browser. 

    There are a million things that are wrong with this approach.  First, and the most obvious is that the thumbs, due to the fact that their scaled by the browser, look like "BLEEP".  They just look awful, and any good site would not allow this.  The other large problem with this is you have to download the entire large image just to see the thumbnail.  That is also a really dumb idea. 

    UltraPics fixes this problem by letting you specify a different image for the product listing thumb, the produt display thumb, and then finally the actual large image.  On top of that it also allows you to specify 6 additional images for each product, yet another short comming of default osCommerce.

    There are other thumbnail contributions out there, but I feel this one gives you the most control.
  4. Credit Class & Gift Voucher:  This is one of those highly ranked contributions that one day I will fold into our default install, but until there is a large client need, I don't really want to spend the days merging files and testing to make it work.  This contribution allows you to create gift cards and credit discounts and rebates and all that fun stuff.  The only problem, unless you are coming from a clean osCommerce install, adding this contribution is just a nightmare because it touches so many different files.  If you are going to use this contribution, I recommend that you add it first before you install any other contributions.
  5. Country State Selector:  This is a contribution that should be part of default osCommerce, and I don't know why they haven't taken the time to just fold it into the mile stone 2 release.  I guess once you set a mile store release, you don't add any more code without making a new release number, but still, you need this contribution.  When you first install osCommerce, when a user goes to check out, they have to set their country, causing a page refresh to populate the states.  The Country State Selector takes care of this issue.