Need of Inventory Management (IM) has been increasing and so has been the offering from different vendors. Adempiere is one of the top class open source solution which attempts to address concern for small as well as big organizations. In this article we intend to introduce the inventory management using Adempiere.
With increasing competition and cost the need for Inventory Management has increased many folds in last few years. While different business tries to make use of their inventory in different ways, the basic use is to meet future need (or demand) by effectively figuring out when to order items and how much to order. The decision like customer order (or internal usage), waiting period (lead time), market price, various types of costs involved in procuring the items, discounts, storage capacity, perishability, availability in local area and the SLA commitment influence the decision of the business while deciding when to buy and how much to buy. Commonly used inventories types are
- Raw materials
- Purchased Products
- Spares and part supplies
- Work-In-Process (WIP) Products
- Items being transported
- Tools and equipment
Depending on the need for the products (or items) – business go for following types of order of products to refill the inventory, which eventually defines their inventory order cycle
- Periodic Order of fixed amount or the amount decided based on custom business rule
- Fixed order quantity – when the inventory level goes down based on the replenish criteria decided by the business
Following diagram depicts typical purchase processing
Okay, so as a business you have procured items / products. Now how do you make use of them? Well, different business may have different needs – for example
- Someone just do trading where they buy products from wholesalers and sell to the customers (e.g. resellers, retailers)
- Someone buys raw material, spare parts and add more value in it to create higher value (often) products (e.g. manufacturers, assemblers)
- Someone just wants to ensure that they have optimum quantity in hand to support their internal consumption including maintenance needs (e.g. stationary consumption in IT companies, scheduled maintenance in plants)
As part of this article we will be demonstrating the first type of need (trading of items). Following diagram depicts the very high level process overview:
Depending on the need of business and their complexity, different business have different processes of issuing material to the intended consumers. Following diagram depicts typical consumption in small and medium factories (like power plants, spinning mills, construction houses, etc):
Adempiere features supporting IM needs
The first and foremost is to setup company (client), branches / departments (organization), warehouses and products in the system. Create different user roles and related users to ensure that right user has access to right information. Import your chart of accounts and setup calendar to make sure that inventory is appropriately reported / accounted in right financial period. While these initial setup will be topics in themselves, for the sake of simplicity, I will assume that you have got them configured with the help of a professional.
Now let’s procure some material from the market.
Review Product Setup
Following diagram depicts the overall flow of setting up a product in the system:
Following are the important things to review / note while setting up product
- Replenish Criteria – You should define the warehouse name and locator to assist the store manager to find the products easily. Also, you need to define replenish criteria (e.g. Reorder below Minimum Level or manual or maintain maximum level) based on your organization’s need. If the the warehouse is not responsible for purchasing an item directly and then it may be getting the item procured from some other warehouse (possibly main warehouse of the organization), which must be explicitly mentioned as source warehouse.
- Product Category allows you to categorize products into different groups, which can be used in generating Price Lists, defining margins and for easily assigning different accounting parameters for products. Specially material policy defines how the stock is flowing (FiFo or LiFo) if a specific Product Instance was not selected, which eventually defines the overall cost of the material at the time of creating financial reports.
- Tax Category – allows business to define the different taxes that may be available for the product
- Attribute Set – allows business to define properties of the product (for example – color, length, serial number, lot number, etc.)
- Business Partner – to define and rate the the vendors who supply the product
- Pricing & Price List – this allows business to define different price list for different occasion, region, country, etc. The List Price is the official List Price in the document currency (This is also called Recommended Retail Price (RRP)), the Standard Price indicates the normal price for a product on selected price list (This is the price at which the business generally sells the items) and the Limit Price indicates the lowest price for a product stated in the Price List Currency (Business cannot sell its products below this price).
- Accounting Information – in case you intend to generate financial report out of Adempiere, it will be important to review the default accounts to ensure that the posting happens in your desired accounts.
Now that you have got product configured and reviewed ( Material Management -> Material Management Rules -> Product Setup), the time has come to buy this product from the vendor. For this Adempiere provides you a way to request for quotation and then place a PO or directly create a PO with the vendor. Once the order is placed, the vendor delivers the items and it gets stocked into the inventory.
Placing an Order (PO)
1) Go to Material Management -> Material Management Rules -> Purchase Order window -> Purchase Order Tab
2) Enter Purchase Order Detail – including vendor detail
Look-up for the product that you want to order and verify their current stock status in the warehouse.
Enter quantity detail and actual PO price and complete the PO document.
Check the Product Info window and look at the ordered quantity for the selected product. This will show how much quantity of a given product has been ordered.
Now let’s receive these material to bring it into the warehouse.
Create material receipt line. You can create Material Receipt Lines directly (helpful in case you don’t have PO or you don’t want to raise PO). Let’s say we want to create PO. In such case Adempiere provides a button “Create Lines From”, clicking on which pops-up a window where you can select a PO or an invoice to create material receipt lines.
After selecting the receipt lines from PO Lines, come back to the material receipt window, create a Confirmation record (shipment confirmation) by clicking on “Create Confirmation” button.
Now review the Product Info window again and you will notice that there are few items in Unconfirmed status.
Now go to “Ship/Receipt confirm” and review the item quantity on confirmation line. After review, complete the document.
Now review the Product Info window again and you will notice that there are no items in Unconfirmed status.
Now, come back to Material Receipt window and Complete the Material Receipt document. You will see that purchased items have become available in the warehouse.
Here you saw the updated stock details. The items that you have ordered have actually reached your warehouse. We have of course ignored the fact that shipping and finances will also be involved (which will be topic for some other article), but what we have demonstrated that the Adempiere allows you easy steps to put PO, receive material and confirm about the receipt to bring it into the warehouse.
Customer orders and quotations are entered through the Sales Order window. Refer to the Adempiere ERP Wiki, about Sales Order to understand more about different document types and Sales process in general.
Open Sales Order window (Quote-to-Invoice –> Sales Orders –> Sales Order) and enter the customer details. You must select correct target document type – for example, if you want to place an order only when you have stock available in the warehouse then you may not like to select Standard Order. Now create order line for this order and specify the required item count(say 3). If you check the product info of the associated product (before completing the order), it looks like follows:
If you check item status (in the warehouse) at this stage then there won’t be any change.
Now let’s complete the Sales Order and check the product info for the same product. You will find that available quantity and on hand, quantity has reduced by the equivalent amount.
Okay, so what changed due to 3 items being ordered as part of the completed order?
- Available Quantity changed from 8 to 5
- On Hand Quantity changed from 13 to 10
At this stage, if you happen to know that the order got cancelled, then you can very well come back and mark the order as void. The Sales Order window shows “Close” button and clicking on it pops-up “Document Action” window. There you can decide to make the order as void.
Now create Shipment (Customer) record for the above sales and complete the shipment record. Check the product info window. You will notice that Reserved Quantity has been updated by the equivalent amount.
NOTE – for the document type On Credit Order, Warehouse Order, POS Order and Prepay Order the system automatically creates shipment record. Hence, if you manually create a record then you may end up duplicating shipment record and the reserved count may be shown in negative.
As promised earlier in this article, I have explained the inventory management for typical Trading Organization by showing the cycle of Procuring the item and selling the item and reviewing the inventory status at various stages. While the steps provided by me will suit many businesses, some of the business may have a different approach for maintaining even trade related inventory. That is where you need professional help from the companies involved in ERP implementation. I hope this article helps you in managing your inventory better.