Hi Edward,
I think the suggestion of Fredrik using a proforma invoice is good. In addition I also saw customers using dummy items and categories for that purpose. They actually posted the prepayment invoice on a transfer or bridging account. You need to discuss whether this is an option for you. A last thing that I would like to mention is the project module that has some very nice prepayment features available. If you already use sales orders in connection with projects this might be an excellent way for recording and tracking customer prepayments. If you don't use the project module then I wouldn't go for it only because of the prepayment issue as processes might need to be changed.
Hope it helps,
Ludwig