I used FreshBooks.com when I freelanced a few years ago and I think it contained all the features you want and it was pretty inexpensive (~10 USD per month) and invoices/receipts looked very professional and allows setting different currencies for each client (eg. if you work remotely for different international clients).