Model Design Challenge with timeout

How do we use a join timeout to detect a SLA violation and still go back to wait for the document? Lets say we have an SLA of 48 hrs with customers for invoice after we ship the goods. So in the model I have a Send Shipment step and Wait for Invoice step with an AND join having 48 hrs timeout. Now whenever the SLA violation happens (i.e. join wait time expires) we can use the “timeout” transition to another step to raise an alert. However my requirement is to alert and then still continue to wait for Invoice from customer as otherwise invoice will never join my process instance. The challenge here is once my join wait time expires and i use the timeout transition, the control goes to a different step. I am not sure how to go back and wait for Invoice again. Worst thing is that now if I get an invoice from the customer I dont want the join timeout to be applied as this has already violated the sLA.

The situation looks quite simple and straight forward to me but i am confused a bit on how to accomplish this in the model design. Hope the explanation of my problem is clear. :smiley:

Any inputs would be appreciated. Thanks.