Is is possible that a website or piece of software to have a clause in their terms of service saying that by using the service you are agreeing to pay a listed fee for the use of the service and then later invoice for using the service?
In general, yes, though there may be a jurisdiction-specific limit. The basic principle is that the website owner offers something of value in exchange for something else of value: Netflix offers content in exchange for money. What is crucial is that the user must have agreed to make a payment, and the website owner has the obligation to establish that the user agreed. Otherwise, there is no contract and no obligation to pay. There is no legal requirement that a person pay in advance, though it is quite traditional. If you have an obscure file called "legal" with some promise-to-pay term buried in it, the probability is low that the simple existence of such a file would be taken by the court to constitute acceptance of an offer.