If you would like to take a deposit or a pre-payment for an order at the time it is placed, rather than charging the customer when you complete the invoice, you have the ability to do so in Heartland Retail.
When you are creating a sales order and you click the "add payment" button you have the ability of charging them upfront, when the order is fulfilled, or a percentage of each if they are paying with a credit card.
Take a look at the following links for more information on how to create, distribute, and fulfill sales orders.