4.17. Stocktakes

Updated: Version 3.74

There are two main types of stocktakes.

Rolling stocktake

A rolling stocktake means counting a small number of items at a time, ensuring that your overall stock is counted on a consistent basis. You may select different locations, stock groups, types, suppliers, etc to stocktake a various times.

Full stocktake

All items are counted at one time.

Traditionally, during a full stocktake, the store is closed, and no transactions may take place until the exercise is completed.

The inconvenience caused by closure of the store varies from minor to significant. The benefit of using mSupply's stocktake module, while requiring that the store is closed while the physical stock check is in progress, is that the store may be opened immediately after the physical count is completed. Entry of the adjusted figures into mSupply® may be made at any convenient time over the next few days.

Having said that normal operation can occur immediately after the stocktake, it is important to note that:

A stocktake makes a list of your stock, providing you with a 'snapshot' of your stock at a point in time. mSupply® enables you to automatically create custom printed lists of your stock items from which you and your staff can do the physical stocktake. The items included can be customised to focus on particular location(s), particular items, or your entire store.

The default list produced (i.e. the one where you don't change any settings) will:

  • be in alphabetical order
  • omit items whose stock level is zero

Lines on a stocktake may be edited provided the user's permissions are appropriately set. [File > Edit user > Permissions]

As of version 3.1 mSupply also has a web stocktake module, that allows entering stocktake results from a laptop or tablet on the warehouse floor.

Select Show Stocktakes… from the Items menu to display any stocktakes already created or performed. This displays the following screen:

stocktake.jpg The Show: filter allows you to choose which stocktakes are displayed in the list. Options are:

  • All: shows all stocktakes in the current store with any status for all time. Could be many of them!
  • Current: selected by default when the window is displayed and shows all stocktakes with a status of Suggested (sg).
  • This year: shows all stocktakes of any status that have been created in the current year.
  • Last year: shows all stocktakes of any status that were created in the year before the current one.

There is little point in keeping old stocktakes with status = “sg”, especially if you are about to create a new stocktake containing the same items. If time has passed since the stocktake was created, then the snapshot and actual quantities are almost certainly incorrect. For good housekeeping reasons, it is good to delete old “suggested” stocktakes (status = “sg”).

After viewing the current stocktakes, click on the New stock take icon, and the following window will appear:

You can produce a stocktake for all items in your store by clicking OK without entering any filtering criteria. However, it will often be helpful to filter the stock that will be included in a number of ways.

Filtering the stock to be included

You can filter by:

  • Item properties (item name, code, etc. - refer figure)Item property filters
  • Locations. This is recommended when you are doing a full stocktake of a large warehouse where you can have several stocktake teams working simultaneously - refer Filtering by location below.
  • Expiry date. Search for items whose expiry is before a particular date. This allows you to easily remove all expired items from stock.
  • Randomly selected. Select a number of items randomly chosen by mSupply. This is handy for the purposes of doing an audit.

Whatever filters you use, ad-hoc or non-stock items will never be included in a stocktake

Filtering by location

Filtering by location is an especially useful way of breaking up a large stocktake in to a series of smaller stocktakes. This also allows different teams to undertake different smaller stocktakes simultaneously.

Of course, it is not possible to filter by stock locations if locations have not been defined, and stock placed in to those locations!

  • The “Shelf location” in the top left Item properties drop-down list is the default shelf location of the item, which is where stock of a particular item might usually stored. This is not a recommended way of organising a warehouse, and is included here only due to customer request ;-).
  • To filter the stock take by shelf location to include what stock is actually stored there (according to mSupply records!), use the Stock location filter.

In this example, the location filter has been set to equals (the default), and the entry in the box has been typed in as A. Only stock in shelf locations called A will be included in the stocktake.

The stocktake list shown below, with items listed in alphabetical order is the result.

At this point the status of the stocktake is sg, i.e. suggested:

