Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

File crashes Excel!!

Save my workbook!
The best tool for salvaging problematic workbooks.

Trainings

Excel VBA Masterclass (English)
Excel VBA for Financials (Dutch)

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > English site > Articles > Inventory System

Creating A Simple Inventory System in Excel

Introduction

Answering questions on forums can be very rewarding. This post is the result of a forum question. The forum member needed a simple system to manage his shop inventory. He wanted to be able to log Purchases, Reservations and Sold items and immediately be kept informed when items are (almost) out of stock.

I built a very simple Excel file with just a handful of formulas, Validations and conditional formatting to do just that. Download the file from here: SimpleInventorySystem.zip

Functionality

The simple inventory system I built enables you to:

It informs you of:

Used techniques

I used these built-in functionalities of Excel:

How its made

The tool has these worksheets:

Worksheet   Remarks
ToC   A table of Contents
Instructions   Worksheet with instructions for use
Articles   The articles in your inventory
Reservations   Reservations, not sold yet but no longer available to sell
Purchases   Purchases to add to stock
Sales   Sold items

Worksheet Articles

The Articles worksheet looks like this:The Articles worksheet

At the top B2 is an important cell because it holds the date which is used to calculate the stock levels. If you want stock levels to be up-to-date, make sure you have this formula in that cell: =TODAY()

Cells B3 and B4 are used by conditional formatting formulas to visually indicate whether a product is close to going out of stock. If current stock is less than or equal to B3 the cell turns orange. If less than or equal to B4 it turns red.

Below the legend and settings cells the source table (named tblArticles) is located which contains all available products. In this table only the first three columns (the pale orange ones) are to be used for data entry.

Formulas

As you can derive from the formatting (the cells with white background and orange font color), columns D:G contain formulas. Lets study them.

Column D simply counts the number of items that have been purchased up to and including the date in cell B2:

=SUMIFS(tblPurchases[Purchased amount],tblPurchases[Article Code],[@Article Code],tblPurchases[Date],"<="&$B$2)

In Plain English: Sum the values of each row of column "Purchased amount" in table tblPurchase, provided that:

Columns E and F contain similar formulas to calculate how many items of this article have been reserved or sold respectively:

=SUMIFS(tblReservations[Reserved amount],tblReservations[Article Code],[@[Article Code]],tblReservations[Date],"<="&$B$2)

=SUMIFS(tblSales[Amount sold],tblSales[Article Code],[@[Article Code]],tblSales[Date],"<="&$B$2)

And finally column G calculates the current stock using some simple subtraction:

=[@Purchased]-[@Reserved]-[@Sold]

Validation rules

Column A of the table has Data, Validation setup to avoid duplicate article code entries. The screen-shot below shows the rule for cell A10:

Validation rule for Article Number

Note: I have Dutch settings so the argument separator shown here is the ; instead of the ,

Conditional formatting

Column G has two conditional formatting rules applied to it, which ensure the cells change color if their inventory level reaches certain set values. The Conditional Formatting rules are:

Conditional Formatting rules for Available Stock

Worksheet Reservations, Purchases and Sales

These three sheets have a very similar setup. This is a screenshot of worksheet Purchases:

Purchases Worksheet

Data Validation

Only column A contains a data validation rule:

Purchases Worksheet Validation

It makes sure you can only enter (or select) article numbers from the ones on the Articles worksheet.

Conditional Formatting

Similar to column G of the Articles sheet, column D contains Conditional Formatting rules:

Purchases Worksheet Conditional Format

The formula used is slightly more complex:

=INDEX(Articles!$G$10:$G$14,MATCH(A11,Articles!$A$10:$A$14,0))<=Articles!$B$4

So it looks at the table on the Articles sheet to find the current stock for the article in cell A11. If that amount is less than or equal to cell B4 on the articles sheet, the cell turns red.

This way, you'll be warned immediately whether the article you're adding to the Purchases, Sales or Reservations table is (almost) out of stock.

The end result

You can download the end result from here: SimpleInventorySystem.zip

That's all folks!


Comments

All comments about this page:


Comment by: Puneet Gogia (10/11/2016 2:57:24 PM)

Really nice. Thanks for sharing.

 


Comment by: Jan Karel Pieterse (10/11/2016 3:06:17 PM)

Hi Puneet,

Thank you and you're welcome!

 


Comment by: kumshiro (2/21/2017 7:13:36 AM)

I want say, this is good job. Realy appriciate. Sharing is not only giving someone to the piece of cake.

 


Comment by: Wari Pikana (3/29/2017 12:37:36 PM)

Thank you,it really good,I really appreciate what you shared.


 


Comment by: Joey Albert J. De La Cruz (10/16/2017 12:47:50 AM)

Hi,

I would like to thank you for this tutorial. I just want to ask how could I fix when I change the date, it won't add the value in purchases

 


Comment by: Jan Karel Pieterse (10/16/2017 9:15:10 AM)

Hi Joey,

Can you perhaps explain a little more please?

 


Have a question, comment or suggestion? Then please use this form.

If your question is not directly related to this web page, but rather a more general "How do I do this" Excel question, then I advise you to ask your question here: www.eileenslounge.com.

Please enter your name (required):

Your e-mail address (optional but if you want me to respond it helps!; will not be shown, nor be used to send you unsolicited information):

Your request or comment:

To post VBA code in your comment, use [VB] tags, like this: [VB]Code goes here[/VB].