Super simple PDF invoicing. InvoicePrinter is a server, command line program and pure Ruby library to generate PDF invoices in no time. You can use Ruby or JSON as the invoice representation to build the final PDF.
Philosophy
- Simple, no styling required, no calculation, no money formatting (bring your own)
 - Pure Ruby, no dependency on system libraries or browsers
 - Fast, so you can render invoices on the fly during requests
 
Examples
| Simple invoice | 
|---|
![]()  | 
See more usecases in the examples/ directory.
Features
- A4 and US letter paper size
 - Invoice/document name and number
 - Purchaser and provider boxes with addresses and identificaton numbers
 - Payment method box showing banking details including SWIFT and IBAN fields
 - Issue/due dates box
 - Configurable items' table with item description, breakdown, quantity, unit, price per unit, tax and item's total amount fields
 - Description above the table
 - Final subtotal/tax/total info box
 - Page numbers
 - Configurable field labels & sublabels (optional little labels)
 - Configurable font file
 - Logotype (as image scaled to fit 50px of height)
 - Background (as image)
 - Stamp & signature (as image)
 - QR code (as image)
 - Note
 - JSON format
 - CLI
 - Server
 - Well tested
 
Documentation
Support
I am developing InvoicePrinter as a free and MIT-licensed library for several years now.
Please consider buying my book or my Rails starter kit so I can work more on Open Source.
Contributing
Contributions are welcome. Make sure the tests are passing before submitting a PR:
$ bundle && bundle exec rake testYou can also quickly regenerate the examples if necessary:
$ ruby regenerate.rbCopyright
Copyright 2015-2025 © Josef Strzibny. Sponsored by LakyAI. MIT licensed.

