POHeader BPM on Total Order update

I am trying to create a BPM that will trigger whenever the Order Total of a Purchase Order is changed. Depending on which user is the entry user, the changed value will be compared to the purchase limit the user is assigned to, and if the value exceeds the limit, an automatic email will be sent notifying them.

I currently have an In-Transaction Data Directive on the POHeader table.

The first condition checks if the DocTotalOrder field has been changed from any to another, and if true goes into a chain of three conditions. Each of those condition uses a custom code to check if the EntryPerson is in a specified list.

var ttPOHeader_Row = ttPOHeader.FirstOrDefault();

string[] array = {[ARRAY OF USER IDS]};
if(array.Contains(ttPOHeader_Row.EntryPerson)){
return true;
}
return false;

If it returns True AND the changed row value is more than [Purchase Limit assigned to user group], it should trigger a pop-up notifying the user (this will later be made into an email). If it returns false, it will go to the next condition with the same logic but different user IDs and purchase limit.

Ideally it would trigger whenever the Order Total is changed, but I am no getting it past the first condition that checks for a change in Order Total value (it always goes to the False path). I have tried a similar BPM in Method Directives as well with Pre-Processing and it would also not work as intended. Is there a way to get this to activate whenever the Order Total is changed, no matter where the change comes from?

Have you already tried checking in a PreProcess?
If change triggers in PreProcessing as you expect… data might not be viewed as “changed” by the time you get to InTrans or Post processes?

I have tried it in PreProcess and a similar issue occurred.