Now fill in the information at the top of the stocktake:

  • Description: A default description is filled in for you. We recommend that edit this to make it more meaningful while processing and for when you look back at your records later. This description is what is visible when you see a list of stocktakes. For example, you could add Annual stocktake or Monthly check. And / or, if you are filtering by anything such as stock location, it is worth including that here, e.g. M02.12.2A.
  • Comment: Put any other information you need to record about the stocktake in here.
  • Stock take date: This is the date you performed the stocktake and is set to the date the stocktake was created by default. Users will only be able to edit this if they have the Can edit stocktake dates permission set (see Managing users for more information). They will also be able to set the confirmation date of the inventory adjustments created from the stocktake when it has been finalised (but you can never change the date to before the Stock take date set in this field).

New line button: You can add new lines to the stocktake by clicking on this button (see the Adding items not in the stocktake section below)

Delete lines(s) button: Click on this to remove lines you have already selected in the list from the stocktake (you can use the usual Shift and Ctrl/Cmd clicking to select lines as usual).

Just a quick word about the read-only (non-editable) information displayed at the top of the stocktake:

  • Stock take key: The stock take number. This is an automatically generated number which increments by 1 for each new stocktake. It is unique within a store only so it is possible for stocktakes from different stores to have the same number.
  • Stock take entered date: The date the stocktake was created in mSupply.
  • Stock take status: The current status is the stocktake:
    • sg = suggested, the stocktake is still being worked on and is editable - new lines can be added or deleted and values can be edited etc.
    • fn = finalised, the stocktake is complete and cannot be edited (inventory adjustments have been created form it)

A large warehouse can have thousands of locations. A full stocktake would run to tens or even hundreds of pages. This is a challenge to manage. In cases like this, it is recommended to create stocktakes broken down according to locations.

In large warehouses, stock locations are often labeled in a systematic pattern something like this:

A##.$$.%%, where,

  • A = 'Room', for example, M → Main store room
  • ## = aisle numbers, 01, 02, 03, etc.
  • $$ = bay number, 01, 02, 03, etc. noting that a common convention is for even numbered aisles to have only even numbered bays, and similarly, odd numbered aisles to have only odd numbered bays.
  • %% = shelf number, 1A, 1B, 1C, etc.

For example, M20.02.4E would be the location name for the location in the Main store room, Aisle 20, Bay 02, Shelf 4E

To create stocktakes for each Filter Stock location by
Aisle Starts with M01, Starts with M02, Starts with M03, etc.
Bay Starts with M01.01, Starts with M01.03, Starts with M01.05, etc.
Shelf Starts with M01.01.1A, Starts with M01.01.1B, Starts with M01.01.2A, Starts with M01.01.2B, etc.

To speed things up and ensure that you have described your stocktakes correctly according to the stock locations filter, you can copy the text of your filter (before clicking OK) and then paste it at the end of the stocktake description. After clicking on the Stocktakes button on the Items navigator this can be done entirely with the keyboard! 8-) For example, if you want to create a stocktake for all location in Bay M01.01:

Firstly, click on the Stocktakes button on the Items navigator
The Stocktake list… window appears. Then:

  1. Type Ctrl+N to start a New stock take
  2. Type Tab Tab Tab Tab Tab Tab Tab Tab (Tab x 8) to get to the Stock location equals pull-down button
  3. Type Down-arrow to get to the starts with option
  4. Type Tab to move the focus to the text entry field
  5. Type M01.01
  6. Type Ctrl+A to select all text
  7. Type Ctrl+C to copy the selection to the clipboard
  8. Type Enter (same as clicking OK button).
    The Stock take sheet… window appears.
  9. Type Tab Tab Tab (Tab x 3) to highlight all text in the Description field
  10. Type End to move the cursor to the end of the existing text
  11. Type , Location =
  12. Type Ctrl+V (Pastes the clipboard)
  13. Type Enter (same as clicking OK & Next button).
    The Stocktake list… window appears.

Repeat the above steps for each stocktake.

Before printing you need to ensure that the order in which items are displayed is appropriate. By default the list is alphabetical, but for stocktaking purposes, it may be more appropriate to sort the list by location and then by item name; this is achieved by clicking on the Order by button and choosing Sort by location then item name

If you want another sort order, click a column heading for a simple sort, or choose the Custom sort option from the Order by button.

