[wp-disclaimer id="1282"]


How to Use Epicor® to Create Custom BPMs?

With any business software, there is a bit of an adjustment period. Familiarizing yourself with all the functions and keys can be complicated, and when you are running an organization, learning all the capabilities of your software is paramount. However, what happens when your prepackaged software solution is missing something? What happens when you need an extra bit of customization?

A business process management function, also known as a BPM, is a section of code within the Epicor® platform that alters the way the software is used. BPMs can change the way the software works, customizing and streamlining your business’s workflow. They can do this by monitoring for errors or anomalies, improving alerting functions and maximizing reporting capabilities, among other things.

BPMs can be extremely useful for your business processes, as long as they are well designed and optimized to improve employee productivity and accountability. Not only does this require you to understand how to create a BPM, but it also requires you to understand the needs of your employees. A BPM is designed to make your employees’ work easier, so you need to understand the nuances of their daily workflow and what small steps and processes could help streamline their processes.

To understand a bit more about business process management functions, we’ve detailed the basics of a BPM system and how to implement one in your Epicor® software. We’ve also provided a few BPM types, functional examples and what they can do for your business’s workflow. If you have questions about any of our BPM examples, contact PracticalTek.

How a BPM Works

A business process management function essentially boils down to the following process: The function looks for events meeting certain conditions, then performs a preprogrammed action in response. To understand this process a little better, let’s break down this function into its three basic elements:


  • Events: Events are any occurrences within the system, such as the opening of a new dialogue box or an attempt to save newly input data. BPMs are designed to monitor these events, or subsets of these events, for certain criteria or conditions.
  • Conditions: BPMs monitor all events to look for those meeting certain conditions. These conditions may concern the value or quantity of data put in, the presence or absence of values from dialog boxes or any number of other conditions.
  • Actions: An action is the BPM’s response to an event meeting certain conditions. This can be anything from opening a dialog box to preventing a subsequent event.

As an example of this process, let’s consider a sales order entry in which BPM is designed to monitor discounts. This example BPM could be designed to monitor the discount box in a sales order and require sales personnel to input a reason for a large discount. In this case, the event the BPM is monitoring is the input of a discount, and the condition the BPM is looking for is the input of a discount of more than 15 percent. If the event meets this condition, the BPM can then prompt an action, such as the opening of a dialog box requiring an explanation for the large discount. This cause-and-effect approach to BPM design is important to understand when creating a BPM, as it is the basis for the BPM workflow designer.

How to Create a BPM in Epicor 10®

Epicor 10® has an incredible, built-in BPM workflow designer, which allows you to create a custom BPM using a visually appealing and easy-to-use drag-and-drop system. Every new action or condition you add will appear visually on your diagram, allowing you to see your work as you go and create as complex a BPM as you need.

The process of creating a BPM within the Epicor ERP 10® software is relatively simple, involving the following steps:

  • Analyze Your Toolbox: All tools needed to create your BPM can be found along the left-hand side of the workflow designer window. These are organized according to their type and function. To use them, simply click on an icon and drag it into the BPM workflow designer workstation, which is the large, gray part of the window.
  • Set a Condition: To get started creating a BPM, first click on the condition icon underneath the tab labeled Flow Chart in the toolbox, drag it into the workstation and release. With the condition still highlighted, set the specifications of your condition using the dropdown menu at the bottom of the window. This allows you to choose and modify your condition to identify a specific event and insert any values you wish. If you want to specify more than one condition, or create a flow chart of actions to occur given certain sets of conditions, you can create additional condition boxes by repeating this step.
  • Create an Action: A BPM is nothing if it doesn’t take action. This can mean the BPM does anything from sending an email to highlighting a box. These actions will be under the tabs labelled Labels and Other. Simply click the icon of the action you wish to take and drag it onto the workstation. You will then be able to customize the action using the dropdown menu at the bottom of the window. You should have an action paired with each final condition within your BPM’s flow chart.
  • Connect the Dots: After you create your conditions and actions, you need to make sense of them and give the BPM clear instructions on how they work. To do this, you need to connect the conditions and actions in a cohesive flow chart. If your chart splits into branches, each branch should end in an action.

