Excel-Skills Australia

100% UNIQUE EXCEL TEMPLATES

TEMPLATE CATEGORIES / COSTING & INVENTORY / INVENTORY QUANTITY CONTROL

40 Inventory Quantity Control Template

Use this unique closing stock template to control inventory by recording all inventory movement transactions, performing stock takes and calculating stock quantities on hand for any user defined date range. The template makes provision for stock purchase, sale, receipt, issue and adjustment transaction types and can be used by any business and for any type of inventory.

  • Suitable for any business and any type of inventory
  • Create stock codes for all inventory items
  • Record purchases, receipts, sales, usage and inventory adjustments
  • Includes stock count feature & calculation of stock count variances
  • Automated calculation of theoretical inventory balances
  • Includes comprehensive analysis of inventory movements

How to use the Inventory Quantity Control template

Open the sample or trial version when reviewing these instructions

This unique template enables users to control inventory by recording opening stock quantities, capturing all inventory movement transactions, performing stock takes and calculating stock quantities on hand for any user defined date range. The template makes provision for stock purchase, sale, receipt, issue and adjustment transaction types and can be used by any business and for any type of inventory.

Note: This template does not include inventory cost & valuation calculations. If you require a template which includes cost and valuation type calculations, refer to our Trade Based and Usage Based inventory control templates.

The following sheets are included in this template:
StockCodes - this sheet can be used to create unique stock codes for all inventory items and also includes an inventory movement report for the stock codes created.
Movements - all inventory movement transactions should be recorded on this sheet.
StockCount - this sheet can be used to perform a physical stock count and to analyse stock take variances. Physical stock count quantities are measured against theoretical stock balances and once the accuracy of the stock take variances has been established, the calculated stock variances can be recorded as stock adjustments on the Movements sheet in order to adjust the theoretical stock quantities to the physical stock count quantities.
Dashboard - the inventory dashboard is automatically updated based on the stock code and dates selected in the filter section of the dashboard. You can select an individual stock code or clear the contents of the list box to view calculations for all stock items. The dashboard also includes a unique interactive report where you can select the basis of balances or movements and view all transaction types or any of purchases, receipts, sales, issues or adjustments individually. The dashboard also contains stats of the top products by transaction type. Aside from the filter and report selections, no user input is required on this sheet and all workings are included below the dashboard.

Stock Codes

Create & Maintain Stock Codes

A unique stock code needs to be created on the StockCodes sheet for all inventory items that you want to include in the template. The stock codes created on this sheet are included in list boxes in the stock code columns on the other sheets and users are therefore required to create the appropriate stock code before the code will be available for selection on the other sheets.

A stock code convention that makes sense in the context of your business should be used and the stock code convention should make it easy to identify stock items based on the stock code assigned to each stock item. Refer to the sample data included on the StockCodes sheet - we have used a stock code convention which starts with two letters followed by two numbers for stock components and four numbers followed by three letters for finished goods.

Stock codes should not be duplicated - if a stock code is duplicated on the StockCodes sheet, it may result in inaccurate inventory movement calculations. If a stock code is duplicated on the StockCodes sheet, an error will be reflected in the error code column. All the error codes reflected in this column should be rectified before reviewing the data. Refer to the Error Codes section of the instructions for more information on the different types of error codes that may be encountered when using the template.

Our example stock code convention is by no means a template requirement. You can use any stock code convention as long as only unique stock codes are created and you are able to easily identify the stock codes relating to each stock item.

The StockCodes sheet contains the following user input columns:
Stock Code - enter a unique stock code in accordance with the stock code convention suitable for your type of business.
Description - enter a description of the stock item. This description should enable users to easily distinguish between stock items.
UOM - the unit of measure (UOM) refers to the stock measurement which is used when ordering, selling, using and counting stock. Stock sales, usage and counting units of measure carry more weight than stock ordering units of measure. For example, if it is easier to record the sale or usage and stock count of an inventory item in kilogram and the product is purchased from a supplier in bags, the unit of measure should be specified as kilogram. When the product is purchased from the supplier, the quantity that is purchased then simply needs to be converted to kilogram when recording the stock purchase transaction on the Movements sheet.
Opening Quantity - enter the opening stock quantity in this column. This is the stock quantity on hand on the date that you start using the template. All subsequent inventory movements should be recorded on the Movements sheet.