You can filter a stock list by entering the item name - or the first few characters of the name - or the item code in the box Item name/code in the top right area of the window, then clicking the Find button

Clicking on the Print icon displays the available options:

  • General: contains several options. Click on it and you are presented with a further window: The Form to use drop down list contains these options:
    • Stock take line - prints out all the lines on the stocktake, including their quantity, with a space to write the actual counted quantity. It looks like this:
    • Stock take line with space - is the same as the one above but with no quantity and 5 lines of space under each line. Useful if you know there's a lot of stock in the warehouse that isn't in mSupply.
    • Stock take line wt quantity - is the same as Stock take line but with no quantity. This is the one we recommend you normally use to give to the people carrying out the physical count. This helps to ensure that the quantity of stock on the shelves is actually counted and not just guessed!
    • Stock take line wt quantity big font - is the same as the one above but printed in landscape with a bigger font. This is particularly helpful in warehouses with poor lighting (powercuts, etc. :-( )
    • Stock take lines with signature - same as Stock take line wt quantity but the stocktake signature entered in the printing preferences is printed at the end.
    • Stock variance - this shows the items that were adjusted after the stocktake was finalised. Similar to the Inventory adjustments option below but a slightly different format.
  • Inventory adjustments: prints information about all the items that had their quantities adjusted because of the stocktake after the stocktake has been finalised (see finalise section below).
  • Inventory adjustments-all items: prints information about inventory adjustments made after finalisation but includes all items, not just those which have had their quantities adjusted.

There is, of course, a further option - you may provide the staff performing the stocktake with blank sheets, requiring them to list the items, batches, expiry dates, locations, pack sizes and quantities manually. We don't recommend you use this option unless your printer is broken ;-)

Allocate staff to perform the stocktake, instruct them in the process you wish to follow, and issue the sheets to them.

For a stocktake involving several staff, it is recommended to require the staff members to write their name and date on each stocktake sheet. This is especially helpful when trying to interpret difficult handwriting :-)

Once the physical stocktake has been completed, you are ready to make entries to record any differences in stock levels into the system. Remember that any item which mSupply calculates as having zero stock will not appear on the stocktake sheet.

Filtering the list by item name or code

To help quickly find any item you want to make any adjustments to, you can enter the first few characters of its name or its code in the Search by item name and code field. The displayed list of items will be changed each time you enter a character to show only the items whose name or code matches what you have entered so far. To return to the full list just delete everything in this field.

Making adjustments

If there is a discrepancy between the amount mSupply says you have in stock (the figure which appears in the Snapshot quantity column) and the physical amount counted or between the batch, expiry date or location of the stock and what is shown in mSupply, you need to make an adjustment as follows:

  1. Double click on the row you wish to edit, and the Edit stock take line window appears, with the figure in the Stock take quantity field highlighted.
  2. Enter the figure from the completed stock sheet in the Stock take qty field (just type the new figure, and the currently highlighted figure will be replaced).
  3. change the batch, expiry date or location fields also if needed.

Tip to make things fast!: If you only need to change the quantity for a particular stocktake line then click on the value in the Enter quantity column and type the correct value directly into the stocktake sheet. Use the Tab key on the keyboard to move to the cell below that one or shift+Tab to move to the cell above it.

Adding items not in the stocktake list

