Clients don't want surprises when they open an invoice. They want to have at least a ballpark idea of what they're going to be charged. That's why the recommendation is to send clients a quote or estimate prior to starting a project. However, this figure will probably change during the course of a project.
The difference that may occur in pricing is why an invoicing master never skimps on the details. They understand that an invoice is a detailed statement that explains to the client what services were performed. Keeping these records makes it very clear what money is owed.
Besides the basics (customer information, amount owed, due date, etc.) the more information you can add to an invoice, the better. Not only does it make you look more like a pro, it also helps the client understand what they're being charged for. Provide details on exactly which products and/or services were delivered and this will prevent any issues or delays in payment.