To connect the boxes you have created, hover your mouse over a condition or action box. You should see arrows appear along the edges of the box. Click on one, then drag your mouse toward the box you wish to connect to. This will prompt arrows to appear along the edges of this box as well. Release the mouse for the two boxes to attach – this will appear as a line segment between the two boxes. Do this for all events in the BPM series. Once you are done, all boxes within the series should be connected in a coherent flow chart.

Using these steps, you can create a BPM as simple or as complex as you wish it to be. Most of the options available in the BPM workflow designer window will suit the majority of your needs.

However, you may find this simple workstation isn’t quite enough, and that you need something more customizable. This may be especially true if you are a developer and you want to have a little more freedom to customize your interface. In this case, you may need a more advanced option. To accommodate more advanced needs, Epicor 10® was designed for easy access to BPM custom code directives. In addition to being easily accessible, these code directives are now written in C# instead of ABL.

Epicor 10® makes this possible by including a built-in C# code editor in its BPM workflow designer. Additionally, developers writing larger directives can now write code within exterior development environments, such as Microsoft Visual Studio, to be called from a custom code snippet. This allows developers the most freedom possible within their company’s ERP software.

What’s more, if you are an experienced developer who has already programmed plenty of BPMs for Epicor9®, it’s easier than ever to make the switch to Epicor ERP 10®. Despite the change in language, custom code directives from Epicor 9® can be used in Epicor ERP 10® by simply using a migration tool to change the language from ABL to C#. Epicor® offers this in the form of the Epicor® ICE Online Conversion tool, which allows eligible customers to upload their ABL codes for conversion to the equivalent C# codes. Though you should check the results before Epicor® implementation, this software helps save you time and effort writing new code yourself.

Now that you know the basics of setting up an Epicor 10® BPM, you should be aware of the different kinds of Epicor® BPMs you can create and what they can do to improve your employees’ productivity and workflow. We’ve provided a few Epicor® BPM examples, many of which you can implement today to help your organization’s workflow immediately. 

Purchase Order Entry BPM

Some fields, such as due dates or customer information, are critical to ensuring an order is filled in a complete and timely manner. Without this information, a placed order may get lost or be filed incorrectly. Not only can this cause serious delays that can reduce customer satisfaction, but it can also cost your company dearly in time and money as associates work to figure out what went wrong and how to fix it.

A properly designed purchase order entry BPM can help you avoid this by ensuring all information in the system is accurate and accessible. These types of BPMs guarantee purchase orders are completed accurately every time by requiring an employee to input due dates, customer names or other pieces of critical information before saving. The BPM does this by automatically checking all required fields when the user attempts to save the order. If the required information isn’t present, the BPM prevents the user from saving the order and either highlights the missing fields or opens a pop-up notification indicating the missing fields.

Not only does this type of BPM help avoid costly delays or order losses, but it also makes orders easier to file. Incomplete order information can make finding and organizing orders a much more time-consuming process come audit time. However, with a BPM that requires all information every time, purchase orders can be found and filed correctly for easy access whenever your company needs them.

Sales Order Entry BPMs

The sales process can be particularly difficult and trying on sales personnel. Not only does a sales representative have to push sales to clients, but they also have to keep track of orders, discounts and other information with a high level of accuracy. Not only that, but keeping in line with company pricing standards when working with a flexible pricing schedule for a product can pose issues as well – it can be far too easy for a sales representative to offer a particularly heavy discount to a reluctant potential buyer without running it past management first. With all these variables, double-checking orders is imperative.

A properly designed BPM can do all this automatically, both by automatically filling in information and by monitoring inputs for particular values. For example, a BPM can be designed to fill in an order with default information, such as a default product type, so sales representatives don’t need to fill it in every time. A BPM can also check purchase orders for abnormal values, such as discounts of more than 20 percent. If detected, the BPM can be designed to warn the salesperson of the large discount and either prevent them from completing the order or put the order on hold as an email is sent to management.

This type of BPM not only streamlines processes for sales personnel, but it also keeps representatives accountable and accurate. By providing default information, a BPM helps reduce the average amount of time spent on any one purchase order. Monitoring for unusual values also helps keep sales representatives accountable, and involves management more closely in the sales process.

Quote Entry BPM 

