Is there a way to clone a contract?

Hello HPSM Gurus,

I am looking if there is a way to clone contracts. I know we can create templates, but given that we maintain thousands of contract records which have quite different set of data from the other, a template hence won't be helpful for this scenario. Is there a way I can clone any random contract record? If not possible OOB, please help me with how can I customize it.