The Codemancers website pretty much explains how to use the invoicing gem, but not everything is covered.
First of all, you’ll be really happy when you install (at least for testing purposes) some kind of admin panel which will allow you to easily modify the values and have a bigger perspective on what is available for you. I chose RailsAdmin for this as it doesn’t require any additional setup. You can easily remove it later.
Nothing fancy if you want to create it through console:
Create PDF from your invoice:
Unfortunately, if you want to modify your template, you’ll have to override the class and learn how the Prawn DSL works.
An alternative solution is to use wicked_pdf which will allow you to render your invoice directly from the controller action (in the admin panel or wherever you’re going to put the “Generate PDF” button) using HTML/HAML partial.
Personally, I prefer to create my own invoice templates because it gives me the ability to define my own attributes in a generated PDF and not rely completely on gem implementation.
You now have a working application with a basic invoicing system and you’re able to generate PDFs from them. I tried to find some other gems, but it looks like there are no alternative solutions that are worth mentioning. So, note to you, you can always create your own gem with better implementation but, to be honest, the problem isn’t really that complicated. Most developers just write their own solutions that are easier to customise. If you have any problems, you can always check our Ruby on Rails consulting.