I've used the Invoice method of QB for many years. I bill monthly for all work done during the month. The Invoice includes a visit-by-visit, item-by-item, accounting for what is owed for products and/or services for the month.
On the first transaction of the month (e.g. first grass cutting), I open an Invoice for that customer. I make an entry for that transaction (e.g. 4/1/2014 Grass cutting .... 40.00). I close the Invoice. I do this for each customer. On the second transaction, I open the same Invoice, and add one more line item to the work description (e.g. 4/8/2014 Grass cutting .... 40.00). I continue this for each visit for the month.
After the last visit is made for the month, I print/send the Invoice, and change the status from Final to Pending. What the customer sees is one invoice, with a line itemization of each charge for the month. When I get payment, the status is changed from Pending to Final, and the payment is recorded as Payment Received.
This works well for me.
I only use a Statement if a customer needs a more complete history of multiple invoices. Each Invoice is listed, along with the line items on that invoice. Also, each payment that has been received is listed. I only do this if there is a question about past invoices and/or payments. For me, this is a problem because the Statement will list the Item. In my case, I have customer set as a sub-Item, that includes the fixed charge. It looks like mowcust1, mowcust2, etc. It does not include "Grass cutting," for example, rather the sub-item name. For me, that is fine, but it needs explanation of a customer will see it.