Only Give Coupon Code When Order Status = X?

We are looking at a scenario for a client where they use phone ordering.

When phone ordering the customer completes their website section of the ordering and elects to pay over the phone. At this point CS Cart correctly selects a level of ordering that isn't complete, and the back end user (admin) has to select the appropriate level of the order once the telephone payment has been made.

All that is fine, it works the same with cheques etc. as well.

However, what we have noticed is that any coupon code the customer may be entitled to is generated immediately, and is available in the customers account (and on their receipts) even though they haven't paid yet.

Is there a way to only release coupon codes after the order status is set to complete, or some other order status?

UPDATE: We have found that it appears the voucher won't actually work until the order status has been changed.

Although not ideal as it adds a layer of confusion, it does at least stop the customer from using a voucher they haven't paid for.

Obviously it could be removed from the template (using the default template: responsive / templates / views / orders / details.tpl - line 287), however that does then mean the system relies on the customer getting the email.