Upgrading during a purchase process

Thanks in advance for any advice. I imagine this question has been asked in another form here at some point but I have not found good direction, so here it goes.

I am building out a UI for a user who is purchasing software on a system with an on-board OS. During the purchase process the user

  1. Selects the desired edition
  2. Selects their OS and purchase protection options
  3. Configures their software add-ons (which is a very lengthy and complex process in an of itself),
  4. Review and check out.

enter image description here

When the user is at step 3, it is possible they will choose so many add-ons that a different edition of the software would be more cost-effective for them than the selected version. I'm looking for the most graceful and least intrusive way to handle this for the user. I have two ways in mind, neither of which I am married to:

1) Provide a popover letting the user know that their cost with the upgraded versions would be less than with the current. If they choose to upgrade, the popover "yes" pushes them back to select options appropriate to that package (and provide them with an upgrade confirmation on that page).

2) Simply let them continue on in the process and cue them at Review time to upgrade at which point we push them back again to the "Select Options" step where they select options appropriate to their package type; again providing them with upgrade confirmation. (haven't designed the specific UI for this but generally something along these lines)

I hate to push the user backward in the process but the steps left pattern is already baked into our interface. I am leaning toward option 1 as it keeps the retreading minimal. Any advice, suggestions as to other ideas about why one or the other of these might be preferred is welcome. thanks again!