An invoice is mostly just a formal request for payment for goods or services that have been provided. In your case, there are many occasions when you don't need to formally request payment in writing.
There may be other reasons why a formal invoice is required. For example, any Australian business that collects GST (Goods and Services Tax) for the government as part of their billing process must issue an invoice (specifically it must be a Tax Invoice) to their customer.
But if you don't need the invoice to prompt payment from the customer, and you don't need to issue an invoice for compliance reasons, maybe you don't need to issue an invoice at all.
In that case, you can just enter the customer's payment directly into your account register, without ever troubling your Accounts Receivable system. At its simplest, this transaction will be a debit to your bank account (or maybe your cash account) and a credit to the relevant income account, although you might have splits to other accounts as well.
If you do need an invoice for any reason, there is an option to Pay the Invoice in GnuCash right from the invoice creation screen.