Skip to content

strzibny/invoice_printer

Repository files navigation

 

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)
  • 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 test

You can also quickly regenerate the examples if necessary:

$ ruby regenerate.rb

Copyright

Copyright 2015-2024 © Josef Strzibny. MIT licensed.