Note: The contents on the StockCodes sheet have been included in an Excel data table. All the columns on the StockCodes sheet with yellow column headings require user input. The columns with light blue column headings contain formulas which are automatically copied for all new stock codes created on this sheet.

Inventory Movement Reports

The calculated columns (columns with light blue column headings) on the StockCodes sheet enable users to view a stock movement report for each individual stock item which is automatically calculated based on the inventory transactions recorded on the Movements sheet.

The inventory movement report consists of the opening quantity, purchases quantity, receipts quantity, sales quantity, issues quantity, adjustments quantity and the closing stock quantity (columns F to L). The total of the quantity movements and the opening stock should equal the closing stock (quantity on hand) in column L.

The inventory movement calculations are based on the "From" and "To" dates that are specified in cells L2 and L3 respectively. If both of these cells contain valid dates, the opening quantities include all transactions that are dated before the "From" date in cell L2, the inventory movements include all transactions between the "From" and "To" dates and the closing stock quantities represent the quantities on hand at the end of the "To" date in cell L3.

If only a "From" date is specified (in cell L2) and the "To" date cell is left blank, the opening quantities include all transactions before the "From" date and the inventory movement calculations include all transactions after the "From" date and on or before the end of the current month (which is determined by the current system date). If only a "To" date is specified, the opening quantities include only the opening quantities that are calculated based on the user input in column D and the inventory movement calculations include all transactions that are dated on or before the "To" date that is specified in cell L3.

If both the "From" and "To" date cells are left blank, the opening quantities are calculated based on the user input in column D and the inventory movement calculations include all the transactions included on the Movements sheet and dated on or before the end of the current month (which is determined by the current system date).

Note: As you can see, the functionality added to the StockCodes sheet enables users to display an inventory movement report for any user defined date range. Users are therefore not only able to calculate current inventory quantities on hand by stock code, but are also able to view the inventory movements for any previous reporting periods.

Note: The Error Code column will contain an error code if there is a problem with the data entered in any of the user input columns. If this column therefore contains any error codes, these user input errors need to be resolved before viewing the data on this sheet. Refer to the Error Codes section of the instructions for guidance on the different error codes which may be encountered when using this template.

Dashboard Calculations

The calculations in columns M to Q on the StockCodes sheet are used in the inventory dashboard calculations on the Dashboard sheet. These columns are therefore not included in the print range on the StockCodes sheet. The only difference between these calculations and some of the inventory movement calculations is that the dashboard calculations are based on the selected date range on the Dashboard sheet which may be different from the selected date range on the StockCodes sheet.

Inventory Purchases

All inventory purchase transactions should be recorded on the Movements sheet. The contents on this sheet have been included in an Excel data table. The columns with yellow column headings require user input and the columns with light blue column headings contain formulas which are automatically copied for all new transactions entered on the sheet.

The following columns require user input:
Transaction Date: enter the delivery date relating to the stock purchase transaction in column A. All dates should be entered in accordance with the regional date settings specified in the System Control Panel. We've added data validation to column A to ensure that only valid dates are entered in this column. The date on which the supplier delivers the inventory to your business premises should be recorded in this column because the inventory is added to the theoretical inventory balance on this date. If the inventory has not been delivered yet, the physical stock on hand will not agree to the theoretical stock balance.
Transaction Type: select the Purchase transaction type in column B.
Supplier Name: enter the name of the appropriate supplier in column C.
Document Number: enter the supplier invoice number or other unique reference number in column D. The reference that you enter in this column should enable you to trace the transaction back to its supporting documentation.
Stock Code: select the appropriate stock code from the list box in column E. All stock codes need to be created on the StockCodes sheet before being available for selection. Refer to the stock description which is displayed in column H to ensure that the correct stock code has been selected.
Transaction Quantity: enter the quantity of stock purchased in column F. The purchase quantity should be recorded in the unit of measure which is displayed in column I.

