Home‎ > ‎Cost Accounting‎ > ‎c. Inventory (Stock)‎ > ‎

Adding Inventory

Entry of new items requires the input of certain base information:

  • Base information about the Code and description together with the category and item type.
  • Cost information
  • Supplier purchasing data
  • Selling prices
Entry of the base information is done from the menu, select the inventory tab and click "Add a New Inventory Item".


A stock code is required for each stock item, this can be any combination of characters up to 20 characters long. The coding structure of stock items should be considered, to ensure that like stock items appear together. Internally the system looks at the code to order stock items in the various look up tables. A systematic approach to naming stock items can save a lot of time later. However, good facilities are available to search. Under supplier purchasing data it is also possible to record the supplier's part number against an item.

There is a script that allows for stock codes to be modified retrospectively, the script goes through all the tables necessary, location stocks, bills of material, order details, purchase order details, sales analysis etc to ensure that all history for the new part code follows the change. The script together with all utility scripts is available from Z_index.php (there are no links to this utility menu - due to the dangerous nature of some of the utilities) The stock code change script itself is named, Z_ChangeStockCode.php.

Part Descriptions

A description of the stock item - can be up to 50 characters long. A description is required for each stock item. This description is used in the look up boxes provided each time the stock item is invoiced, credited or adjusted. There is also the facility to enter long descriptions for each part which show on the screens that customers could access to place orders. This field allows very long descriptions or even features and benefits to be described for the item. The intention for this field is that it could be used for producing a company catalogue or for online ordering by customers who may need more information about a product. It is only the description (short) that displays on invoices and credit notes.


These categories need to be set up first - from the System Setup tab of the menu. In selecting the stock category, be aware that the system uses the category information for analysis and summary reporting as well as identifying accounts for standard cost general ledger integration, if this option is enabled. There is a link to create new stock categories from the stock item entry page.

A stock category is required for all stock items. The stock category is a text field which groups like stock items together. In selecting stock it is often useful to restrict the search to just the category required. A stock category select box shows on the Select Product screen for this purpose.

Unit of Measurement

This field describes how the stock is to be maintained and is self-explanatory. It is a compulsory field. The selection list is maintained in config.php as an array variable. To add or delete other units of measurement the array variable called $InventoryUnits defined in config.php must be edited by the system administrator.

Economic Order Quantity

This is the quantity that new orders are made or purchased in by default. Currently this is purely for memorandum - in future this will be a critical part of the MRP calculations.

Packaged Volume

This field is required for freight calculations. It records the volume of the one of the item as packaged for dispatch. See the section on freight calculations.

Packaged Weight

This field is required for freight calculations. It records the weight of the one of the item as packaged for dispatch. The freight calculation takes the higher of the freight costs based on the total weight of the order and the total volume of the order. Most freight companies use a conversion and charge the higher of the two. See the section on freight calculations.

Units of Measure

This field describes how the stock is to be maintained and is self-explanatory. It is a compulsory field, and as such, some values are defined at the time of installation. System administrators may define additional values or modify existing ones via the 'Units of Measure' link found under 'Inventory Setup' on the main 'Setup' page.

Current or Obsolete

If this field is set to obsolete, this indicates that the stock item is no longer used. However, there may be a stock history on invoices and credit notes which are required. The stock item master record is therefore still required. (Deletion is not allowed while stock movements or Sales analysis records exist for the part) However, it will not appear on searches for invoicing, stock items, in addition the item will be flagged as discontinued in stock reports.

Make Or Buy

This field is compulsory and indicates whether the stock item is:

Manufactured - if the item is defined as manufactured it can have a bill of material - there are no traps that prevent a manufactured item from being purchased.

Purchased from an external supplier. Since the item is purchased it cannot also be manufactured and have a bill of material.

An assembly of other stock items. An assembly item does not have a physical stock holding itself, nor has it a cost. An invoice for an assembly item creates the stock movements for all the components of the item and the stock of each of the components in proportion to the requirements specified in the bill of material are decremented. The cost of sales entries in the general ledger journals created by an invoice (if the link is active) is created at the sum of the costs of all the items in the bill of material for the assembly as at the time of invoicing.

A kit set of other stock items that should be exploded into its components when ordered. A kit set is not a physical item itself it is just a short cut to entering a number of parts onto an order. Unlike an assembly, the kit set part does not appear on invoices or orders, but "explodes" into its component parts for modification. It follows that kit sets do not have any cost or physical stock quantities associated with them.

A service item that has no physical stock associated with it. This if for use with service companies that are not interested in retaining stock quantities by location. However, the same sales analysis and movement history is retained - showing the amounts of the service sold/credited.

This field is relevant for MRP and production scheduling. This field can also be set to Service Inventory Item - which then disables stock quantity tracking at the locations and in total. Service stock items are used for invoicing services and labour or even physical items which do not require tracking. The stock movement records are still created and are available to recall on invoicing and credit note inquiries. Inventory adjustments are not allowed for Service Inventory Items. Assembly items can have sales analysis records created for them, but no stock quantity is maintained and stock movement records are created for the components. Assemblies would normally be used where the warehouse keeps the components of the item for several different purposes and only assembles the items as they are picked for dispatch.

Setting Up Assembly Items

Using the example of toilet suites, where the business wishes to keep track of how many sold - i.e. The sales analysis - but only wishes to track the quantities of stock held of the toilet pans and toilet cisterns that make up the suite.

