Proper Accounting for Initial Payment/Payment in Advance
Many businesses require an upfront payment of part of the estimated final cost before a project can start/continue.
I would like to be able to send an Estimate, indicating the likely overall project cost, e.g. £1,000. Then, on the same Estimate, indicate that a minimum of X% is required to be paid before the project can begin, e.g. 25%, so £250.
Then, the normal Stripe payment option is available for the customer to make this Initial Payment. Upon which, it is marked as paid, I am notified, and the project can begin.
It does not make sense to Invoice for this type of Initial Payment. An Invoice should be sent for work done, not for work yet to be done. Furthermore, an Initial Payment does not have a Due Date. The client is entitled to pay it whenever they like. The project begins/continues when it is received.
Finally, having marked the payment as received, the Invoice that is created from the Estimate can automatically have a new line added that deducts the Initial Payment from the final total.
In this sense the best way to record the Initial Payment is as a Liability. That Liability is then reduced back to zero when an associated negative item is added to the Invoice (when the payment is received).
In the possible case where the final Invoice comes out to less than the Liability, this would represent some leftover Liability, which is accurate – the customer would need to be refunded to reduce the Liability back to zero again.