This unique template enables users to analyse the profitability of a business by comparing sales to inventory usage. In many business environments, it is impractical to perform accurate calculations of cost of sales and it is a lot more feasible to compare inventory usage to sales. The functionality included in this template enables users to control inventory by creating stock codes for all individual inventory items; recording inventory purchases, usage and adjustments; performing physical stock counts and analysing stock take variances; calculating stock valuations and measuring sales, cost of sales & gross profits based on any user defined date range. All inventory valuations are performed on an average cost basis.
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 inventory valuation and inventory movement calculations by stock code.
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, select amounts, costs or quantities and view all transaction types or any of purchases, usage and adjustments individually. The dashboard also contains stats of the top products by transaction type as well as purchase price variance stats. Aside from the filter and report selections, no user input is required on this sheet and all workings are included below the dashboard.
Sales - record daily sales totals if you want to measure stock usage against sales in order to analyse profitability. Cost of sales for the purpose of this analysis is defined as the total of stock usage and stock adjustments. The profitability features of this template is therefore not appropriate for businesses which carry a significant amount of finished product stock as sales and usage would not always be comparable.
Profitability - the calculations on this sheet enable users to compare inventory usage and inventory adjustments to sales. The total inventory usage and adjustments are included in the cost of sales total and deducted from the sales total in order to calculate the appropriate gross profit amounts and percentages. A daily sales analysis for the specified calendar month and a monthly analysis for the last 12 months are also included on this sheet and can be calculated for any user defined period by simply entering the appropriate "From" and "To" dates at the top of the sheet.
Note: If you do not want to use the profitability calculations to measure sales against inventory usage, you can safely delete the Sales and Profitability sheets without it having any effect on the other sheets. You can then use the template only for controlling inventory on hand and analysing inventory movements.
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 that is assigned to each stock item. Refer to the sample data on the StockCodes sheet - we have used a code convention which starts with two letters followed by four numbers.
The two letters are used to identify the type of stock - for example, RM refers to raw materials and PM refers to packaging material. The four numbers that are included in the stock code convention provides for sufficient unique stock codes to be created for each type of stock.
Stock codes should not be duplicated - if a stock code is duplicated on the StockCodes sheet, it may result in inaccurate inventory valuation 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 which may be encountered when using the template.
Our sample 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 for 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 which is 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, using and counting stock. Stock usage and counting units of measure carry more weight than stock ordering units of measure. For example, if it is easier to record the 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. This is the stock quantity on hand on the date that you start using the template for recording inventory transactions. All subsequent inventory movements should be recorded on the Movements sheet.
Opening Cost - enter the cost of the opening stock quantity recorded in column D. The cost is multiplied by the opening stock quantity in order to calculate an opening stock valuation.
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 Valuation & Movement Reports
The calculated columns on the StockCodes sheet enable users to view a stock valuation and movement report for each individual stock item which is automatically calculated based on the inventory transactions recorded on the Movements sheet. The last 9 columns are only used in the dashboard calculations on the Dashboard sheet and are therefore not included in the print range.
The inventory valuation report on the StockCodes sheet consists of the quantity on hand, average cost and inventory valuation for each individual stock item (columns H to J). The inventory movement report consists of the opening quantity2, purchases quantity, usages quantity, adjustments quantity, opening value2, purchases value, usages value and adjustments value (columns K to R). The total of the quantity movements should equal the quantity on hand in column H and the total of the value movements should equal the inventory valuation in column J.
The inventory valuation and movement calculations are based on the "From" and "To" dates that are specified in cells H2 and H3 respectively. If both of these cells contain valid dates, the inventory valuations are calculated based on the "To" date that is specified in cell H3, the opening quantities and values include all transactions that are dated before the "From" date in cell H2 and the inventory movements include all transactions between the "From" and "To" dates.
If only a "From" date is specified and the "To" date cell is left blank, the opening balances include all transactions before the "From" date and the inventory valuation and 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 balances include only the opening quantities and values that are calculated based on the user input in column D and E and the inventory valuation and movement calculations include all transactions that are dated on or before the "To" date specified.
If both the "From" and "To" date cells are left blank, the opening balances are calculated based on the user input in columns D and E and the inventory valuation and movement calculations include all the transactions that are 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: The StockCodes sheet functionality enables users to display an inventory valuation and movement report for any user defined date range. Users are therefore not only able to calculate a current inventory valuation by stock code, but are also able to view the inventory valuations or movements for any previous reporting periods.
Note: All the amount columns on the StockCodes sheet also include a subtotal above the column heading (formatted in italic) which displays a total for all the stock codes which are visible on the sheet. If the Filter feature is used to filter the data on this sheet, these calculations will be based only on the filtered data.
Note: The Error Code column will contain an error code if there is a problem with the data which has been 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.
The opening stock values which are calculated in column G are calculated by multiplying the opening stock quantities and costs in columns D and E. These are the opening stock quantities on hand before the first inventory movement is recorded and are therefore added to the movements to calculate stock on hand.
The calculations in columns S to AA 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.
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 added to the sheet.
The following columns require user input:
Transaction Date: enter the delivery date of the stock purchased in column A. All dates should be entered in accordance with your regional date settings. 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 I to ensure that the correct stock code has been selected.
Transaction Quantity: enter the purchased quantity in column F. The purchased quantity should be recorded in the unit of measure which is displayed in column J.
Invoice Amount: enter the total invoice amount which relates to the stock code selected in column E. This amount should be entered exclusive of sales tax if the business is registered for sales tax purposes and inclusive of sales tax if it is not registered. If the business is registered for sales tax purposes, the sales tax can be claimed back from the appropriate tax authorities and should therefore not form part of the inventory cost.
Note: If a supplier invoice includes multiple stock codes, each stock code needs to be recorded individually on the Movements sheet. A single supplier invoice could therefore consist of multiple stock purchase transactions on the Movements sheet.
Note: If stock is delivered by a supplier which is not the same supplier as the one from which the stock is ordered, the supplier invoice for the delivery cost will have to be recorded separately to include the delivery cost in the average cost calculation. When you record the information from the delivery invoice, it is important that the stock quantity should be entered as a nil value, otherwise the quantity may be included twice in the calculation of the stock quantity on hand. It may also be necessary to allocate the delivery cost to more than one stock code if multiple stock items have been included in the same delivery.
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, previous average cost, new average cost, transaction value, purchase price per unit, unit price variance, purchase price variance percentage, total price variance and the stock movement date. The values in all of these calculated columns are calculated automatically based on the values recorded in the user input columns.
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 play an important role in calculating the previous and new average costs in columns M & N and 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 H which indicates that the previous inventory movement transactions for the affected stock code need to be investigated.
The previous and new average cost calculations are based on all the stock purchase transactions for the particular stock code as well as the quantity on hand at the time of purchasing stock. These calculations are only affected by stock purchase transactions because stock unit costs can only change when the purchase price of new stock items differ from the current average cost. The previous and new average costs will therefore be the same when recording stock usage or stock adjustment type transactions.
The transaction value for stock purchase transactions will equal the invoice total for the particular stock item in column G. Stock usage and adjustment type transactions are valued based on the current average cost on the date of recording the transaction.
The purchase price per unit is calculated by dividing the invoice total in column G by the transaction quantity in column F and this price is deducted from the previous average cost in column M in order to calculate the per unit purchase price variance in column Q, the purchase price variance percentage in column R and the total price variance in column S. The price variance values in these three columns can be used to analyse buying trends and movements in the prices charged by suppliers.
Note: Purchase price variances are only applicable to stock purchase transactions. These columns will therefore all contain nil values when recording stock usage or adjustment type transactions.
The movement date in column T 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 or adjustment transaction needs to be recorded on the same day, the purchase transaction should be recorded before recording the usage or adjustment transactions otherwise the average cost which will be calculated for the usage or adjustment transactions may not be accurate.
Average Cost Calculations
All the inventory valuation calculations in this template are based on an average cost calculation methodology. When you use the average cost basis for inventory valuation purposes, a revaluation of the appropriate stock item is required after each stock purchase. The revaluation is based on the stock quantity on hand at the time of the purchase, the average cost of stock on hand, the stock quantity purchased and the purchase price per unit which is charged by the appropriate supplier.
The stock on hand at the time of the purchase is valued at the average cost that was calculated after the previous stock purchase and the stock quantity purchased is valued at the supplier invoice value (excluding sales tax if applicable) for the particular stock code. This principle is best illustrated through an example.
A company purchases 100 units of a product at a cost of $10.00 per unit. The supplier invoice value is therefore $1,000. The company then uses 50 units before purchasing another 100 units, this time at $20.00 per unit.
The initial average cost is therefore $10.00 per unit and the stock on hand at the time of the next purchase is valued at $500.00 (50 units x $10.00 per unit). After purchasing additional stock, there are 150 units in stock at a cost of $2,500 (the remaining $500.00 plus the new supplier invoice total of $2,000.00). The new average cost is therefore $16.67 per unit - the stock item in our example should therefore be valued at $16.67 per unit and all stock usage or adjustment transactions should be recorded at an average cost of $16.67 per unit.
Note: A common misconception of average cost is that it is calculated based on historic purchase prices and that it is therefore not a very accurate method of inventory valuation. As we illustrated in the above example, this is actually not the case. Previous stock purchases and the prices at which these stock purchase transactions occurred only influence the average cost calculation to the extent of the inventory quantities still on hand at the time of the next purchase. Under most circumstances, the inventory on hand is valued at a cost that consists mainly of the most recent purchase price resulting in a reasonably accurate valuation of inventory and also therefore accurate recording of cost of sales or inventory usage.
Another important point to emphasize is that the average cost calculation will only be accurate if the stock quantity on hand at the time of the purchase is calculated accurately. The quantity on hand could be inaccurate if errors are made when recording stock purchase, usage or adjustment transactions. In order to identify possible errors, we have included error codes on the sheet in order to highlight possible stock inaccuracies. If an error code is therefore reflected in the Error Code column, the error should be investigated and resolved in order to prevent inaccurate average costs being calculated and used in the valuation of inventory.
Note: Good stock returns can be recorded as negative purchase transactions on the same basis as recording the initial purchases of the affected stock items but just with a negative quantity in column F. These transactions will therefore also affect the average cost calculations of the returned stock items.
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, document number and invoice total) are not required when entering stock usage transactions and can either be left blank or you can enter a default value in these columns. The invoice amount should equal a nil value when entering stock usage transactions.
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 which result in daily stock usage measurement being impractical, this template can also be used to record and analyse weekly stock usage.
Another 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 place, inventory usage is not recorded independently and the theoretical stock balance will therefore only consist of the stock quantities that have been purchased. 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 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 Usage 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 "None" 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 that has been used as a negative value in column F. The usage quantity should be recorded in the unit of measure which is displayed in column J. If a usage transaction type is selected in column B and a positive value is entered in this column, an error code will be displayed in the Error Code column. Refer to the Error Codes section of the instructions for guidance on how to resolve user input errors.
Invoice Amount: enter a nil value in this column when recording stock usage transactions.
Note: The previous and new average costs calculated for stock usage transactions will be the same. This is because average unit costs will only change when purchasing stock at a different price from the ruling average cost at the time. The transaction value for stock usage transactions is therefore calculated by multiplying the transaction quantity by the average cost per unit.
Note: The average cost calculations will only be completely accurate if there are no error messages in column H on the Movements sheet. It is therefore imperative that users ensure that all the user input errors reflected in this column are resolved before viewing any of the inventory movement or valuation data in this template.
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 K. If this is the case, the new quantity on hand will be a negative value and an error code will be reflected in column H. 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 usage 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 usage transaction into account) does not go into a negative stock position.
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 which 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), copying the appropriate adjustment quantities into column F (from column J on the StockCount sheet) and entering a nil value in the Invoice Amount column.
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 in these columns. Refer to the Inventory Purchases and Inventory Usage sections of the instructions for guidance on the calculations in the calculated columns (the columns with light blue column headings).
The StockCount sheet can be used to record stock count quantities, compare the quantities counted to theoretical stock quantities, calculate and review stock quantity variances and compare a theoretical stock valuation to a stock count valuation. This stock count feature only requires limited user input - simply enter the appropriate stock count date in cell K1, copy the stock codes that need to be included in the stock count into column A and record the quantities counted in column E. A stock variance report is automatically compiled based on the data entered by the user.
Note: The contents on the StockCount sheet have been included in an Excel 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 added to 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 K1. 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 K1, 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 and value 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 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 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 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 usage transactions. Stock usage transactions should be recorded for all stock items used 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 and usage transactions must be recorded before the physical stock count commences).
Note: If you change the count date in cell K1, the theoretical stock balances will also change based on the date entered in this cell. All the transactions recorded on the Movements sheet and dated on or before the count date will be included in the theoretical stock balance calculation.
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, measurement and type. The basis selection contains options for displaying balances or movements. The measurement section contains options for displaying quantities, costs or amounts. The type selection contains options for all, purchase, usage or adjustment 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 value for each of the main transaction types as well as the purchase price variances.
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.
All inventory related sales amounts need to be recorded on the Sales sheet in order to facilitate a comparison between sales and cost of sales (the sum of inventory usage & adjustments) and the calculation of gross profit amounts and percentages. We recommend recording sales values on a daily basis but note that you will only be able to calculate and analyse gross profit amounts and percentages on a daily basis if daily stock usage transactions are recorded on the Movements sheet.
Note: The layout of the Sales sheet can be amended if you want to align the columns with data from another Excel template or data source but the existing columns should not be deleted because this may result in errors in the template calculations.
Note: The recording of daily sales amounts is only necessary if you want to measure stock usage against sales in order to analyse profitability. Cost of sales for the purpose of this analysis is defined as the total of stock usage and stock adjustments. The profitability features of this template is therefore not appropriate for businesses which carry a significant amount of finished product stock as sales and usage would not always be comparable. If you only want to use the template to control inventory quantities on hand and analyse inventory movements, you can delete the Sales and Profitability sheets.
The Profitability sheet includes an automated calculation of sales, cost of sales and gross profits which can be compiled for any user defined date range by simply entering the appropriate "From" and "To" dates in cells E2 and E3. The sales amounts are calculated based on the sales values recorded on the Sales sheet and the cost of sales amounts are calculated based on the inventory usage and inventory adjustment transactions recorded on the Movements sheet.
The sales analysis on the Profitability sheet is automatically compiled for the date range between the "From" and "To" date, a month-to-date and year-to-date period, a daily date range for the last calendar month included in the date range and a 12-month date range for the last calendar year (also includes a chart with the monthly sales values and gross profit percentages).
Note: If you clear the contents of the "To" date cell, all the calculations on the Profitability sheet will be based on a date range which includes all transactions up to the end of the current month (based on the current system date on your computer).
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, usage and adjustment transactions from the Movements sheets in the new file 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 and valuation columns.
- Copy the quantities on hand from column H on the StockCodes sheet in the existing template and paste these quantities into column D (opening quantities) on the StockCodes sheet in the new template.
- Copy the average costs from column I on the StockCodes sheet in the existing template and paste these values into column E (opening cost) on the StockCode sheet in the new template.
- Make sure that the inventory valuations in column J 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.
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 specified 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.
- E3 - this error code means that an invalid transaction type has been selected. The transaction types which 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 average cost 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 or inventory valuation data.