Applying AI in ERP Applications
In this series, we’ll talk about AI (Artificial Intelligence, though I’ll be using the term ‘Machine Learning’, interchangeably) in Enterprise Resource Planning or ERP applications. Later in this two-part writing, we’ll build out an AI Python module, specifically an OCR (Optical Recognition Recognition) app to help out small businesses that might have a need to recognize text, tables, and some stamps presented on scanned documents. We’ll use utilize AI to recognize Thai characters and classify the type of the document (i.e., government related, company internal, and so on). As one could tell if the paper, he or she is holding an official or not, just by looking at that weird-looking bird-like creature (Garuda). If tables are shown, we should parse it in form of excel file (csv, xls, or xlsx).
So what’s ERP? You might ask. Well, Enterprise resource planning (ERP) is a process used by companies to manage and integrate the important parts of their businesses. Many ERP software applications are important to companies because they help them implement resource planning by integrating all of the processes needed to run their companies with a single system. An ERP software system can also integrate planning, purchasing inventory, sales, marketing, finance, human resources, customer relationship management (CRM) and more [Investopedia].
ERP has been used across various industries, ranging from education institutes to engineering firms, for quite some times. It’s used in manufacturing, processing, distributing, scheduling, inventory, and much much more. The ERP providers include on-premise (local network server computer), cloud-based, and open-source. Some well-known providers you might have heard are Oracle, SAP, Microsoft Dynamics, and etc. Some could say IBM Maximo is also an ERP even though the company itself commercializes it as Enterprise asset management (EAM).
Big name companies often come with hefty price tags but also providing superb performance and well-maintained and supported. The charges could range from several thousands of dollars to hundreds of thousands both perpetual license and subscription payments. There are also local Thai companies that offer competitive prices to compete with those world-class providers. One big advantage the locals has over those big players is that when it comes to accounting and customization to best suit the clients’ needs.
On the other hand, in the open-source world, there are many ERP software providing free source codes. Odoo (formerly known as OpenERP) offered by a Belgium-based all-in-one business software company both enterprise and community version. Apart from Odoo, there are several others like ERPNext which is gaining a lot of momentum lately. Both Odoo and ERPNext are written in Python offering community version which can be developed easily by most Python developers. Though there are some learning curve to go through, it’s not too difficult for even inexperience coders.
Odoo has been around for quite some time and therefore large community of functional users and developers across the globe. A community of Odoo developers worth mentioning is OCA (Odoo Community Association) providing free source code shadowing enterprise version which usually about one version lagging behind. There are marketplace where indie companies and solo programmers can sell their modules extending core functionalities too. A lot of Thai small businesses has adopted Odoo for their business needs including National Science and Technology Development Agency (NSTDA) — สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ ( สวทช. ). NSTDA has been sponsoring OCA for some years.
In the next part, we’ll build out an Odoo module to recognize Thai characters on business-related documents photographed, scanned and uploaded to Odoo server. We should be able to see some UI showing the text analyzed by the AI and might convert some tables to spreadsheet (i.e., csv and xlsx format). The OCR part would utilize EasyOCR library which developed by JaiDed, a Thailand-based AI company. And YoLo (You Only Look Once) library to do object detection on the document.
Stay tuned for the next part. Lastly, I would like to thank all the staffs, mentors, and lecturers at SuperAI Engineer Program organized by AIAT (Artificial Intelligence Association of Thailand) for various topics in AI classes.