The way I have layaway set up here a customer puts a deposit on an item, them makes several payments over a period of time (a few days to 6 months) and then when they have payed off the item they either pick it up or have it delivered.
Each time a payment is made a new receipt is issued with a payment history and the outstanding balance.
The tricky part is in the inventory control. Being a small shop Layaway items are not taken out of inventory at the time a deposit is made. They are still available for sale to another customer with a mental note that if this is done another one needs to be ordered from the supplier in time to satisfy the layaway customer.
This requires keeping track of not only normal inventory but also layaway inventory, estimated dates when the customer will pay off the item, and vendor lead time (some vendors can have as long as +30 days lead time).
While this is more complicated than just pulling the item when a deposit is made it has several advantages:
-- Allows me to sell a layaway item to a cash paying customer increasing sales.
-- Allows me to put items on layaway that are not even in inventory.
-- Allows me to offer lower deposits.
-- Allows me to offer longer time to pay off layaways.
Currently this is being handled with a couple of spreadsheets