Web Automation for JdB Groep
Using python and selenium to process invoices from a csv file into a browser-based ERP system
JdB Group asked me to create a web automation process that processes invoices in their ERP system, based on information in a csv file. When using Python, the go-to library for web automation is Selenium. It allows you to connect to a web browser with a driver, and interact with the elements on the webpage.
Common use cases for Selenium web interaction are filling in online forms, pressing buttons and setting filters, and even web scraping. An example of filling in a form is displayed in this video, showing that the interaction happens on the backend of the website, and no mouse or keyboard keys are needed.
The ERP-system from JdB Groep seemed to be accessible with the backend browser interaction through selenium as well. Unfortunately, it turned out that the pages were actually in a separate layer, very much like an ERP system that connects to a VPN server. Therefore, it was not possible to interact with the elements in the same way as presented above, but could only be accessed in the frontend by sending key-board keys such as TAB and ENTER. This means that the validation-checks to ensure that the automation is working on the correct invoice and invoice lines needed to be done in the background before interacting with the ERP system. This turned out to be very successful, and we were able to completely automate the process, as shown in the example below.