Zoho has free accounts and one of the available apps is invoicing. They have all the features you ask for. You can even integrate the "here's an invoice, pay me" emails with payment processors. I've only used it for a few months, but can't complain - it had way more features than I ever needed.
(it's a service, not opensource software though - I assume you really meant free or opensource)