It's great to see that you already have a good understanding of how you want this recorded. It's helpful to have an agreed upon contract, which is gradually invoiced and converted to income. As accrual accounting considers income as soon as it's earned, recording a large invoice before starting work on a project could have significant impacts on your tax returns. Thankfully, you've got QuickBooks Online in your corner to make this easy. I'll be happy to help you record this.
Based on your question, I think you'd benefit greatly from using Estimates and Progressive Invoicing. This would simplify the process of sending your customers a contract, which you could gradually convert into invoices. It's just a few easy steps to activate this function:
Go to Settings ⚙ and select Account and Settings.
Select the Sales tab.
In the Progress Invoicing section, select Edit ✎.
Select the Create multiple partial invoices from a single estimate checkbox.
Select Save and New, Save and Close, or Save and Send.
From the estimate, you can easily start invoicing portions of it:
Go to Sales and select AllSales.
Find the estimate on the list.
Select CreateInvoice from the Actions column. You can also open the estimate and select CreateInvoice.
Decide how much you want to invoice for, then select Create Invoice. You can charge for a percentage or a specific amount. If you choose Custom amount for each line, enter a specific amount for each item on the invoice.