Transferring information in custom fields, from Estimate all the way to Invoice?

Transferring information in custom fields, from Estimate all the way to Invoice?

I have several custom fields for the same information that is necessary for Estimates, Sales Orders, Purchase Orders, Packages, Shipments, and Invoices. However, they never remain filled out when I go from one to the other.

For example:

I have a Sales Order. One of the custom fields, Order Type, has "Project". There's another custom field for a Class Code that has "Equipment". When I convert this Sales Order to an Invoice, the Order Type still has "Project", but Class Code is now empty. 

How do I fix this?