Stock Tracking via Options and Attributes

By | November 14, 2013

This is a follow up article to

Today we are talking about an extension to the attributes and options system which we call “attribute sets”. What we have set out to do is to better utilize the built-in attribute system of osCommerce.

Something that many shop owners deal with is that they need to not just keep an overall stock count for an item but they also need to keep a stock count for different options for the product.

Let’s say you have an item (T-shirt) and that item has a colour attribute and a size attribute. Normally you would end up with two drop down menus, one being for colour (red, blue) and one being for size (medium, large) which the customer would then use to choose the options they needed for the item.


However, what you have in stock is this:

2 x Red Large
2 x Blue Medium

Using the usual options/attributes dropdowns, a customer could easily select “Red and Medium” which you don’t have in stock. Ends up being a waste of time for you and a very annoyed customer who will probably want a refund, an apology and won’t shop with you again. That’s a bad thing…

With some radical (yet well coded) changes to the options system, Matt and I have enabled a system that allows the Shopowner to show options in a different way and keep track of stock. It looks like this:


As you can see, the options are shown in a different format, including the SKU and Stock. Now a buyer can only order exactly what you have in stock. Stock is reduced not only on the overall product (the Tshirt) but also on the available SKU (of the options). If I check out by purchasing a “Blue Medium” I will show what I mean (note that we presently have 2 Blue Medium in stock, and overall quantity of 4 Tshirts). After the purchase:


Stock has reduced to 1, and overall stock of the T-shirt has reduced to 3:


So, in this way stock can be maintained using the usual osCommerce attributes and options (with our extension). In addition to this, in the admin orders page and invoice page the “model” is made up of the model number of the overall product along with the SKU of the chosen option:


Forget about master and slave products.
Forget about QTPro.
Attribute sets are a non-invasive way to control inventory at the attribute level.

And a video to illustrate the system from start to finish…

Should you wish to enquire about this new system, please feel free to contact me on or Matt via

9 thoughts on “Stock Tracking via Options and Attributes

  1. Steve

    Great team on working on this.

    I use QT pro in several shops but somewhere along the line I’ll probably tackle a fresh install on a new shop using the the most current version of OSC. So I’m interested in what you two are working on here as an alternative to QTPro.

    Couple of things, on the admin side if a shop has a large amount of attributes covering a wide variety of products is the shop owner going to see all of these under this system when the shop owner is editing a product? If so that could be quite a lot to contend with.

    Secondly and similarly let’s say there is a product coming in blue, black and white, with sizes XXS, XS, S, M, L, XL and XXL is the customer going to be presented with a 21 row table with quantities for each item in stock?

    Thanks and keep up the great work.

  2. Gary


    It is an extension to the usual attributes system, this means that the attribs system is used as usual, then updated by the extension.

    If you had 21 options, there would be a list of 21 buy buttons. But that can easily be changed with custom code – have them in a dropdown, have out of stock not showing, group them – the possibilities are endless.

    In the standard version of the Sets functionality you would indeed have 21 options – all of which are trackable.

    The way it is coded means that shopowners can still use the usual dropdowns should they wish to.

  3. Steve

    OK, thanks Gary. I think the development options you mentioned may be more appealing to the customer visually and mechanically. If/when I tackle a fresh OOB of the latest OSC version I would definitely consider this as an alternative to QT Pro. While the support for QT is still there, it’s getting older and older and cumbersome. Of course this newer approach would work with Matt’s Better Checkout….Right Matt?? 🙂 Thanks

  4. Brian McNair

    I am looking for another variation on the options.. I sell tartan, and want to show an image of each tartan as it is selected from the options dropdown. At present I have 500 thumbnails with a radio button to select the tartan so the page takes ages to load, and depending on the length of the name of the tartan the rows and columns don’t look even. Is there a mod that could easily show the relevant image next to the options dropdown each time a different option is selected? New at this BTW!

  5. todd

    Steve, frankly, when a platform can’t even have a basic attribute and stock control as default, its not really a proper shopping cart. I’d go with a modern solution, not OSC as its quite dated and frankly, about as user friendly as Ebola.

  6. Gary

    Todd, have you tried osC in recent months? We all know osC has it’s share of problems, but we’re working hard to update the codebase so that it can punch at it’s weight once again.

  7. todd

    well the 2.3 has peaked my interest, but the lack of appropriate basic attribute and stock control, and lack of filtering on all attributes means id have to ask a custom coding team to get this done.

  8. Gary


    Or…you find the blog of a Core Team member and provide a description of how you feel the attributes/stock should work…

    Or…do it in the osCommerce forum.

    Or…find something that’s already coded, eg the system shown on this blog post.

Leave a Reply

Your email address will not be published.