Getting an advance payment before the delivery is a standard business case. Advance invoicing is required when your invoicing policy is set to Delivered quantities. If it is set to Ordered quantities, you can create a final invoice just after the confirmation. You can ask for advance payment just after the confirmation of the order, and when the actual invoice is created, the advance invoice and payment will be adjusted against it. The advance invoice can be fixed price or a percentage of the invoice amount.
With Odoo, you can manage advance invoice easily. Let's create a quotation, confirm the order, and raise an invoice for advance payment. Adjust the advance against the final invoice.