I bill by the hour and agree with a client up front about an invoicing schedule: usually the 1st of each month, and sometimes on the 1st and 15th of each month.
I ripped off an invoice template for Excel and I just use Google Sheets. I send the invoice via email. This has worked for me for 10 years. As a single-person corp I don't need anything more complex.
I also view invoicing as a completely separate activity from time tracking. I log time every week either in my client's system or in my own independent time sheets. I reference those numbers when I create the invoice.