Facebooktwittergoogle_plusredditpinterestlinkedin

Hi Everyone,

In a previous post, we discussed how to use products to communicate shipping and receiving instructions to internal or external users. The purpose of this post is to (a) expand the conversation into other types of non-stocked product usages and (b) add more implementation specifics.

For those not familiar with ADempiere and iDempiere, open source ERP, you might want to start here to learn more about how open source ERP works, who can best benefit from it, and how to use it. I have spent the last 10 years helping multi-national distribution and manufacturing companies learn, configure and audit ADempiere and iDempiere. Below is a collection of ERP best practices to help you configure the system for increased productivity, insight, accuracy and accountability.

Here is a list of common non-stocked product usages:

    • Purchase of MRO (Maintenance, Repair and Operations) equipment and production supplies like gloves used during manufacturing.
      • Discussion: let’s say you want to use your normal procurement process to order MRO and production related products; however, you to not want to track the quantity-on-hand of these items. How do you configure the MRO product to ensure the accounting and order management process is complete?
      • Typical process: your desired process includes (a) issue a Purchase Order, (b) receive in the product using a Material Receipt, and (c) raise the Vendor Invoice.
      • Configure: set the Product Type = Expense. Often. You will use a Product Category that sets the costing method to Last PO or Average Invoice (even if you use Standard Costing for your manufactured or distributed goods).
      • Result: The Purchase Order can be created like any other product related order. The Material Receipt will register the product expense and the Goods Received but not Invoiced. The Material Receipt will update the Order Lines as having been delivered. The Material Receipt will not register the increased quantity-on-hand since the product is of type Expense and therefore, not stocked. The Vendor Invoice will relieve the Goods Received but not Invoiced and increase your Accounts Payable. The Vendor Invoice will update the Order Lines as having been invoiced. You have effectively purchased and expensed MRO goods.
    • Purchase Order Rush Charge (product) used to record not-normal expenses related to unique purchasing circumstances. The system is configured similar to the MRO scenario.
      • Discussion: let’s say your customer urgently needs a product that is not currently in stock. Normally, you purchase this product using freight shipping; however, this time you need to incur the additional expense of priority delivery to meet your customer’s expectations. You can use a PO Rush Charge product configured in the following manner to correctly register the additional expense.
      • Typical process: create a Purchase Order for the product. Add your customer’s product as a PO Line. Add an additional PO Line with the PO Rush Charge (product) for the desired dollar amount. Receive both the product and the PO Rush Charge using a Material Receipt. Raise the Vendor Invoice for both lines.
      • Configure: set the PO Rush Charge (product) product Type = Expense. You will use a Product Category that sets the costing method to Last PO or Average Invoice (even if you use Standard Costing for your manufactured or distributed goods).
      • Result: The Purchase Order can be created like any other product related order. The Material Receipt will register the product expense and the Goods Received but not Invoiced. The Material Receipt will update the Order Lines as having been delivered. The Material Receipt will not register the increased quantity-on-hand of the PO Rush Charge since the product is of type Expense and therefore, not stocked. The Vendor Invoice will relieve the Goods Received but not Invoiced and increase your Accounts Payable. The Vendor Invoice will update the Order Lines as having been invoiced. The process is complete!
    • Sales Order Rush Charge (product) to record revenue against the priority delivery of goods.
      • Discussion: let’s say your customer urgently needs a product that is not currently in stock, and they agree to pay a service charge for priority delivery. Normally, you ship product using freight shipping; however, this time you need to incur the additional expense of priority delivery to meet your customer’s expectations. You can use a SO Rush Charge (product) configured in the following manner to correctly register the additional revenue used to offset the additional expenses of priority shipping and handling.
      • Typical process: create a Sales Order to your customer. Add your customer’s product to a SO Line. Add an additional SO Line with the SO Rush Charge (product) for the desired dollar amount. Ship both the product and the SO Rush Charge using a Customer Shipment. Raise the Customer Invoice for both lines.
      • Configure: set the SO Rush Charge (product) Product Type = Service. You will use a Product Category that sets the costing method to Standard Costing. Set the product’s material standard cost to $0 (zero). Setting the cost to zero prevents the Customer Shipment from posting a COGS (Cost of Good Sold) amount.
      • Result: The Sales Order can be created like any other product related order. The Customer Shipment will register the real product’s COGS and relieve the Product’s Asset value from inventory. The SO Rush Charge will not post in the Customer Shipment. The Customer Shipment will update the Order Lines as having been delivered. The Customer Shipment will not register the decreased quantity-on-hand of the SO Rush Charge since the product is of type Service and therefore, not stocked. The Customer Invoice will increase Revenue and Accounts Receivable. The Customer Invoice will update the Order Lines as having been invoiced.
    • General Instruction Note (product) to help both internal and external users do exactly what you ask them to do.
      • Discussion: there are times when you need a receiving clerk, shipping clerk, customer or a vendor to perform or respect special requests. This special instruction could be a one-off scenario that will never happen again or it could be a common scenario that happens one time out of every 10 transactions. Either way, creating Instructions Notes as products helps accomplish this task with high degress of accuracy, productivity, and accountability. In the one-off scenario, you create a ‘General Description Instruction’ product where you use the order line’s description field to provide instructions. In the common instruction scenario, you create an Instruction product per instruction. Each product’s description will contain the details related to that instruction.
      • Typical process: create a Purchase Order or Sales Order. Add the normal stocked product lines. Add the additional Instruction product lines. Set the dollar amounts for the instruction products to $0 (zero). Create your Material Receipt or Customer Shipment and include your instruction lines in either document. Receiving the MR Instruction and shipping the Ship Instruction tells the system who acknowledged the instruction (accountability). Since the SO Instructions will get updated as delivered, they will automatically be added on the Sales Invoice as well.
      • Configure: set the Instruction (product) Product Type = Expense. You will use a Product Category that sets the costing method to Standard Costing. Set the product’s material standard cost to $0 (zero). Setting the cost to zero tells the Material Receipt and Customer Shipment to post $0 (zero) for the instruction product lines.
      • Result: see discussion section. By now you understand the process.
      • Special note: There are two issues to be aware of relating to this use case: (a) the Material Receipt will throw a posting error if it encounters a product with a zero cost. The common work around is to update the code to not perform a zero-cost check if the product is not-stocked. This is an easy fix and requires to lines of code change; (b) ADempiere and iDempiere has an unfortunate feature related to Standard Costing where if it finds a zero cost, it will then turn to an alternative costing method to find a non-zero cost. I usually turn this feature off via code. Both of these issues can be avoided if you are willing to set the stardard cost = $0.001. My good friends at Adaxa.com reminded me of this.

