Auto-populate fields from Lookup Field

Auto-populate fields from Lookup Field

Hi, 

I am creating a custom module that I would like linked to Opportunities. 

The purpose is to raise an extension of work against a "base" Opportunity. 
I.e. We raise an Opportunity for a package of work (we are a consultancy). The client may then ask to vary or otherwise extend the scope. In our business, we don't want to raise a seperate opportunity for the extension. We want the extension to be "linked" back to the original package of work.
      New package of work = New Opportunity
      Extension / Variation to Existing work package = New Project Expansion

The Project Expansion card looks very similar to the Opportunity card and contains almost all of the same fields e.g. Name, Amount, Closing Date, Location, etc. 

I had pictured a workflow where there is a lookup field on the Project Expansion to select the related Opportunity. Selecting the Opportunity in the lookup field would then auto-populate all common fields between the two modules. An end-user could then modify the Project Expansion fields as necessary (but 95% of the time, they will be the same). 

After some time looking at this, I now understand Zoho won't do this out of the box and I should write a Deluge script to achieve my requirements.
Consider though, if my script runs after the Project Expansion is created, the user could have already populated the common fields manually; thus rendering the script useless.

This makes me wonder if it is smarter to put a button on the Opportunity card instead that actually creates the Project Expansion and populates the common fields at the point of creation.

Just seeking some advice before I attempt this approach. I write Deluge scripts maybe once every 2 years so I am hesitant to throw myself in again without some direction / input first.