The business will never want to hold stock of made up suites, when stock is counted only cisterns and pans are counted not suites. If there are any made up suites these would need to be broken down into their components and the components included in the stock counts.

Such parts are called "Assembly" items by the system.

When an assembly item is invoiced, the stock of the components of the assembly are decreased by the quantity in its bill of material multiplied the number of the assembly item sold.

eg. A suite that has 2 screws in it to screw the pan to the floor might have a bill of material:

  • 1 x cistern
  • 1 x White S trap pan
  • 2 x Pan screws
  • 1 x pan pac carton

If the sale was for 10 of these - the stock of the cistern, pan and pan-pac cartons would be reduced by 10 and the stock of the pan screws would be reduced by 20. The stock movement inquiry shows this movement and the reference to the assembly item that it came from and the invoice number it was sent out on.

It is important to remember that when an assembly item is credited this process happens in reverse - stock is booked back into the components in exactly the same way as it is invoiced out. The credit note must be entered against the correct stocking location otherwise the pan and cistern stocks in the location where the stock did get returned to and the location where the credit note was entered to will be wrong. There is facility to write the stock off at the time of credit note entry also - in this case the stock location is not important.

This next point is a little confusing. The system also shows the movement of assembly items in the movement inquiry for the assembly item itself. This does have the advantage of showing to whom the assembly items have been sold at a glance. However, there are no stock status inquiries for assembly items since they are not stocking items (only the components are held and picked to make up the assembly item at the time of dispatch).

When parts are first set up - the description and stock category needs to be defined and it is at this point that the type of item is defined - from the heading on that screen titled - "Make, Buy, Kit, Assembly or Dummy Part". The choices are "purchased" - the default, "manufactured", "assembly", "kit-set" or "dummy".

Considering the treatment of assembly items:

If there is stock of an item as shown on the stock status screen - then it is NOT possible to convert the item to an assembly by changing this flag - the stock must first be adjusted back to nil and the corresponding component stock adjusted up. Also, if there are purchase orders for the item - it cannot be converted to an assembly. Remember the assembly part does not exist as a separate part only as an assembly of real stock items for the purposes of selling.

Having set the part to be an assembly, then the part will show an option on the "Select Item" menu to show the costed bill of material. This inquiry shows the current Bill Of Material (BOM) for the assembly together with the cost of each of the components and the total of the costs that is used in the sales analysis and general ledger postings.

Setting up an assembly part requires setting up A Bill Of Material - BOM for the item.

From the manufacturing tab of the main menu - under the Maintenance section - click the link "Bill Of Material Maintenance". The item search fields show with the option to enter either an extract from the item description or the item code. Having entered the selection click on the "Search Now" button. Not all items will show - only those items that can have a BOM - assembly items, manufactured parts and kit-sets. If the part is not defined as an assembly item - it won't show up!

Clicking the part code button will then show a screen for entering components to make up the BOM. If a BOM already exists for the item it will show the components already set up. There are two links next to each item shown in the current BOM to enable the line to be edited or deleted.

To enter a new component into the BOM for an assembly, all that is required is to select the component code from the list - the location and work centre are not used for assembly items so the default can be accepted as is. (The location specified in the sales order is used for all the assembly components stock entries.) The quantity required of the component for each assembly item is required to be entered - it defaults to 1 (and maybe 1 in most cases).

The effectivity dates - effective to and effective after (also known and engineering change control dates) are the dates between which the component is used in the assembly. If the BOM is due to change and customers have been advised that a new pan will be used in suites effective from 1 Jan 05 then the new pan could be entered as a component from that date. The existing pan effective to would have to be changed to be effective to 31 December 04. The alternative is to change all the BOMs on the day when the change is made.

Once the component fields have been entered hitting the enter information button adds the component to the BOM there and then. When the BOM is complete just navigate to the main menu of other link to the next task. Be careful not to click enter information button on the default component by mistake - the component must be selected from the list first.


This field denotes whether the item is to have lot control on it. Lot control is known by several terms including, batch control, bundle control, roll control. In short it allows a reference for each batch of the item to be entered at the time of delivery, transfer, stock check, invoicing etc. When booking in controlled items the batch references and the quantities in each batch must be entered. Many quality control systems that require traceability of raw materials need this functionality to establish what batch of raw material was used in a given work order. Or what roll of cloth was sold to a given customer. Other industries call their lots of product by different names a melt, a cut, a run etc. Every time a transaction involving a controlled item is created, the system will accumulate the quantity from a separate form for selecting the batches (Lot/roll/melt/work order/serial numbers).


Serialised is a special case of controlled where the batch size is always one. The system will prompt for the serial number of each item of stock being received and stock records will be maintained for all serial numbers separately. Serialised does not have any effect if controlled is not set.

Bar Code

This field is the unique identifying bar code for this item, typically containing the EAN bar code for the item. This field is used in identifying the item in EANCOM edi messages.

Discount Category

Is used in the discount matrix of discount categories and sales types. When an order is for an item with a discount category code and a customer of a sales type that has a discount matrix entry and the order is for a quantity more than the matrix quantity break figure, the system automatically enters the discount into the order lines for all items in that discount category. This allows quantity break discounts across a range of similar products.

The discount category is a 2 character field and there is no error checking on entries.

Decimal Places

Some items of stock require a number of decimal places to be retained and displayed, others do not require any. This field is used throughout the system for invoices, orders and all places where the item quantity is displayed.