The calculated columns on the Movements sheet consist of the error code, stock description, unit of measure (UOM), previous quantity on hand, new quantity on hand and the stock movement date. The values in all of these calculated columns are calculated automatically based on the values recorded in all the user input columns (columns with yellow column headings).

The stock description is included to enable users to view a description of the stock code selected in column E and the UOM is included to indicate which unit of measure should be used when entering transaction quantities. The previous and new quantity on hand calculations reflect the quantity of stock on hand before and after taking the purchase transaction into account.

Note: The quantity on hand calculations reflect the quantity of stock on hand before and after recording a transaction. These calculations can also be used to identify stock transaction recording errors - if either the quantity on hand before or after recording a transaction is negative, it means that an error has been made in the recording of previous stock movement transactions. Should this be the case, an error code will be reflected in column G which indicates that the previous inventory movement transactions for the affected stock code need to be investigated.

The movement date in column L is determined based on the transaction date in column A and the relative row position of the transaction which is applied to the transaction date as a time value. This means that where two transactions are entered with the same transaction date, the transaction which is entered first on the Movements sheet will be deemed to have occurred before any subsequent transactions.

It is therefore important to record transactions in the correct sequence when the transaction dates are the same. For example, if a stock purchase transaction occurs at the beginning of the day and a usage (issue), sale, receipt or adjustment transaction needs to be recorded on the same day, the inventory purchase transaction should be recorded on the Movements sheet before recording the usage, sale, receipt or adjustment transactions.

Inventory Receipts

All inventory receipt transactions which do not relate to stock items being purchased should be recorded by entering the appropriate positive quantities on the Movements sheet. The user input that is required on this sheet includes the transaction date, transaction type, stock code and quantity received. The other user input columns (supplier name and document number) are not required when entering stock receipt transactions and can either be left blank or you can enter a default value in these columns.

Note: Inventory purchases should not be recorded as stock receipts because purchases are deemed to be a different transaction type which should be recorded by selecting the Purchase option in column B. The Receipt transaction type should therefore be used for all stock quantities which are received without being purchased from a supplier, for example stock items which are produced in a manufacturing process.

All the user input and calculated columns on the Movements sheet have been covered in the Inventory Purchases section of the instructions. We will therefore only point out differences between the recording of stock purchase and stock receipt transactions in this section of the instructions.
Transaction Date: the date on which the appropriate stock item has been received should be entered in column A.
Transaction Type: select the Receipt transaction type from the list box in column B.
Supplier Name, Document Number: these columns can be left blank when entering receipt type transactions or you can enter a default value like "Manufactured" or "N/A".
Stock Code: select the appropriate stock code from the list box in column E. All stock codes need to be created on the StockCodes sheet before being available for selection.
Transaction Quantity: enter the quantity of stock received as a positive value in column F. The receipt quantity should be recorded in the unit of measure which is displayed in column I.

Inventory Sales

All inventory sales transactions should be recorded by entering the appropriate negative quantities on the Movements sheet. The user input required on this sheet includes the transaction date, transaction type, customer name, document number, stock code and quantity sold.

All the user input and calculated columns on the Movements sheet have been covered in the Inventory Purchases section of the instructions. We will therefore only point out differences between the recording of stock purchase and stock sales transactions in this section of the instructions.
Transaction Date: the date on which the appropriate stock item has been sold should be entered in column A.
Transaction Type: select the Sale transaction type from the list box in column B.
Customer Name, Document Number: enter the name of the customer in column C and the sales invoice number in column D.
Stock Code: select the appropriate stock code from the list box in column E. All stock codes need to be created on the StockCodes sheet before being available for selection.
Transaction Quantity: enter the quantity of stock sold as a negative value in column F. The sales quantity should be recorded in the unit of measure which is displayed in column I.

