Charging correct Fees for Upgrade Line Items On The Web

In our current web implementation, we allow renewing customers to access their rollover package and add upgrade line items.  These upgrade line items may contain packages that would result in a different calculated fee if the upgrade line item were made primary.

However, Tessitura cannot make upgrade line items primary on the web, so if T_DEFAULTS is set to charge according to the upgrade line item, an incorrect fee will be charged if the Primary and Upgrade LI's would result in different fee calculations.

Is there any way on the web to make certain that all orders are charged the correct fees at the time of sale?  Has anyone had any experience with this situation?