During the sales process, sales representatives already have so much to keep track of. Between the customer’s buying signals, the order itself and all the factors surrounding the sale, tracking prices and inventory can be the last things on a representative’s mind. This can cause serious problems for the representative. Pricing items too low can cost the company money and confuse clients on the price of your product or service, while failing to keep updated on inventory shortages and surpluses can result in an inaccurate price quote or delivery date.

Inventory shortages can cause unexpected delays, while surpluses can mean extra discounts and deals from which the customer could benefit. Either way, if the sales representative discovers a surplus or shortage after the order call has concluded, they may need to make a second call to notify the customer. At best, this is an inconvenience to the customer. The worst possibility, however, is the customer’s perception of the sales representative as unprofessional, reducing the overall satisfaction of the customer as well as their perception of your company.

Quote entry BPMs can help avoid these awkward situations. For example, a BPM can be created to check if the sales associate inputted unit prices within proper margins, alerting the sales associate when a unit price is too low. Additionally, a BPM can be used to automatically bring up information about the company’s inventory when a sales associate looks up a part. This occurs in the Epicor® interface as a pop-up showing the current quantity on hand (QoH) of the item.

These types of BPMs can help your company’s sales team provide more accurate and consistent service. Sales associates can have the resources necessary to provide accurate pricing and notify customers of delays or sales as soon as possible.

Customer Shipment Entry BPM

Customers want to know when to expect their order. Whether the recipient is an individual or a business, the customer may need to make special preparations to receive the package. Unfortunately, this also means they’ll want updates on the status of their order. Often, this means frequent calls from customers asking about order updates, shipping dates and expected arrival times. This can put a great deal of unnecessary stress on your company’s call center or sales team.

A specially designed shipment entry BPM can help alleviate some of this workload by automatically notifying a customer when their order has been shipped. The BPM does this by automatically sending out a text or email to the customer when the sales associate checks the shipped checkbox within the software. These text or email notifications can include the shipping number, order details, due date and other useful information for the customer to access and use.

This BPM function helps keep the customer in the loop throughout the shipping process. This can immensely improve customer satisfaction while simultaneously reducing the number of incoming calls requesting shipment information.

Case Entry BPM

Opening, editing and closing cases involves a great deal of data entry, and without a system in place for double-checking entries, important information can fall through the cracks. Cases may be updated incorrectly, or cases that are supposed to be closed can be marked as open due to an error, resulting in incorrect reports.

A BPM can help avoid this issue by automatically filling in and saving values within a database when a certain process is started. In the case of closing an account, multiple fields need to be updated in order for a case to be marked as closed. A BPM specifically designed for closing accounts can check these fields and mark the case as closed, saving sales representatives the time and effort it takes to double-check these accounts.

This type of process can help immensely with your company’s reporting, helping to ensure accounts are properly closed. It also reduces time and money spent double-checking closed accounts for proper field inputs.

Attachment BPM

Massive changes to a company’s data can be extremely time-consuming, especially if an associate needs to go in item by item or attachment by attachment. For example, if your company needs to change the name of a server for an update, you’ll also need to update any attachments associated with the server. If you don’t, these attachments will no longer work properly. However, the greater number of associated attachments, the more time is needed to update the attachments manually.

Attachment BPMs can expedite this process immensely. A specially designed BPM can do all the work for you by searching through each item and changing appropriate fields, saving time and labor. This also guarantees every attachment was changed appropriately, unlike manual processes, where human error can let a few slip through the cracks.

Learn More About Epicor® BPMs

If you have questions about how to use Epicor® or how to set up custom BPMs within the Epicor® software, PracticalTek can help!

PracticalTek is an independent provider of several professional services for companies using the Epicor® ERP software. We recognize that every business is different, and needs different things in enterprise resource planning software. For this reason, we specialize in providing flexible support for the most customizable ERP software available.

Our independent IT consulting firm has worked with Epicor 9® and Epicor 10® platforms since their releases, making us experts in Epicor® software. Not only do we provide expertise on Epicor® software at an affordable price, but we also provide one-on-one Epicor® support and training, helping your business work better with the Epicor® software. We want to help you implement your Epicor® software in the most efficient and effective way possible.