The greatest beauty of the above solutions is that they use built in features and the accounting system’s natural features to communicate and record the results. This article qualifies as a high-impact and low-cost solutions to give you the ability to handle a high-mix and high-volume of orders.

I hope this helps!!

ADempiere vs iDempiere vs Openbravo vs Compiere

Please note that ADempiere, iDempiere and Openbravo are forks or copies from Compiere. Therefore, they have similar abilities mentioned above. The biggest difference is that ADempiere and iDempiere are pure open source. There are no features held behind a commercial or paid license.

About Chuck Boecking: I am an ERP educator. I believe that open source ERP have achieved mainstream capabilities, and as a result, more companies can create greater efficiency across their organization. I started using the iDempiere code base in 2003. Back then, it was called Compiere. In 2006, I started my first multi-million dollar installation. Since then, ADempiere has helped me create great success with distribution and manufacturing companies all over the world. My vision of success is to find companies that can best use open source ERP to help them achieve a single, global instance that drives a discontinuous increase in profitability. I believe that organizations win when they own their technology.

If you have questions, comments or concerns, let me know. I definitely want your feedback.

You can contact me by phone using 512.850.6068.

My email is chuck@chuboe.com.

You can complete the form on this page.

Thank you for taking the time. I look forward to speaking with you.

Regards,
Chuck Boecking
http://www.linkedin.com/pub/chuck-boecking/10/970/17b

 

 

Facebooktwittergoogle_plusredditpinterestlinkedin

Leave a Reply

Your email address will not be published. Required fields are marked *