Managing Out of Stock Products

Back when we were several magnitudes smaller, managing out of stock products was easy. If a customer ordered the product, we’d just send them an email and discuss with them whether they’d rather substitute a different product, get a refund, or have us hold their order until we got the product back in stock. If a product was going to be out for a while, we would just edit the description to say that it’s out and will be back in soon. Simple enough.

However, as we grew, we realized that system wouldn’t cut it. Aside from the sheer volume of customer service inquires, we also stock a lot more products from a lot more vendors and we move a lot more of it. Which leads to more scenarios where we’re out of stock because vendors cannot fulfill our orders because they themselves are out of stock.

We’re also an exceptionally lean company – in the month of March we moved over 100% of our inventory (i.e. we did more in revenue for the month than we had in stock when the month started). That’s nuts. We’re extremely lean for the real world. Inventory management was easy in college when the formulas came out all nice and everything was predictable. But with 30+ vendors who each have their quirks – billing, fulfillment time, minimum order requirements, etc – it’s super hard to actually execute that strategy. Mostly out of necessity, we’ve found ways to make it happen.

Anyway, my point is, that with our growth plus how lean we are, we’re out of stock of items fairly often, even if it’s just for a few days. To manage it all, we built a system last summer and recently rounded it out just in time for our huge March, where it saved us from total chaos.

If we run out of a product, any of us can quickly put it “on backorder” in our admin system. You just pick the item and size from a drop down and then fill out a form with the following fields:

  • Estimated ship date – the approximate date that we expect the item to be back in stock
  • Allow orders? – are customers allowed to put the item in their cart?
  • Ship Separate? – if ordered, should we ship other items in the order separately or hold the entire order?
  • Is this a pre-order? – changes the display text to notify the customer that the item is a pre-order

Here’s what a regular product page looks like:

Detailed Image Product Page

Here’s an out of stock product page where the customer is not allowed to add the product to their shopping cart (in this instance, it’s because the product is seasonal and won’t be back in stock until Summer):

Detailed Image Product Page

Here’s a more typical backordered product page:

Detailed Image Product Page

In this example, the product will be back in stock next week, so we still allow customers to order it. If they do order it, we’ll hold their order until we receive the wax back in stock. In most scenarios, we hold the order and don’t ship separately because of the added time and expense.

Where this gets really interesting is what happens on the back end. If the customer places an order with said product, they are automatically kicked an email notifying them of the situation and their order is auto placed in the “pending” section of our admin with a note appended to it. The pending section is where we keep any order that cannot go out on the next shipping day for one reason or another. In addition to out of stock items, many times customers want to hold their order so they can add to it, or want us to hold their order until a specified date when they’ll be at the location of their detail. Automatically moving these orders to pending was a huge deal for us. Previously someone had to manually review each order for out of stock items.

When the product is finally back in stock, it’s as simple as clicking one button in our admin to remove the item from our backorder system. We then just have to move all of the orders in the pending section over to our ship queue. We have a filtering system that enables you to filter by product which really speeds this up if there are a lot of orders in pending. Once the orders are in the ship queue, they get processed with the rest of the orders the following day.

This was one of those systems that seemed like a bit of overkill when we first built it, but now we’d be totally screwed if we didn’t have it. Yes – there’s still a good amount of customer service involved with these scenarios because some people aren’t able to wait or still want a refund or replacement item, but the system allows us to automatically process the majority of scenarios without too much added effort. Without it, we’d either be a) way to over-stressed and unable to even think about working on projects like LockerPulse, or b) hiring more employees before we needed to do so.

19 comments on Managing Out of Stock Products

  1. tim says:

    Staying lean and mean is the name of the game! What I also like about this post, and it’s a theory/concept I think is ignored far too often, things never go exactly as planned. This is one of my largest complaints with teaching skills like this in a classroom, they simply cannot factor in for the real world. In other words, someone educated exclusively in a classroom will be highly ineffective in the real world, I do believe a lot can be learned in a classroom, but not the successful application.

    My previous business relied heavily on suppliers, we would get 10-20 deliveries/day. One thing that differs from your business is that all of these suppliers had their own trucks and drivers, so we would be receiving deliveries from employees of the company we were buying from. We recognized the opportunity in this, and we treated the drivers that serviced us like gold, we offered them beverages, genuinely asked them about their lives and treated them like respected individuals. In return, they broke their backs to make sure our deliveries were always on time and 100%, in some cases they would “borrow” from their next stop to fill our order πŸ™‚ An added bonus is it led to a lot of long term relationships that 10-15 years later are still strong today. That’s the sort of lesson you’ll never understand unless you live it yourself.

    • Adam McFarland says:

      Great points Tim.

      The education thing is interesting. My major was industrial engineering, a large component of which is optimizing layout and workflow in industrial settings. We used all sorts of advanced calculus and differential equations and fancy software. Almost none of that is applicable to a small warehouse setting like ours, which makes me wonder if it could possibly be applicable to a larger warehouse setting. The way of thinking and the understanding of the correct way to do things mathematically probably helps me, but there hasn’t been one instance where I can pull out a text book and get an answer. Theory != reality in most situations. At my job and at internships at much larger companies, it was just as difficult for different reasons – you might have the data available to fit some large scale model, but it’s difficult to collect it with accuracy over a long period of time while not changing all of the other billion things that change in a large business.

      In terms of treating suppliers well, you’re dead on. While our situation is a little different, we still go out of our way to get to know our FedEx and UPS drivers. If a box is heavy we help them or get a cart for them. If we have a lot of boxes going out, we stand their and load the truck with them. It’s amazing what just being respectful to people will do. We feel like at least when our packages are in their hands they’re well taken care of. Just simple little things like saying “Thank You” go a long way.

  2. Rob says:

    Wowzers that’s a complicated system.

    Your automation seems to be down to a fine art.

    Lots of questions again – sorry! (FYI – second paragraph I think you meant “sheer” rather than “shear”)

    Is the cart backend run as a webapp, or is it something local? How are orders with suppliers actually placed – does the system just kick them an email every few days? I guess with min qtys you’d have to have a system that accounted for that.

    Do you lose many sales by being out of stock? (do you have a system for working out if you’re losing sales? How does that work?) – would it work out better for you financially to be able to hold more stock and fulfil these orders, even if that meant having to hold a very large stock at some point during the year? Would holding such a large stock affect insurance premiums?

    What issues have you come across with missing items from your suppliers, breakages, imperfect items etc? Do you have an anticipated or accepted rate, or do you have to go and complain to your suppliers when you have issues?

    You seem to imply that your inventory control system doesn’t automatically change the status to out-of-stock, is this correct? If so, would it be possible (and worth the time) to build a system that knew when the next order would be coming in for a particular item and was able to choose by itself whether to hold the order, ship it, split it etc?

    I’ve found that almost all of my stress comes from logistics and flow – workflow, cashflow and the flow of equipment, supplies and products between our suppliers, staff, storage and customers. Obviously one way of reducing this stress is not to run a JIT system, but to run with more inventory. Naturally this comes with its costs and in some scenarios we can justify that and in others we can’t. (ie. paper bags – buying a few months supply at a time is fine, as they’re low volume/low cost – other things we keep to a minimum and often need to order at two days’ notice)

    Re. keeping nice with your suppliers, delivery men etc, I think that is of course a good thing to do and it should just be a part of normal human decency. However, as you’ve noted previously, as soon as you put people behind a brand, uniform or company people seem to forget that they’re human too, with thoughts, emotions and bad backs!

    • Adam McFarland says:

      Thanks Rob – just updated “sheer”. Some words I’m horrible with…

      I’ll do my best to answer your questions (I’m answering from the bottom up…don’t ask me why…so some of this I covered in the replies to Dave and Nev):

      Is the cart backend run as a webapp, or is it something local?

      It’s run as a web app that we all have access to from anywhere. There are different access levels for the owners and warehouse employees.

      How are orders with suppliers actually placed – does the system just kick them an email every few days?

      Greg places them by email or phone. As I touched on in my reply to Dave, each vendor has very particular requirements. Sometimes we even have to use a fax machine! You’d be shocked to see all of the hand-written receipts and receipts printed on dot-matrix printers. You’d think this was 1980…

      Do you lose many sales by being out of stock?

      Probably. It’s really hard to quantify, but I’m sure it happens, especially with key products that everyone else has in stock (i.e. sometimes the manufacturer doesn’t have any so everyone is out of stock, but other times it’s our “lean-ness” that does us in and really hurts us)

      Would it work out better for you financially to be able to hold more stock and fulfil these orders

      Yes…but we need more capital. There’s a lot of revolving debt in e-commerce. You need access to large amounts of cash, especially where we’re at now. Tens of thousands of dollars at a time. If we only turned over say 30% of inventory, we’d also need repayment terms of more than 30-60 days. We’re working on this, hopefully we’ll have an announcement soon πŸ™‚

      What issues have you come across with missing items from your suppliers, breakages, imperfect items etc? Do you have an anticipated or accepted rate, or do you have to go and complain to your suppliers when you have issues?

      Stuff breaks pretty regularly. Maybe a case or two for every 50 we get. Almost all of our vendors are happy to replace the damaged goods. We have a huge shelf of damaged-but-usable products. One of my future projects is probably going to be to build a section on the site for people to buy these for below cost. The biggest pain is that a lot of them need to be repackaged before shipping so we haven’t fully decided if this is worthwhile or whether we’d just assume give them to friends and family.

      You seem to imply that your inventory control system doesn’t automatically change the status to out-of-stock, is this correct?

      Yes. We could do it automatically. We are pretty accurate with our inventory, but there are a lot of scenarios where we don’t want to auto-put it on backorder and scare away a customer. For instance, if it goes out on a Friday and the shipment is due in on Monday. We just let the orders roll, set them aside on Monday when we process, and then drop the item in as soon as it arrives Monday. Our system estimates when we’ll get our shipments, but it’s not accurate enough to rely on. Tracking numbers from big trucking companies are horribly inaccurate.

  3. Dave says:

    Really cool system, just sounds very manual….but that’s ok because of your size. I would assume in larger warehouses they are tied into the suppliers, the systems could somehow place re-orders, and manage inventory/stock this way, in a much more automated process.

    I too run into the same battles with trying to keep a lean inventory. When I first started I would try and have products drop shipped as much as possible. With that came so much communication, delays, etc (esp because I’m dealing with small companies most of the time) that although it requires an investment upfront (and sometimes even more expensive because I have to pay to ship to me), it was better in most instances to actually carry the inventory on-hand.

    The biggest problem for taking “backorders” is when as you said a customer orders more than one product…and just managing whether to hold the order or ship separately, and who pays that additional shipping expense. The way we do it is that a customer will know a product is backordered, so we contact them and let them know we can split the order but they will have to pay the additional shipping cost. I think it’s fairly understandable on their part. It’s just too bad there is no automated way in our system to allow this to be done during the checkout process and to properly quote it if it’s multiple packages.

    Very insightful post though, thanks for sharing.

    • Adam McFarland says:

      Thanks Dave.

      I don’t know for sure, but I’m not certain that larger warehouses have all that much better of a system. We are 99% of the way to being able to auto order based upon demand. We have the distributors product codes in our system. We do 10/30/60/90 day projections. We have the vendors contact info stored. We know our inventory down to the second. We could trigger orders based upon all of those things, but there are just too many variables from each manufacturer:

      Some have crazy case requirements. Some are always out of stock of one item. Some have minimum order requirements. Some change their prices every time we order. Some require different payment methods based upon the order volume. Some only take orders over the phone. Some change their product codes often…etc, etc.

      All of the ever-changing rules would be near impossible to quantify and structure into a system. Now, if we were Amazon and we could dictate things on our terms, it would be a different story. But we’re still a really small company compared to most of the other people who buy from our distributors.

      Now, I also think this isn’t as big of deal for larger companies. They don’t turn over 100% of their inventory in a month. They can afford to stock a little more, and hopefully soon we will be able to as well. We can still be lean and smart while keeping a bit of a cushion. If anything, I hope that these decrease over time and backorders really only occur when the vendors are out of something.

      • nethy says:

        I wouldn’t be so sure either.

        This sort of software grows exponentially. Once you have some integration with a supplier done in 98, patched in 03 and still works as long as someone gets a csv file from the supplier every Monday by mail and uploads it, things can get expensive to change. Very expensive. Sometimes, quite often, things don’t work after you “upgrade” and everything goes to hell for a while.

        The upshot is that a lot of warehouses probably have much worse systems then you’d imagine.

        That’s just the software. They also have business processes involving people that are impenetrable too. Sometimes you have vestiges from business systems and software that no longer exist still dictating how people work.

  4. Nev says:

    What about this option:

    1.) Customer places big order with one back-ordered item.
    2.) DI tacks on $5 in additional shipping for the back-ordered item.
    3.) DI sends out all in-stock items immediately.
    4.) When BO’d item is back in stock, ship that out (and the customer already paid extra for shipping it).
    5.) By the time customer gets first shipment, the second will be on it’s way.
    6.) Customer rarely has to contact you.
    7.) Customer got their stuff quickly (every DAY is excruciating when waiting for a package).

    Just an idea. I know I’d hate to wait for my $200 order because a $15 product was OOS.

    • Adam McFarland says:

      Nev –

      That’s something we’ve considered. Getting people to pay an extra $5 without bailing on a purchase is tricky though (and hard to quantify). People already complain that our shipping is expensive, even though I showed in my shipping study that we’re well below the competition. Everyone expects the free shipping Amazon offers…plus we have heavy products so it can be a battle.

      We always work with the customer – if they absolutely need the order we offer a substitution, a refund, or sometimes even bite the bullet on the shipping costs depending on the order size and the expense to ship the backordered item.

      • Nev says:

        Gotchya…I forgot your products are MUCH heavier than the typical stuff I send out.

        I get away with cheapo shipping on back-ordered stuff, but a full electric buffer or gallon of product…that’s biting into the double digit shipping prices.

        Great post by the way!

        • Adam McFarland says:

          Thanks Nev. I’ve been enjoying your six pack experiment as well πŸ™‚

          The heavy products thing is interesting. It can be frustrating at times. We have really light products that are super expensive (the $275 wax in the pic above) and we have really heavy products that are super cheap (gallons of products for less than $15). There’s absolutely no correlation between value and size. It can go either way. Which is why when we aren’t running a promo we just charge shipping based on the weight and estimated box size and nothing else. We’d love to do free shipping on orders over X but there’s no way to quantify what X should be. An order with 6 gallons to CA might cost us $40 to split into 2 shipments, but a more expensive order to NY might cost us $7 if it’s just a wax.

  5. Jonathan says:

    Is there a book or resource that provides inventory management best practices, ideally for a t-shirt store? Deciding which styles along with how many different variants/sizes is a hard skill to learn. Any pointers would be appreciated.

    • Adam McFarland says:

      Good question Jonathan. There’s no one resource that I know of. You’d want to research topics like operations management, lean manufacturing, supply chain management, and six sigma. Just doing some quick searching on Amazon, this book on supply chain management seems like a good intro as does this one on inventory management

      The tough thing with all of this is that while reading and understanding all of those topics is important, they often can’t apply fully to the real world (as has been discussed here in the comments). Working within the real world constraints of your suppliers, the size of your physical location, and the amount of capital you have on hand is probably what will guide your decisions more so than a set of lean principles.

      Specifically for t-shirts, I’d try to talk to a few different people who have been in the business a long time. As long as you’re not a direct competitor most business owners I’ve contacted have been happy to lend their expertise. You can learn a ton by just talking for a little while with someone who has done something similar to what you’re trying to do.

    • Jonathan says:

      “the amount of capital you have on hand is probably what will guide your decisions more so than a set of lean principles.”

      SO true. Entrepreneurs run on a tight ship. People working at companies rarely have an incentive to maximize budgets.

  6. Rob says:


    Thanks for the detailed reply!

    The stock order process sounds horrible – must be a nightmare keeping up with all those different requirements / min quantities etc.

    Regarding the lean-ness of the way you run, it sounds like it’s a great way to be if you can handle the logistics, I guess profit margins must be quite low to have to turn over so much stock, but I suppose that is the nature of price-lead competition.

    An option for your damaged-but-saleable stock might be to sell it to local detailers IRL – they could come collect the items and get a deal. However, you’ll want to make sure this won’t gouge full-price sales.

    I can totally understand your reasoning for not putting items as out-of-stock on the website – do you have many problems with people ordering things you don’t have though? I presume the system does know the stock, so you won’t actually try and pick the order if items aren’t on the shelves?

    Interesting point from Nethy, I think big companies systems are probably not so much better than your own; certainly they’re unlikely to have a passionate developer so intimately familiar with the system working so close to the actual system, rather than subcontracted out or levels of management away from the actual floor. They also have a great number of staff which can make up for issues like you mention, probably having numerous buyers each pandering to distributors needs.

    Regarding the free shipping – it has become de-facto on a lot of sites, Amazon used to have a threshold but have removed that for a lot of products, and with things like CDs/DVDs which are light and cheap to ship it’s a no-brainer and a great thing to be able to advertise – shipping costs are almost seen as a hidden cost when shopping online.

    Would it be fair/feasible to have a threshold for free shipping based on mass? Perhaps mass x price or something similar. I don’t know how well that would work. What happens with your free shipping coupons? What If I were to order a lot of a high-mass, low-margin product from you and use a free shipping coupon – is there any combination where you might make a loss on the sale?

    Congratulations again on turning over so much inventory – it must be very gratifying to see your systems, hard work and forward planning pay off like this.

    • Adam McFarland says:

      Good questions Rob.

      If an order comes through that is out of stock but hasn’t been put in our system, we have a quick way of filtering them out and putting them in our pending section until it arrives. Rarely do we start pulling an order and realize half way through that something is out.

      I don’t think there’s a scenario where we’d lose money even if someone used a free shipping coupon on a really heavy cheap order, but we’d probably come pretty close to breaking even…which is OK with me because there are plenty of orders that we still make a lot on and our volume goes way up during free shipping promos.

      I’d like to do some sort of weight and cost based free shipping, but it would probably be a customer service nightmare. People always want to know why they don’t qualify for a deal. Spending $x is easy to convey, but spending $x and being under a certain weight would be tough.

  7. […] the other side of the page, we haven’t fully automated our inventory system, specifically ordering from vendors and managing “out of stock” items.Β  The comments […]

  8. […] finishing a programming project to improve how we manage out of stock products and then integrate it with our shipping estimates (see image above), I completed all of the major […]

  9. […] in 2010 I wrote a post about Managing Out of Stock Products. There are some great comments on that post. They stood out to me so much that I still recall […]

Comments are closed for this post.