The purpose of this post is to discuss one of the most profound ERP best practices I have uncovered in the last ten years of ERP integration. I call this practice ‘Validation’.
Validation is the checking and feedback of data entry correctness.
Why is this concept so profound? The answer comes from the measure of its business impact as compared to it technical cost. In short, validation is the single best (high impact and low cost) enhancement you can make to an ERP to help insure efficiency, accuracy and accountability.
Concepts that help support the value of validation’s high impact and low cost include:
- Humans are far more capable of complex problem solving and decision making than computers. If you do not believe me, ask a programmer for an invoice to model a complex decision making process. Then, see what happens to the total cost (as compared to the original invoice) after the implementation is completely vetted and placed into production. Uncovering information is easier than creating decisions. The cost per line of code to inform a user that a situation exists if far less expensive than the cost to programmatically create every possible solution. When you apply this concept to ERP where you have at least five subject matter expert areas, you can see how costs go up and accuracy suffers.
- Computers are far better at trigger memory than humans. Trigger memory is ability to always to ‘Do A action when B situation exists’. Anyone who has ever forgotten their child at school, forgotten about a homework assignment, or forgotten a spouse’s birthday or special event can attest to the human mind’s in-ablity to repeatedly perform an action based on a specific stimulus. Still do not believe me, play Hasbro’s Memory Game and record how accurate you are. Now apply those odds to order entry at your local surgery center.
- Validation is iterative. If you have been involved in an ERP launch, you can probably recall the myriad of comments that resemble “We need to be sure to prevent XYZ situation”. These comments might refer to product configuration, following customer specific instructions, or training deviations from typical scenarios. If you have a validation engine in place from the beginning of an ERP implementation, the effort required to add an additional check is as easy as writing “if A then B” where “A” are the conditions to check and “B” is the system’s response to the human if “A” exists. The collective intelligence over time is staggering. Continuous innovation through trial and error has proven to be one of our societies greatest powers as illustrated byTim Harford’s TED Talk about Trial, Error and the God Complex. Validation is Continuous innovation.
- Validation is near real-time and self-teaching. In the above bullet, we discussed adding “if A then B” validation checks where “B” is the system’s response to the human if “A” exists. Here, “B” is one of your greatest real-time teaching tools available to you. The best way to describe this topic is to use an example. Imagine you are a sales executive in a business that sells components to a manufacture of systems. On Thursday afternoon, you get a call from your biggest customer stating that they just uncovered a manufacturing problem that stems from your product. It turns out that your order entry team forgot to add a customer specific flag to the order even though everyone on the sales floor knew this customer requires this flag on every order! The customer is threatening to drop you as a vendor and worse yet, sue you for rework charges if this situation happens again. What do you do? If you have a validation engine, the solution is simple. You ask your ERP person to add (A) “if customer=’thisCustomer’ and flag is not set”, then communicate (B) “This Customer requires Flag=True — Fatal Fail” to order entry users. You then notify your sales team of the situation, and deploy the change before Monday. After the validation is added, this situation cannot be repeated unless someone goes out of their way to override the validation.
- Validation lives in isolation. It is commonly stated that performing customization to an ERP is risky and expensive. I believe this fact is true. However, validation is not subject to this rule. The reason is that validation lives in near isolation. You are not replacing any existing logic in your system, and there is no need for expensive reworking when you upgrade your system. This point means the investment you made in creating each validation check is largely preserved without modification over time.
- Validation will not delay. This is because validation is never complete and because any one validation check is so small in scope. As a result, your ERP launch or next release will not slip a day due to a pending validation checks.
- Validation prevents crap. One of the greatest challenges of working with an ERP is the connection and propagation between objects. For example, products are used by Orders. Orders create Movements (receipts and shipments). Movements create Invoices. All the above are tied to the General Ledger. If anyone piece of the puzzle is configured incorrectly, the downstream objects can be contaminated. If you have even been party to an accounting cleanup, you can appreciate the pain involved to get everything (GL balances per period, documents, subledgers) to balance after the mistakes are corrected. A ten second error can create months of work – hence the name of this bullet “an ounce of prevention can prevent a pound of crap”.
Based on the above points, it is obvious to me what roles humans and computers should play in the ERP data entry process. Computers should uncover potential problems and notify humans of the problem summary. Humans should update the computer with the correct decisions based on the problem summary. Computers should record the human decisions and hold them accountable in time of audit.
If you would like to know how to implement validation in your ERP system, proprietary or open source, let me know. The concepts apply and can be implemented in almost any data entry system.
I hope this helps!!
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 firstname.lastname@example.org.
You can complete the form on this page.
Thank you for taking the time. I look forward to speaking with you.