How is a user's monthly invoice generated?