We are looking to model the flow of an order through an order management system. There is a EPC to show how held orders are processed. Essentially when an order fails a credit check it is referred and processed as a 'Held Order'. This we can put into an EPC no problems, however there is a real-time parallel system which processes payments which can affect the path of the order through the Held Order EPC.
Any time that a payment is processed, any orders that the client has in a 'Held' state are passed through the credit check, if the order then passes the credit check, the 'Held' state is removed and the order can now be passed through to Billing.
The draft EPC we have can show how a held order is processed when no payment is made, but in reality a payment can be made at any point during the process and if the order then passes the credit check it doesn't follow any path in the Held Order EPC.
How should we approach this situation? I suppose, we could have an event after each decision point with something like "Passed Credit Check/Held Status Removed" to enable the order to exit the flow imediately. However wouldn't this event then give the impression that it is the result of the preceding function? (Which it wasn't).
Your thoughts are appreciated,