Note: A stock sales transaction may result in an error if the transaction quantity entered in column F is greater than the previous quantity on hand in column J. If this is the case, the new quantity on hand will be a negative value and an error code will be reflected in column J. The most recent transactions for the affected stock code need to be investigated in order to resolve the error and if no explanation can be found, a positive stock adjustment should be recorded in a row above the issue transaction (and by using the same transaction date) in order to adjust the quantity on hand upwards so that the new quantity on hand (after taking the effect of the issue transaction into account) does not go into a negative stock position.

Inventory Usage (Issue Transactions)

All inventory usage transactions should be recorded by entering the appropriate negative quantities on the Movements sheet. The user input required on this sheet includes the transaction date, transaction type, stock code and quantity used. The other user input columns (supplier name and document number) are not required when entering stock usage transactions and can either be left blank or you can enter a default value in these columns.

We recommend implementing a system whereby the inventory used on a daily basis is recorded independently and then recorded on this sheet at the end of the day or the beginning of the next day. There are significant benefits to controlling stock on a daily basis and the recording of daily stock usage forms an integral part of this process. If there are factors that result in daily stock usage measurement being impractical, this template can also be used to record and analyse weekly stock usage.

Another (less effective) method of controlling inventory usage is to simply perform a physical stock count and to record the difference between the theoretical stock on hand and the stock count quantities as usage on the stock count date. If a system like this is in effect, inventory usage is not recorded independently and the theoretical stock balance will therefore only consist of the stock quantities purchased (presuming that stock sales and receipts do not apply to component stock items). The resulting stock variances therefore represent the inventory used since the previous stock count.

The disadvantage of using a stock count system to record usage is that there is no reference point for identifying stock items and areas which result in losses because the transaction cycle is in effect incomplete. It will therefore be extremely difficult to investigate and to explain inventory usage in excess of expectations.

The recording of inventory usage on a regular basis (daily or weekly) enables users to calculate accurate theoretical stock balances which can be compared to physical count quantities. This system makes it a lot easier to identify and investigate problem stock items and areas and enables users to limit excess stock usage a lot more effectively.

All the user input and calculated columns on the Movements sheet have been covered in the Inventory Purchases section of the instructions. We will therefore only point out differences between the recording of stock purchase and stock usage (issue) transactions in this section of the instructions.
Transaction Date: the date on which the appropriate stock item has been used should be entered in column A.
Transaction Type: select the Issue transaction type from the list box in column B.
Supplier Name, Document Number: these columns can be left blank when entering usage type transactions or you can enter a default value like "Component Usage" or "N/A".
Stock Code: select the appropriate stock code from the list box in column E. All stock codes need to be created on the StockCodes sheet before being available for selection.
Transaction Quantity: enter the quantity of stock used as a negative value in column F. The usage quantity should be recorded in the unit of measure which is displayed in column I.

Note: A stock usage transaction may result in an error if the transaction quantity entered in column F is greater than the previous quantity on hand in column J. If this is the case, the new quantity on hand will be a negative value and an error code will be reflected in column J. The most recent transactions for the affected stock code need to be investigated in order to resolve the error and if no explanation can be found, a positive stock adjustment should be recorded in a row above the issue transaction (and by using the same transaction date) in order to adjust the quantity on hand upwards so that the new quantity on hand (after taking the effect of the issue transaction into account) does not go into a negative stock position.

Inventory Adjustments

All inventory adjustments also need to be recorded on the Movements sheet. Inventory adjustments consist mainly of stock take variances but could also include manual adjustments which are required to correct the quantity on hand of a particular stock item. Inventory adjustments are recorded in exactly the same way as usage transactions, except for selecting an "Adjustment" transaction type in column B on the Movements sheet and being able to record both positive and negative values for inventory adjustments. Note that positive adjustments increase the quantity on hand, while negative adjustments decrease the quantity on hand.

Stock Count Variances

