Invoicing by itself is relatively simple. It's the payments and accounting interface that are the hard parts. Most business apps nowadays can't exist in isolation.<p>Ideally, an invoice can be emailed to the client with a link to make a payment. Once the payment is made, the invoice needs to be marked as paid but only after an appropriate accounting entry has been recorded. The idea is to make getting paid as easy and seamless as possible.<p>Good luck.