Extracting an event log from your ERP without touching production
A read query, a restricted database user and a rolling window. That is the only way to analyse a process without risking any load on the system that runs the company.
The concern is legitimate and it always comes up: plugging an analysis tool into the ERP means risking a slowdown in production, or worse, writing where nothing should be written. The answer is not a promise, it is a technical arrangement you can verify.
A read-only database user
The real guarantee does not come from the tool, it comes from the database: a dedicated account with SELECT on the necessary tables and nothing else. A tool that required an administrator account to read an order history should be turned down, whatever it claims.
The application-level validator sits on top: one statement per query, SELECT or WITH only, write keywords rejected. It is a safety net, not the main guarantee, and a net stays useful the day someone pastes a hurried query into a form.
Three columns, taken from where they already live
The analysis needs a case identifier, an activity label and a timestamp. In an ERP those three almost always exist, but rarely in a table called "events": they are rebuilt from the dates on a record, from status history rows or from stock movements.
- Status history tables are the best source: one row per change, already timestamped.
- Failing that, the date columns of a single record unfold into as many events through a union.
- Audit logs, when enabled, additionally give you the resource that acted.
The window, the frequency, the hour
A full history extraction happens once, outside business hours, and becomes the baseline. Later runs only read the recent window. Process analysis does not need to be real time: last night's data supports every decision you make with it.
What we do not do
We do not copy the whole database, we install nothing on the application server, and we do not ask for access to your internal network from outside. The agent sitting on your side pushes already-filtered data, never the other way round.