All stock count variances should be recorded on the Movements sheet based on the stock variances calculated on the StockCount sheet. Positive quantity variances result in an increase in the appropriate stock item's theoretical quantity on hand, while negative quantity variances result in a decrease in the appropriate stock item's theoretical quantity on hand (thereby effectively writing off the particular stock variance).

Stock adjustments that result from a stock take can be recorded on the Movements sheet by copying the appropriate count date into column A, selecting the "Adjustment" transaction type in column B, copying the appropriate stock codes into column E (from the StockCount sheet) and copying the appropriate adjustment quantities into column F (from column G on the StockCount sheet).

Note: The supplier name and document number columns can be left blank when recording stock adjustment type transactions or you can enter a default value such as "Stock Count" or "N/A" in these columns. Refer to the Inventory Purchases section of the instructions for guidance on the calculations in the calculated columns (the columns with light blue column headings).

Stock Count

The StockCount sheet can be used to record stock count quantities, compare the quantities that have been counted to theoretical stock quantities and to calculate and review stock quantity variances. This stock count feature only requires limited user input - simply enter the appropriate stock count date in cell G1, copy the stock codes that need to be included in the stock count into column A and record the quantities that have been counted in column E. A stock variance report is automatically compiled based on the data that is entered by the user.

Note: The contents on the StockCount sheet have been included in an Excel data table. The columns with yellow column headings require user input and the columns with light blue column headings contain formulas which are automatically copied for all the stock codes included on the StockCount sheet.

The StockCount sheet can be prepared for a stock count by copying the stock codes that you want to include in the stock count from the StockCodes sheet and pasting the stock codes into column A. All the formulas in the columns with light blue column headings are then automatically copied into all the rows that contain a stock code. The counted quantities in column E then need to be replaced by a nil value.

The calculation of all theoretical stock balances is based on the stock count date entered in cell G1. All the transactions recorded on the Movements sheets and dated on or before this date are included in the theoretical stock balances. It is imperative that you specify the correct stock count date in cell G1, otherwise the stock variance report will not be calculated accurately.

After preparing the StockCount sheet for the stock count, the stock quantities counted need to be recorded in column E. All the stock quantity variance calculations will be updated automatically and can then be reviewed and recounted until you are satisfied that the physical stock count has been performed and recorded accurately. The stock count variances can then be copied to the Movements sheet and recorded as stock adjustment transactions in order to adjust the theoretical stock quantities to the quantities which have been counted.

Note: After copying the stock count variances to the Movements sheet and recoding the appropriate stock adjustment transactions, the theoretical stock quantities on the StockCount sheet are automatically updated and all the stock variances should be nil. If you therefore want to print a stock variance report for recordkeeping purposes, you should do so before recording the stock adjustment entries on the Movements sheet.

If stock items are received from a supplier or production process on the day of the stock count, you should consider whether these items will be included in the physical stock count. If the items are not going to be counted, you should not record the purchase or production transaction before the stock count has been completed and these stock items should also not be included in the physical stock count.

Proper cut off also needs to be applied to stock sales and usage transactions. Stock sales and usage transactions should be recorded for all the stock items used or sold before the physical stock count commences in order to ensure that all stock variances are calculated accurately.

Note: The same stock count procedures can be followed for cycle counts (counts where only selected stock items are physically counted). Only the appropriate stock codes then need to be added to the StockCount sheet, but you still have to ensure that proper cut off is applied for all cycle counts (all the appropriate purchase, receipt, sales and usage transactions must be recorded before the physical stock count commences).

Note: If you change the count date in cell G1, the theoretical stock balances will also change based on the date that is entered in this cell. All the transactions that have been recorded on the Movements sheet and dated on or before the count date will be included in the theoretical stock balance calculation.

Dashboard

The inventory dashboard on the Dashboard sheet is calculated automatically from the movements entered on the Movements sheet. All you need to do is select the appropriate stock code and from and to dates in the filter section of the dashboard. All the calculations are then automatically updated.