In the event of an item being physically present in the warehouse, but not on the list then it needs to be added to the stocktake in mSupply:

  1. Click the New line button and this window will appear:
  2. If you want to add a line of stock that already exists in mSupply then, in the Existing stock lines table at the top, check the checkbox for the line you want to add and then click on the Add selected button. You can add more than one line if you wish - just check all the lines you want to add. If you check the checkbox in the header of the checkbox column this will check all the boxes for you (and uncheck them again if you uncheck it).
  3. If you want to add a new line of stock that doesn't exist in mSupply then enter its details in the New stock line section at the bottom and click on the Add new button to add it.
    • Stock take qty: the number of packs you found in the warehouse.
    • Pack size: the number of items in each pack that you found in the warehouse.
    • Batch: the batch number of the item you found.
    • Expiry date: the expiry date of the item you found (click on the calendar icon to select it or enter it manually).
    • Location: the shelf location in the warehouse where you found the item (if you don't know the exact location then type the first few characters of the location label, press the Tab key on the keyboard and select the location from the list that appears).
    • Cost price: if you know it, enter it in the currency you are using in your datafile. If you don't know it, you could check the 12 month average checkbox and mSupply will enter a weighted average price of all the stock of this item you received over the last 12 months.
    • Sell price: if you know it, enter it in the currency you are using in your datafile.
    • Use details of line selected above button: this is a shortcut to save typing values in all the fields in this section. If the details are similar to a stock line that is shown in the Existing stock lines table above then click on the line in the table to select it then click on this button. mSupply will copy the details of thew line into the fields in this section and you can then edit the ones that aren't quite right.
  4. You can also select a colour for the line in the stock take using the colour picker in the top right hand corner (set to black by default, as shown in the screenshot).

After clicking on either the Add checked or Add new button you are returned to the Stocktake sheet window, where the new line entered will now appear in the colour selected; note that the new line(s) appear at the bottom of the stocktake and they have a value of zero in the Snapshot column.

All details of a new line added may be edited, but only the quantity or the location of existing lines on the sheet may be edited; this is performed by double clicking on the row you wish to edit.

The Delete item button will only work to delete lines which you have added yourself (i.e. lines with a snapshot quantity of zero).

When all necessary adjustments have been entered, you are ready to create the inventory adjustments.

Creating inventory adjustments (finalising the stocktake) is not reversible, so you have to be quite certain you've finished making all the changes you want to the stocktake before you do it.

To do this, click on the Create inventory adjustments button and the following window will appear to ask you to confirm this is what you want to do:

Before you click on the OK button to confirm, you can select a transaction category to give to the inventory adjustments when they are created by clicking on the drop down list (these can be useful when it comes to reporting later). This drop down list is populated with all the transaction categories in your datafile that have a type of inventory adjustment (see section 22.07. Transaction categories for information on creating transaction categories).

Once inventory adjustments have been created, the status of the stocktake changes from suggested (sg), to finalised (fn). You will now observe a change in the buttons appearing on the Stocktake sheet:

  • in the upper area, only the Print button is present
  • while at the bottom two new buttons are present; Show added adjustments and Show reduced adjustments. Click on either button to display the related inventory adjustment transaction. Note that if you have the Can edit stocktake dates permission (see Managing users) then you will be able to edit the confirmation dates of the inventory adjustments to match the stock take date.

If an item has limited stock and that stock is allocated to an invoice during stocktake, when you try to adjust the stock the following window will display giving you two options to choose from:

For the excel option a spreadsheet will open allowing you to analyse the invoices to which the stock is allocated. The highest invoice number is likely to be the one entered during stocktake.


Obviously closing off transactions until stocktake is complete and avoiding these kinds of issues is best practice.

Clicking on the Print button and clicking on Inventory adjustments will print this information:

In this example, three adjustments have been made:

  • Magnesium carbonate: present at the physical check but not on the sheet, has been added
  • Peppermint oil has had its stock increased
  • Sodium bicarbonate has been reduced in stock

Items that weren't changed don't show in the report - if you want to see all items, including those that weren't changed then click on the Print button and select the Inventory adjustments - all item option.

Some points to note:
  • When you have created the stocktake sheet, it's like `taking a snapshot'; the physical stock at that location should not be removed until the stocktake has been performed; nor should stock be added.
  • New transactions can however, be entered into the system.
  • the Log tab on the Stocktake sheet will list any anomalies. An anomaly may occur if a transaction has been entered after the stocktake that issued more stock than you physically counted. Obviously someone has made a mistake in such a situation.
  • There is on the stocktake window (lower left corner) a checkbox Locked , which, if checked, will allow neither deletion of the stocktake nor any changes to be made to it.

  • Ok and Next - if you have no more stocktakes to add, click the 'OK' button, to add only the stocktake just completed. To add a further stocktake, click the 'OK & Next' button and proceed to add your next stocktake.

  • Last modified: 2020/01/14 11:17
  • by Lou Lomas