Commerce Billy invoice pdf example

Commerce Billy is a lightweight approach for a billing system for Drupal Commerce (Billy = Billing Light). It uses the commerce order entity to hold invoice information, including a separate "invoiced" status. The order number property is used for the invoice number.

See this webinar by Commerce Guys for a in-depth look at Commerce Billy.


  • Thread safe invoice number generation
  • Three invoice number generation methods: monthly, yearly, infinite
  • Configurable pre- an suffix values for invoice numbers
  • Arbitrary start value for invoice number
  • "invoiced" status on order entity (thus avoiding separate invoice entity)
  • Automatic or manual invoicing:
    • Automatic: order moved to status "invoiced" on order completion
    • Manual: admin moves order to status "invoiced" (VBO possible, Rules components already included)
  • PDF Generation (commerce_billy_pdf module)
  • Customizable PDF template
  • Views integration for PDF download link
  • Handling of credit memos (canceled orders)
  • (todo) Mass PDF download


Comparison to similar billing modules:

  • Commerce Invoice: uses separate invoice entity, no arbitrary start value for invoice numbers, invoice number generation not thread safe, no credit memo handling, no pdf export
  • Commerce Order Invoice: invoicing state depends on product / line item configuration, no invoice numbers, no pdf export
  • Commerce PDF Invoice: uses the Views PDF module for PDF generation, no invoice numbers, nor states

Further comparison



  • Invoice number generation: Store > Configuration > Billy invoice settings (/admin/commerce/config/billy-invoice)
  • PDF generation: Store > Configuration > Billy invoice settings > PDF settings (/admin/commerce/config/billy-invoice/pdf).

DOM PDF installation (for PDF module)


  • Invoice numbers are generated once the order is moved to status "invoiced" (either automatic or manually)
  • Manual invoicing: The Rules components "Set order to invoiced" and "Set order to canceled" can be used in combination with VBO (Views Bulk Operation) for mass updating.
  • The PDF can be downloaded via the URL "invoice-pdf/[order-id]". Furthermore a Views field handler "Link to invoice PDF file" is available.
  • The PDF can only be accessed by the order owner if the order is in status "invoiced"
  • If an order gets cancelled, the PDF can be accessed by someone with 'administer commerce_order entities' permissions. This PDF contains two pages per order: the first page includes the original order view, the second a credit memo.


Project information