An ERP system is like a person or a house: without integrity, you can’t put your trust in it.
One of the great things about Epicor ERP is its openness to customization. That feature can also be a source of trouble. It’s all in how you use the power.
Strictly speaking, you can’t directly modify Epicor’s software without a special Software Development Kit. Changing the base software opens the proverbial can of worms and has lots of ramifications we won’t discuss here, so what we’ll be talking about is the traditional “customization layer” the 99% uses.
Terms to Remember:
Business Object (BO). Data manipulation is governed by Business Objects. You hand the BO a dataset and let it figure out how to care for the data’s integrity, rather than writing directly to all the tables in the dataset.
There is a “Part” business object, for instance, that governs the Part table and its dependent tables. It won’t let you change the base unit of measure for a part if there is any activity like transactions, open orders, or open job materials for a particular part so you don’t, for example, make an material’s on-hand quantity of 10 Each suddenly 10 Gallons, or orphan transaction history by deleting the part.
Embedded Customization. Also known as a “screen customization” or just “customization” (client side) that sits on top of a form such as Part Maintenance. You can add a new field on the screen and attach it to a data source or use C# code to add and modify events happening inside the form to suit your business practices.
Personalization. Similar to the customization, the personalization is a user-made modification that sits on top of the form/screen customization (that sits on the base software). They’re mostly used to modify field placement, grid layout, etc. to let the user see and arrange things in a way useful to them.
BPM. Business Process Management Method and Data Directives (server side) modify data actions triggered by events on the form. They are typically accessed in record updates, new record creation, and so on. The Part BO has many methods like add, update, and delete, so you can say, “when this thing happens to the data also do this other thing,” or “when we create a new record add this thing to it.”
In generic terms, a typical Epicor ERP session works something like this:
- An Epicor form loads with standard (out of the box) data views, operations, etc.
- Epicor then looks for a screen customization and applies it on top of the standard form.
- Epicor looks for a personalization for the current user to layer over the form and over the customization, if any.
- The form displays and allows the user to do things.
- BPM – Method and Data Directives (server side) hang around and wait for the appropriate signal to take action, say, when you click the save button.
This is what I’m calling the customization layer–the places Epicor gives us to add in/change functionality.
So, where’s the danger? Here’s an example.
When we store data changes through Epicor’s Business Objects, we trust the BO to keep us out of bad trouble. But the data is stored in a SQL Server database, and it’s possible to go outside of Epicor and write directly to that part table or delete records via SQL commands without checking any dependencies. It can be much faster, in the same way ignoring the speed limit in your car can get you home sooner. Maybe you won’t corrupt your data. Maybe you’ll make that turn on four wheels.
There are occasions and circumstances when it’s okay to skirt the rules.
Rarely, something gets stuck and the BO won’t let you correct it, so a SQL fix is in order. Since directly using SQL commands on your database can invalidate your Epicor service agreement, I’d recommend doing it with one of Epicor’s folks on the phone.
Some simple tables and some fields don’t have dependencies that the BO cares about. It’s possible to take a more direct approach within Epicor—when you know what those are.
This topic comes up periodically when we developers talk amongst ourselves. In our company, the standard is to operate from within the Business Object unless there’s a compelling reason for something different.
Questions about Epicor ERP Customizations? Are you planning a customization project and have questions for the author? Let us know.
Currently, sales order entry staff do just what their title implies: they enter orders. Sure, an order might be generated from a quote, but someone must enter that first. Data entry, day after day. What if your customer could send you a purchase order and it just magically appears in Epicor?
It’s not quite magic, but pretty close. Here’s the basic operation of Epicor ERP’s Automated Sales Order Entry:
- Your customer sends an email with a PO attachment to a designated email address.
- Intelligent Data Collector (IDC) identifies the attachment and pulls it into DocStar.
- DocStar creates a “pre-order” and automatically filters it to a workflow.
- A user steps in at this point and checks for exceptions. If there are exceptions, they are corrected by the user.
- The pre-order passes validations.
- An order is born, demand is created, et cetera.
Oh, I see you’re starting to get the implications, so I’ll give you a moment. Okay, moment’s over.
How handy is that? Imagine how much more of your sales order processing staff’s time can be spent on value-added processes, versus mindless data entry, and how errors can be reduced through automation.
It’s not a panacea. It won’t handle parts-on-the-fly or configured parts. It will bring in sales kits, but there’s no way to edit the kit within DocStar. Still, exciting news.
Epicor has made a commitment to provide us with tools to rationalize our work processes and give us the information we need to make intelligent decisions, and we know more is coming.
Have we wet your appetite about Epicor ERP Automated Sales Order Entry? Just give us a shout. We can talk about this stuff all day.
In the beginning there was Epicor Vista. Then Vantage brought a new user interface. Epicor ERP incorporated a version into the name, E9, along with major changes to underlying structure on a Progress database. With E10.0.xxx, the structure was streamlined with a switch to Microsoft SQL Server, bringing huge increases in performance and a new (modern) menu, as well.
With the first major upgrade to E10, E10.1.xxx, incremental features were added, increasing ERP’s functionality. It was faster, more polished, did more. But from a user standpoint, most basic operations worked pretty well like they did in previous generations. Order entry was order entry, was order entry.
A couple of years ago we heard rumors: get ready for some new stuff.
10.2.100 gave us new acronyms: EDD, REST. Active Home Page said hello. More ways to access data, and even other types of devices.
10.2.200, 10.2.300 came along, popping new things we could do into the mix.
Now 10.2.400 is on the horizon. And it promises a Kinetic jump in capability.
Here’s a quick overview of new features coming in the next release:
- Automated Sales Order Entry
- DocStar-enabled application allows automated entry from a scanned image or email attachment of your customer’s purchase order.
- Connected Factory
- REST-enabled communication lets EPICOR get information directly from shop floor machines and other devices via the IoT (Internet of Things).
- Lite MES
- Kinetic-enabled user interface allows MES (Manufacturing Execution System) operation via touch-screen devices such as smart phones or tablets.
- Scheduling Boards
- Kinetic-enabled versions of Job Scheduling Board, Resource Scheduling Board, and Resource Scheduling Board make it easier to drag/drop and drill down, dynamically change timelines, and schedule jobs in “what if” mode.
- Time and Expense Mobile App
- Provide the capabilities to access and maintain time and expenses via smart phones and tables, including a “read-only” offline mode.
- Project WBS Phases Revenue Recognition
- Allows revenue recognition of WBS phases independently of the entire project.
- OData 4.x and REST v2
- Tools allowing communication among many sources, including Excel spreadsheets and the Internet of Things.
All right, there’s a ton of information here, but difficult to fit into a single blog post.
Questions on the new Epicor ERP 10.2.400 Features? Have questions on ERP, Epicor ERP, or even Prophet 21? Let us know.
Don’t ever let grass grow on your wheels
According to sociologists, my brother and I are from the same generation. Sometimes I wonder… with nine years between us, we occupied two very different points of time, especially when it came to music. My brother was a man without a hat, a child of the 80s, while I left my toque at home so I could let my hair hang low à la Kurt Cobain. But in spite of the age gap, we shared an abiding mutual interest in contemporary sounds, and my brother once remarked, when comparing my Pearl Jam to his Bruce Springsteen (Springfield, after all, had been his generation’s Eddie Vedder), that my music was sure easier to dance to. That was certainly a surprise to me. I always thought of myself as a double-left-foot biped, and moreover I’ve long suspected that I have no genetic predisposition to dance—our father’s visits to the local dancehalls were to roughhouse, not to two-step, and I’ve often wondered if he only met my mother because he couldn’t find another ruffian to dance with that night.
For many years I was close with a World War II veteran who also met his spouse at a dance hall. As a man of the Greatest Generation, he felt the Great Depression firsthand, served in the European Theatre, and returned to the States to become a successful business owner and family man. But if you asked him what he really was, he’d tell you he was a dancer.
His greatest joy was to fling himself and his dancing partner across the parquet of a long-forgotten ballroom, with the band laying it down in the corner. And whenever I’d make it home to see him after an extended consulting gig, he’d ask me if there were any polka bars in the town where I’d been. It broke my heart to disappoint him that I couldn’t find a polka venue to spend my nights, as his dance hall culture had long since become an American timepiece.
My crowd, for one, never caught onto it, and I personally never learned how to dance. I didn’t exactly need to be Jean Erdman to make my way through a mosh pit, and my crowd later gravitated to house and electronica music, where dance meant minimal vertical sufficiency while moving to the beat. Even still, I found one abiding continuity between my companion’s old-style Polka and my Mosh. Always keep moving, always keep to the beat. Or, as he loved to say after reminiscing about his dancing days, “Don’t ever let grass grow on your wheels.”
Good software is like a good dancer—it doesn’t stop moving.
Has anyone on this dance floor ever worked on a green screen application? Or does anyone remember the look and feel of Netscape Navigator? In spite of my nostalgia for 90’s apps, baggy jeans, three-chord anthems, and a full head of hair, I realize that software doesn’t stand still—a software package that can’t dance soon becomes a two-left-feet wall-flower. And a software package that can’t teach its users how to dance might lose out to nostalgia. It was the twist that put my polka buddy out for good: “I just can’t understand how a guy can do nothing but put out cigarettes all night on the dance floor and call that dancing.”
Fresh off Epicor’s annual Insights conference, I’m ready to tango and tangle with all the new capabilities that are in development or already in the process of being released to the user community. Needless to say, there is a whole lot of shaking going on at the great Epicor Code Laboratory, where Epicor’s waltzing wizards ply their trade. And the release of this functionality for public consumption is more than just movement for its own sake. Like a good ballroom turn, software release requires a cadence, and Epicor has been hard at work perfecting its rhythms.
New releases of Epicor functionality conform to the Major.Version.Release.Update structure.
For example, a company on version 10.2.300.4 would be broken out in the following manner:
- Major: 10
- Version: 2
- Release: 300
- Update: 4
These different elements are further described below:
- Major Product changes occur when fundamental architectural changes are made to the product. From a customer perspective, a new product level may require significant changes at the database or application server level.
- Any customizations in the previous product level need to be retested, and many may need to be rewritten entirely.
- Significant functionality or user-interaction changes may also be included, which may require retraining of the user community.
- The most obvious example of this was Epicor’s monumental move from 905 to E10. This was a fundamental change to the database and all the levels of its server-side business logic.
- Major Product deliveries are planned to occur approximately every 60 months.
- New versions may have a significant impact on Epicor’s data schema—fields may be added or removed.
- These changes may be substantial to BAQs, BPM’s, and screen customizations. As such, ample testing in a pilot environment should occur prior to deployment.
- For example, Epicor’s move from its 10.0 to 10.1 brought with it important improvements in performance, stability—not to mention a ton of new features.
- New versions of the software are planned to occur every 18 months.
- Releases are fully-packed new instances of the software, with significant functionality enhancements, but the enhancements are limited as to allow for an easy upgrade process from a prior release.
- Releases (or patch-levels) include additive changes to Epicor’s data schema, but no deletions.
- These changes may have minor impact to BAQs, BPM’s, and screen customizations, but these are smaller in scope and gravity than with new versions.
- For example, in the .300 version of Epicor’s 10.2 product, Epicor’s License Plating (PCID) functionality was greatly enhanced.
- New releases are deployed every 6 months.
- Updates are smaller, release-specific changes, constructed with the intent of addressing issues within the current release. Changes are restricted to minimize disruption. As such, technology or schema changes are not present in these packages.
- User training is not required for updates—the system will function as it previously had, only with fewer issues.
- Updates are released every 2-3 weeks.
Within this structure, it is important to understand the rationale of Epicor’s release cadence. The goal of their rhythm is to minimize business disruption, while at the same time quickly providing resolution to issues, and providing functional enhancements at a reasonable rate. The implementation of this cadence has allowed Epicor to balance functionality and support, while allowing the customer base to focus on running their businesses without interruption.
For cloud customers, these upgrades happen automatically, with prescribed periods set aside for preparation, testing and validation, prior to deployment. For customers who have the application installed on-premises, the cadence is customer-defined. I have found that customers who keep their system up-to-date reap the benefits of this decision—new versions are easier to maintain and support, and they perform better and have fewer issues.
As such, my advice to customers with regard to the frequency of upgrades is simple: learn how to dance and don’t ever let grass grow on your wheels.
Have a question about Epicor ERP, Prophet 21, or ERP system updating cadence? Let us know.
My boss once said to me that nobody wakes up in the morning and cries “I’m going to implement an ERP system!”
It’s a fair point. Apart from a few business process masochists that I’ve met over the years, few people out there really go out of their way to implement an enterprise system. Enterprise systems are costly and they drain a lot of time and energy from key resources within a company. They can be generally…painful to implement. And yet I’ve seen so many companies make the move to enterprise systems and benefit greatly from the transition, in spite of the challenges. This raises a question that I’ve had more than a few prospects ask me: “Why on earth do I need an ERP system?”
Pundits have long noted that the “E” in “ERP” is the most important of the three letters. The value in an ERP system comes in its applicability to the entire enterprise and not just to a few selective functions within the organization. And while ERP has been around now for many decades, there continues to be ample opportunity for better enterprise-level integration among companies. Quite often, the “why” of ERP comes in a quick analysis of a Company’s current-state application architecture.
With many of the customers that I’ve helped migrate to Epicor’s ERP platform, I’ve observed a current state application map to include one or more of the following:
- The utilization of stand-alone financial modules such as QuickBooks for financial management. Such systems are good for counting waves, but not for making them.
- The use of manufacturing oriented work order systems for managing the shop floor. Job Shop-oriented systems can be effective in defining product structures and working them through the shop-floor, but are less effective in managing the selling and shipping of manufactured products and in comparing the resultant revenues to costs.
- 1980s-era ERP systems, with one or more bolt-ons for managing product configuration and/or the shop floor. First-generation ERP systems are generally solid when it comes to inventory management, and basic order-to-cash cycles, but are limited in many areas, and are a burden to maintain.
- Paper-based systems for inventory management & time card entry—some customers are still pounding the paper when it comes to basic warehouse and shop floor transactions.
- Varieties of macro-enhanced spreadsheets for doing one of many things. Spreadsheets are a great gap-filling tool, but their limitations quickly become apparent as multi-user capabilities and large data requirements become a necessity.
Based on the above, it is no surprise that companies come to us looking to implement Epicor because their current state is a drafty quilt of poorly-stitched and poorly-patched legacy applications, homegrown boondoggles, and siloed modules. Customers come to us believing that there must be a better answer, and in most cases there is. The problem is, most companies took a lifetime to grow into their patchy ponchos. At certain early stages in their relative existence, most companies can get away with the above scattershot array of systems and pseudo-systems. But these same systems become hindrances as the company looks to scale up, expand its offerings, ramp up its output, or better integrate with customers, suppliers or best-of-breed applications. As these challenges become clear, the “why” of ERP begins to take shape.
Our work as Epicor partners quite often has to do with explaining the “why” of ERP. My own “why” came to me many years ago. At the time, I was still a customer and still quite naive regarding the ERP space. Working on a process-improvement project with my company’s Vice President of IT, I asked him point blank whether our recent ERP implementation had been a success. “Yes!” he replied, emphatically. “Why?” I responded. I was a Lean Six Sigma Black Belt at the time and was practicing my “5-Whys” methodology. I only needed one of them, for his answer changed the way I’ve seen enterprise systems ever since. By implementing an ERP system, we were laying the foundation for everything that was to come. In our case it was configurability—we were an engineer-to-order company, living in an increasingly configure-to-order market, and needed to make moves toward configurability before our old methodologies priced us out of that market. By implementing an ERP system, we set in place the building blocks for product configurability, and our subsequent initiatives took these building blocks and reshaped the way the company did business. Fifteen years and an ERP system later, my old company is still successfully competing in its target markets, proffering configured products, and doing so profitably.
Now every company owns its own specific point in time, and faces its own set of unique challenges, as it tries to grow and thrive in changing markets. I’ve seen a lot of good reasons for moving away from a patchwork of solutions to a more integrated and comprehensive system. My own story may resonate with some, or there may be other stories that better answer the question as to why a company might make the move to an enterprise system. This is all to say that there are a lot of reasons for implementing an ERP system. And everyone here at the EstesGroup would love to hear your story. And if you don’t think you have a reason for implementing ERP, we’d love to talk to you about that as well.
Have a question for our consultants? Trying to determine if your company needs an ERP system?