Overview
One of the most common questions for Epicor developers is whether to use a Method Directive or a Data Directive. While both are BPM tools, they operate at different levels within Epicor and are designed for different purposes. For community guidelines and code templates, check the EpiUsers BPM troubleshooting
In most situations, experienced Epicor developers recommend using Method Directives whenever possible because they provide more context, better performance, and greater control over business processes.
What Is a Method Directive?
Method Directives execute when a specific Epicor Business Object (BO) method is called. They can run before the method executes (Pre-Processing) or after it completes (Post-Processing).
Because Method Directives operate within the business object layer, they have access to transaction context, temporary tables, and business logic. This makes them ideal for validations, approvals, workflow automation, and business rule enforcement.
- Sales Order validation
- Customer credit checks
- Purchase order approvals
- Automated notifications
- Business rule enforcement
What Is a Data Directive?
Data Directives execute when data is written directly to a database table. Unlike Method Directives, they are triggered by changes to the data itself rather than a specific business object method.
Because they operate at the database level, Data Directives can be triggered from multiple sources including user actions, integrations, DMT imports, and background processes. For high-volume transaction scenarios, developers often move data directive triggers to Epicor Functions to decouple processing logic.
- Audit tracking (e.g., logging changes into UD tables)
- Field validation
- Data monitoring
- Change detection
- Record-level automation
In-Transaction vs Standard Data Directives
An In-Transaction Data Directive executes before data is committed to the database. It can modify data or stop a transaction if validation fails.
A Standard Data Directive executes after the transaction has completed. It cannot stop the update but is commonly used for emails, logging, notifications, and follow-up processing.
Which One Should You Use?
A common recommendation within the Epicor developer community is:
- Use a Method Directive whenever possible.
- Use a Data Directive only when a Method Directive cannot access the required event.
- Avoid heavy processing inside Data Directives.
- Keep Data Directives focused on validation and monitoring.
Related Resources & Services
- BPM Workflow Automation Examples — Review C# code templates for post-processing validations.
- Custom UD Tables Integration Guide — Write transaction logs safely into UD tables using standard services.
- Epicor Kinetic Development — Custom ERP customization and application configurations.
Related Resources & Services
- Epicor BAQ & Dashboards — Develop visual trackers and complex queries.
- REST API Integrations — Connect your business platforms directly to the ERP database.
Looking for Professional ERP Customization Support?
Learn more about our BPM & Workflow Automation Services or contact Amit directly to outline your optimization goals.
Request Free BPM Workflow Audit