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.

Features

  • 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

Extensions:

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 https://drupal.org/node/1535498

Dependencies

Configuration

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

  • Download dompdf with composer: composer require dompdf/dompdf. Make sure that Composer's autoload file is included somewhere (for example with Composer manager).
  • Copy "libraries/dompdf/lib/fonts" to your public files directory public://fonts/
  • For more information refer to the README.txt

Alternatively wkhtmltopdf can be used, see README.txt for installation instructions.

Usage

  • 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.
Supporting organizations: 

Project information

  • caution Minimally maintained
    Maintainers monitor issues, but fast responses are not guaranteed.
  • caution Maintenance fixes only
    Considered feature-complete by its maintainers.
  • Module categories: E-commerce
  • chart icon1,460 sites report using this module
  • Created by mh86 on , updated
  • shieldStable releases for this project are covered by the security advisory policy.
    Look for the shield icon below.

Releases