Save Ship Date for Reporting

I'm looking to generate an on time shipment reports that need the Ship Date aka ShipExpireDate from the SalesOrderHeader table to be saved for reporting. I have seen in previous posts that others are using the Promise Date for this information. This however isn't an option for us as we use the Promise date field to record when the customer requires the order to be delivered. 

My original thought was to create a user defined field on the SalesOrderHeader table which would then be carried through to the SalesOrderHistoryHeader. I was hoping to have the ShipExpireDate automatically copied to this user defined field. It's very possible I didn't set it up right but I could never get the ShipExpireDate to copy to my user defined field.

What is the best way to go about preserving the ShipExpireDate for reporting?