Early Bird Registration for DrupalCon Portland 2024 is open! Register by 23:59 UTC on 18 March 2024, to get $100 off your ticket.
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
- Drupal Commerce
- Date Field
- Libraries API
- DOMPDF (tested with 0.8)
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
- Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed. - Maintenance fixes only
Considered feature-complete by its maintainers. - Module categories: E-commerce
- 1,460 sites report using this module
- Created by mh86 on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
7.x-1.4
released 12 January 2022
Works with Drupal: 7.x
✓ Recommended by the project’s maintainer.
Development version: 7.x-1.x-dev updated 12 Jan 2022 at 10:14 UTC