Epicor BPM Directive Overhead Calculator
Every method directive adds work to a save, and users feel it as lag. This calculator converts per-directive timing into per-call latency, server time and the total minutes your team waits each day, so you can decide what to consolidate or move off the critical path.
Your numbers
For example SalesOrder.Update or LaborDtl.Update calls per day.
Includes any queries or calls the directive makes.
Pre-processing and in-transaction directives block the user. Data directives and scheduled work do not.
Your results
Planning model with averages. Measure real directive times with the Epicor server logs or tracing before and after changes.
Added wait per call vs directives
Sweeps Directives firing per call from 0 to 20, holding your other inputs fixed.
BPM and customisation audit
Optional: have us review your directives for latency, duplication and upgrade risk.
Optional. The tool and every export work without this. No spam.
How to use it
Pick the method that worries you, such as a sales order or labor update. Enter calls per day, how many directives fire on each call and their average time. Set the share that runs synchronously, because only blocking directives make a user wait. Enter the base method time to see the percentage the directives add, then read the daily waiting per user.
- Count every directive that applies to the method, including disabled-but-deployed ones you forgot.
- Pull timings from the server log or by running with directives temporarily off.
- Compare scenarios by changing the sync share after moving logic to data directives.
The formulas
Added wait per call is directives multiplied by milliseconds each, scaled by the synchronous share. Overhead percent compares that to base time plus the added wait. Server hours per day count all directives, sync or not, since they all use the application server. Total user waiting is added wait multiplied by daily calls, and per-user waiting divides that across the people doing the work.
Interpreting results
A few hundred milliseconds across thousands of calls can add up to hours of collective waiting, even when no single save feels broken. If overhead exceeds a third of response time, review the directives for duplicate lookups, per-row database calls and logic that could run in a single combined directive. Moving work to a data directive or a scheduled process removes it from the user path.
Common mistakes
Multiple directives often re-read the same record. Heavy work such as emails or external web calls placed in pre-processing makes the user wait for a network. Directives on high-volume methods like labor entry deserve the most scrutiny. Always test with realistic data volumes, and keep directive groups documented so cleanup is possible.
Frequently Asked Questions
Do data directives slow users down?
Data directives work on field values within the transaction scope and are usually lightweight, but any directive that runs queries or calls external services can add time. Measure rather than assume.
How many directives per method is too many?
There is no fixed number. Judge by measured time, not count. A dozen light directives may cost less than one that queries a large table, so profile the slow ones first.
Why count asynchronous work in server hours?
It still consumes application server and database capacity even if the user does not wait. Heavy asynchronous load can slow other users at peak, so it belongs in capacity planning.
Can I move logic out of directives?
Often yes: scheduled functions, post-processing background work or integration tools can take non-urgent logic off the save path. Keep validations that must block a transaction in the synchronous path.
Netray can audit your BPM and customisation estate for performance and upgrade risk. The calculator needs nothing from us.
Related Tools
Epicor BAQ Runtime and Row Volume Estimator
Model how filters, joins and indexes change the rows a BAQ reads and the seconds it takes, before you publish it to users.
EpicorEpicor Task Agent Schedule Load Calculator
Calculate Task Agent utilization from recurring schedules, runtimes and slots, and find how many slots you need.
EpicorEpicor Upgrade Regression Test Effort Calculator
Size the regression testing for an Epicor upgrade from test cases, failure rate, fix time and tester count.
More Epicor tools
See all- Epicor Kinetic Customization Change Request Form Template
- Epicor Kinetic Go-Live Cutover Plan Template
- Epicor Kinetic User Access Request Form Template
- Epicor Kinetic BPM Directive Inventory Worksheet
- Epicor Kinetic Scheduled Task Register Worksheet
- Epicor Kinetic Custom Report Inventory Worksheet
- Epicor Kinetic Data Migration Mapping Worksheet
- Epicor Kinetic Data Load Effort Calculator
- Epicor Business Object Services Reference