As the default checkout from the "send invoice" button does not allow customer to input discount code, but with this app, you can create a separate checkout from the draft order, and you can set a discount code on the checkout, or let customer to input it on the checkout. You can then send the link of this checkout to your customer.
After installing the app, go to your draft order, click "More actions" on top right > "Generate discountable checkout link", this will generate a checkout link which you can send to your customer, then they can apply the discount code there.
You can also add / edit line item properties for each product in the draft order, or rearrange the line items (don't need to recreate the draft order with specific sequence of products) using this app.
rearrange line itemsedit line item properties
Hope this can help.
Spent too much support time dealing with order cancellation request from customer? Wouldn't it be good if customer can cancel order on their own without bugging your support? Try out Cancellable app! https://apps.shopify.com/cancellable . I also write articles about store customization that can improve your customer shopping experience here : Yagi Software Blog