Managing your inventory using Adempiere

Problem Statement
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

  1. Raw materials
  2. Purchased Products
  3. Spares and part supplies
  4. Work-In-Process (WIP) Products
  5. Items being transported
  6. 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

  1. Periodic Order of fixed amount or the amount decided based on custom business rule
  2. Fixed order quantity – when the inventory level goes down based on the replenish criteria decided by the business

Following diagram depicts typical purchase processing
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

  1. Someone just do trading where they buy products from wholesalers and sell to the customers (e.g. resellers, retailers)
  2. Someone buys raw material, spare parts and add more value in it to create higher value (often) products (e.g. manufacturers, assemblers)
  3. 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:

Product Setup

Following are the important things to review / note while setting up product

  1. 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.
  2. 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.
  3. Tax Category – allows business to define the different taxes that may be available for the product
  4. Attribute Set – allows business to define properties of the product (for example – color, length, serial number, lot number, etc.)
  5. Business Partner – to define and rate the the vendors who supply the product
  6. 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).
  7. 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

Purchase Order

3) Enter PO Line details

PO Line

Look-up for the product that you want to order and verify their current stock status in the warehouse.

Product Info

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.
Step 2

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 material receipt window, create 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.

Step 3

Now go to “Ship/Receipt confirm” and review the item quantity on confirmation line. After review, complete the document.

Updated stock

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 has 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 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 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 equivalent amount.

Product Info after completing the purchase order

Okay, so what changed due to 3 items being ordered as part of the completed order?

  1. Available Quantity changed from 8 to 5
  2. 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 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 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.

In case you need any professional help on Adempiere implementation or training, you can reach us through the contact details mentioned on our Contact page.

Tagged with: , , , , , ,
Posted in ADempiere, EagleRP
5 comments on “Managing your inventory using Adempiere
  1. hieplq says:

    Thanks you for share knowledge.
    please give a advice in below case
    1. produce 15 produce A.
    2. convert 5 produce A to produce B
    what is menu to do this?
    what is impact to COGS.

  2. in Price List, is Standard Price same as Cost price ?.

    If a manufacturing company has many products and would like to create monthly sales Price List. how easy they can do this ?

    For some products need 5% GP, other products say 10% GP on cost price (assume we can set the margin by product category wise). Can you suggest best and easy method to create the sales price list

    • Walking Tree says:

      Let me first define 3 different prices for you:
      List Price The List Price is the official List Price in the document currency. This is also called the Recommended Retail Price (RRP) and sometimes people also make use of the term called Maximum Retail Price (MRP).
      Standard Price The Standard Price indicates the standard or normal price for a product on this price list. This is the standard price at which business often sells that item. So you can consider this price as actual selling price.
      Limit Price The Price Limit indicates the lowest price for a product stated in the Price List Currency. The business doesn’t want to sell their products below this price.

      Cost price is often something which you calculate at the time of procurement by including the price at which you have bought (it could be standard price – if the supplier / vendor strictly followed his pricing list). Please note that ideally cost also includes landed cost (which in turn includes all kind of changes, for example registration, custom, transportation, etc.).

      Creating monthly sales price list is not a big deal. However what is not clear to me is the basis on which they want to create the price list. You have mentioned 5% GP and 10% GP, but I guess I didn’t understand this term. If you can explain these terms then I will be able to suggest the possible approach for coming up with price list.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

We Have Moved Our Blog!

We have moved our blog to our company site. Check out for all latest blogs.

Sencha Select Partner Sencha Training Partner
Xamarin Authorized Partner
Recent Publication
%d bloggers like this: