Hey John,
Great question.
I like the idea of Onboarding at a price tag. That said, I also like the idea of discounting that cost if goals are achieved.
At the end of the day, your goals and the customer's goals should be aligned. You both want to get the software up and running AND adopted as quickly and efficiently as possible, while setting the client up for scale.
This idea will take some coordination with your sales team, but I've done it with great success in the past. Onboarding costs $X. If the customer asks for a discount in Sales, the sales team can say - the full amount is due today, but if you launch within X days, we'll refund you the cost of onboarding.
That said, you have to be really clear about what "launch" means. Document the steps/benchmarks that they have to achieve, before they get the refund. You don't want them sprinting through onboarding, getting it "launched" halfway and saying "where's my refund?". This is where a system comes into play.
Another reason I like this is if the customer doesn't get onboarded in the desired amount of time, chances are they'll use more of your resources and your team will be compensated for that time.
Hope this helps!