One of our clients came to us with a problem: the process of ordering new stock for their business and updating the on-hand inventory as shipments came in was getting costly and arduous. It required a lot of manual labor and was often subject to human error.
Drupal Commerce offers retailers a wide array of useful features when it comes to selling products and fulfilling orders. But there was a bit of a void when it came to connecting stores with their suppliers. There really wasn’t a system that allowed store owners to automate the process of ordering products from vendors and updating the stock as it was received.
That’s why we created the new Purchase Order Manager module for drupal.org. At Acro Media, we strongly believe in contributing back to the Drupal community, and this was a great opportunity for us to do just that!
The Purchase Order Manager is a new back-end interface that helps the store owner track ordered and received products and update stock inventory. Its purpose is simple: make the process of ordering stock and receiving products as automated as possible.
We first created an interface that allows store administrators to view the status of existing purchase orders in the system (shown below). They can also view the order PDFs.
Let’s say you need to create a purchase order. When you click the “+ New Purchase Order” link, you’re taken to a nice UI (shown below) that allows you to select which vendor this purchase order will be sent to. Once you choose a vendor, the email field will automatically populate with the email address of the vendor that exists in the system.
Now you can go ahead and add products to the P.O. There are two ways to do this. One is by using an autocomplete text field (highlighted below) that allows you to search by the product title or SKU and select from the list of matching results.
The second way is through a bulk product search (shown above). Sometimes, entire brands or categories are supplied by a single vendor. The “Bulk Add Products” feature allows you to add products to the P.O. by searching for products that belong to a specific brand and/or category. (You can configure these fields when you set up the module.)
Add the quantity for each product and click on the “Add to P.O.” button. This will automatically add the products to the P.O.
A note about quantity: some suppliers ship products in bulk quantities. As the product lists are compiled, the module understands the different quantity types that some products are packaged in. For example, some products might be ordered in cases or lots, where a single case might actually be 12 of the item. The Purchase Order Manager automatically calculates the number and sends the vendor the correct quantity.
After adding the products, you can either save the P.O. as a draft to come back to later, or go ahead and send the P.O. to the vendor.
If you choose to send the P.O., the module creates a PDF version of it and fires off a couple of emails to the vendor and store administrator. The PDF is included in the email and contains a summary of all the products in the order and further information about the store.
Once you get the shipments from the vendor, you can use the Purchase Order Manager to update the quantities received; this automatically updates the stock on-hand as well. The system also takes partial shipments into consideration. You can update only those products that were received and the system will continuously keep track of the quantity yet to be delivered. Once all quantities have been fulfilled, it will mark the P.O. as being complete. There’s also a nice log that you can view to see the purchase order history, right from creation to completion.
So, in a nutshell, the Purchase Order Manager offers an easy-to-use interface to automate the process of creating purchase orders and updating product quantity on-hand as shipments are received. It greatly reduces errors and saves a lot of headaches for store owners.