Usually when we see this happen, it is caused by an error on the ship screen after the user clicks Process (F10). The error they are getting is most likely not a shipping error but an error posting data back or saving the shipment back to the integration, something along those lines.

What generally happens is the order did in fact ship, however the label does not print due to the error and when the user clicks through the error all the shipment detail is still on screen. Seeing this, the user clicks Process (F10) again to see if the error happens again, which then creates a new shipment record.

To prevent this, we suggest users verify what the Source of the error is. If the error shows a source of PrintLabels or SendDataToHost, check the list view to see if the order processed before trying to process the order again. Most likely, the record is there and ready to print. 

The user can then get the label by clicking on Reprint Label under Shipping Functions.