Just leaving this here for reference. If anyone is curious about the flow and Epicor’s recommendations. Adding some notes to @askulte screenshot above.

Method Directives:
- Pre, Post and Base processing logic
- Access to BOs
- Ideal place for Validations / Exceptions / Data Changes
In-Tran:
- Executes after standard Entity Framework data triggers
- Executes within a transaction, as a part of the trigger pipeline
- Immediately processes affected row
- Processes one row at a time (two rows for update operation (RowMod = “” is old row)
- Can change data on save
- — The In-Tran should never if it can throw an exception, it is very very expensive rollback.
- You shouldnt access BOs in here!
Standard:
- Executes when service method call has completed
- Executes only if service method completes without exception
- Processes batch of affected rows at once
- Does not affect data save
- Ideal place for integration operations (Audits, Email, Logging, Notifications, API)