Best aproach inquiry

I have an Invoice App which the Grid showing the list of generated Invoices. I need to create a CYOP INVOICE feature which would allow to copy one Invoice to multiple customers.
After copying there will be (i.e 20) new Invoice where the only difference would be the customer name(or ID).

I know it can be done at least few different ways. Here the option I consider:

  • COPY button on the Invoice list (grid) which will open another TEMP grid to add list of customer (which will receive a copy of the Invoice)
  • Button on the Invoice Form to add more than one customer (probably Array),…
  • List of customers with the SELECT button then COPY INVOICE button on the toolbar which will allow to select Invoice to copy).

so the main idea is to either Select an Invoice then pick customers OR select customers then pick Invoice (not sure which would be more efficient to develop)?
Perhaps somebody done something lie this, so I would like to ask what would be your best approach ?

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“full”,“title”:“2018-10-31 20_47_10-menu.jpg”,“data-attachmentid”:85309}[/ATTACH]

2018-10-31 20_47_10-menu.jpg