AR and collecting money before Order is shipped

Good Morning,

So have a bit of an issue that we're trying to solve and not 100% sure on the best way to go about this.  We recently transitioned into Sage Intacct on Dec 1st and everything has been going great, however, our CFO now does not like the way we creating AR before we have shipped out goods.  

A little backstory, we are a small private manufacturing company (300+ employees) and we always collect payment in full before we ship out any order to clients.  The accounting team would then start the process of creating an invoice for that payment that would Debit AR and credit Customer Deposits and create an corresponding cash receipt that would Debit Bank and Credit AR.   When an order is paid in full and when we are ready to ship, we would then create a Sales Invoice and Debit Customer Deposits and credit Revenue.  They set it up this way as it was deemed we never should have AR except for returns or credit on accounts.  Obviously this was a very manual and confusing process and we had our development team create some integration that connected the cash receipts to the sales order to get a total paid and total due.

With Sage, we wanted the ability for more automation and integration from our Ecomm platform, as well as, a true aging history for monies due.  So the process that was developed and approved was that an order would come into Sage and Debit AR and Credit an Unearned Revenue Account for the full Order total.  Then payment would come in and Debit Bank and Credit AR.  Once all payments are made, AR would be cleared and then when shipped, a Sales Invoice would be created that Debits Unearned Revenue and Credits Revenue.  All of this is integrated and goes through automatically from our Ecomm platform and gets us all the thing we wanted in the transition, however, we are now generating an AR before items have shipped and creating an unearned revenue for the total sales order that still has potential for change or cancellation.  Now that we have been running like this for a few months, the power to be does not think this is the right way to go and we are now spinning our wheels on how to correct this all while still giving us full automation of payments being applied and true aging.  

I have tried to figure out if we can adapt our integration process to accommodate trying to combine the ability to not GL transact when the order comes in and only show payments made as our Customer deposit all while still getting a true aging and i feel like its impossible.  I've also thought maybe the use of an Accrued Receivables account but not sure that is appropriate.  My background was in accounting but I've been in the analyst field for well over 10yrs so not confident on what actually needs to be done.

Any help or ideas would be greatly appreciated!