The dashboard calculations and charts can be compiled for an individual stock code by simply selecting the appropriate stock code in the dashboard filter section or you can show the data for all stock codes by simply clearing the stock code section (pressing delete on the keyboard).

If you do not specify a From date in the filter section, all inventory transactions from the first date captured on the Movements sheet will be included in the dashboard calculations. If you do not specify a To date in the dashboard filter section, all stock movements on or before the current system date will be included in the dashboard calculations.

Our unique inventory dashboard also includes a comprehensive interactive inventory movement report section which consists of three charts - a 90-day daily chart, a 13-week weekly chart and a 12-month monthly chart displaying inventory movements for the selected stock code and selected date range.

The interactive inventory report contains selections for the basis and type. The basis selection contains options for displaying balances or movements. The type selection contains options for all, purchase, receipts, sales, issues or adjustments which refers to the transaction types to display.

Note: The default options for the interactive report selections is to display movement amounts for all transactions. This is therefore the settings which are applied when no selections are active.

Note: The daily report can be amended to include less than 90 days by simply specifying a new value in cell C72 on the Dashboard sheet. If the chart does not update automatically, just change one of the selections and it should update the new days setting. We do not recommend making changes to the weekly or monthly charts.

The inventory dashboard also includes top product sections which displays the top 5 products in terms of quantity for each of the four main transaction types.

Only the dashboard itself is included in the print range on the Dashboard sheet. The calculations below the dashboard which are used to compile the automated calculations will therefore not be printed.

Roll Forward

This template can be rolled forward for subsequent periods if the calculation speed slows down too much because of adding thousands of transactions to the template. We recommend completing the following steps in order to roll the template forward:

  • Save a copy of the template under a new file name.
  • Delete all the inventory purchase, receipt, sale, issue and adjustment transactions from the Movements sheets in the new file that you created in the previous step but make sure that you retain the formulas in the calculated columns on these sheets in at least two rows.
  • Clear the "From" and "To" dates from the StockCodes sheet in the existing template to ensure that all transactions are included in the inventory quantity on hand calculations.
  • Copy the quantities on hand from column L on the StockCodes sheet in the existing template and paste these quantities into column D (opening quantities) on the StockCode sheet in the new template.
  • Make sure that the inventory quantities in column L in both templates agree.
  • All future transactions can now be recorded in the new version of the template and the old version can be retained if you want to refer back to historical inventory transactions.

Error Codes

The following error codes may result from inaccurate user input and will be displayed in the Error Code columns of the appropriate sheet. The heading of the affected input column will also be highlighted in orange:

  • E1 - this error code means that a duplicated stock code has been entered in the appropriate row. The error can be corrected by simply deleting one of the duplicated entries.
  • E2 - this error code means that the stock code which has been selected is invalid. Stock codes must be created on the StockCodes sheet before being used on any of the other sheets and the error can therefore be corrected by simply creating the appropriate stock code on the StockCodes sheet. If a stock code has been deleted, this error code will be displayed in all the rows on the other sheets which still refer to the stock code. These entries must be deleted or a valid stock code needs to be selected in the appropriate column.
  • E3 - this error code means that an invalid transaction type has been selected. The transaction types that can be used in this template are limited to the types provided in the appropriate list box. This error is also displayed if a transaction has been entered without specifying a transaction type.
  • E4 - removed.
  • E5 - this error code indicates that the quantity on hand before or after recording a transaction is negative. When the quantity on hand for a particular stock code goes into a negative value, it indicates that an error has been made in recording or not recording some of the previous inventory movement transactions. These errors should be investigated and resolved by correcting previous stock movement entries. If after investigating the error, no solution is found the quantity on hand should be adjusted by entering a positive adjustment type entry in the row above the transaction which contains the error (and using the same transaction date) otherwise the closing stock calculation for the affected stock item may not be accurate.

Note: Input errors may result in inaccurate template calculations and it is therefore imperative that all errors are resolved before reviewing the inventory movement data.