To avoid these issues I don't bill at the end of the month. I bill at the beginning of the month and tell customers they are not expected to pay ahead of time, but they are expected to pay by the end of the month. That way money is coming in throughout the month as we are doing the work. Some customers pay at the beginning, some pay at the end. If payment is not made by the end of the month service is discontinued until they are paid current. However, you are right that it's hard to keep track of credits, etc.
The trick to that is to put the ball in the customers court. Tell them to call if they don't want us to mow. Otherwise we mow everything, and we always make up rain days. We sharpen our blades every morning so if it's a little damp it doesn't matter. We use quickbooks for our invoicing so if they want to change their frequency for the month they can as long as they call before they pay and we can just adjust their invoice on the computer.
For guys that are solo this could be hard. It's alot of paperwork. When I was solo I just had people pay me as they went and just kept track of who owed me. Luckily now I have a secretary for all that (my wife).