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.
- 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 https://drupal.org/node/1535498
- 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 http://dompdf.googlecode.com/files/dompdf_0-6-0_beta3.tar.gz and copy it into your libraries folder
- Copy "libraries/dompdf/lib/fonts" to your public files directory public://fonts/
- For more information refer to the README.txt
- 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.