WooCommerce Print Invoices and Packing Lists, one of SkyVerge’s oldest plugins around (released February 2nd, 2012) just got updated with a brand new 3.0.0 release! This is a complete rewrite with lots of new features you’ve been asking for and many you probably never thought of but you’re going to love and use in your stores. What we have here now is the best and most feature complete WooCommerce extension to print invoices and packing slips.
Sit tight and read about what’s been cooking!
Improved Invoice Templates
WooCommerce Print Invoices and Packing Lists 3.0.0 uses new WooCommerce templates. The new templates contain many more hooks to let you customize the templates without having to import and edit them in your theme. There’s a single template for both Invoices and Packing Lists and we kept the templates as clear as possible and well documented.
But perhaps you won’t have to do any template editing at all: the new templates true power lies in the way we conceived them to fully integrate with the WordPress Customizer!
That’s right, you can now use the WordPress front end customizer to live edit and preview the appearance of your documents. You can change the custom information you want to display, the position of some elements, add a logo, alter some template colors, everything while looking at how the template will appear to shop admins and customers alike. Classical WYSIWYG!
Settings you were previously using to add content to parts of the templates will be retained. This makes editing settings as easy as possible. We moved all other settings among WooCommerce Settings pages, so they are all well organized. Here you can tweak settings that customize some dynamic aspects of Print Invoices and Packing Lists.
Invoice numbers, for example, can now match order numbers for simplicity. Plugins that modify the order number, such as Sequential Order Numbers Pro, will be able to influence this value too. Of course, we also retain the option to use the invoice number count and you can also set the invoice number prefix / suffix or use a mask or merge tag to parse a date value.
Invoices will also let you to optionally show used coupon codes along with any customer details or notes.
Packing List Improvements
Packing Lists will benefit of all the changes brought to Invoices, naturally. Plus you will have newly added Packing Lists specific settings to further tweak their appearance. You can decide whether to show or not customer details, the customer note, or to exclude virtual items completely from packing lists.
Packing lists are now automatically sorted and grouped by product category to assist with picking and packaging orders. This is a small but significant touch which we hope warehouse managers and shipping workers will appreciate to make their work faster, easier, and thus more efficient!
Speaking of warehouse workers: we understand there could be multiple people working at packing orders and managing the warehouse, therefore we added the possibility to send a Packing List to multiple email recipients.
Improved Email Management
Previously in Print Invoices and Packing Lists we only had a setting to just enable or disable emails, which would send an invoice email to the customer when the order was completed.
Now you can manage emails with the rest of your WooCommerce Emails, along with customizing recipients for the new Packing List and Pick List emails.
Added Pick Lists for Shop Managers
Wait, Pick Lists you say? Not a typo, you’ve read it right! We have added a whole new document type to Print Invoices and Packing Lists!
Pick lists will allow shop managers to gather items needed for multiple orders at once — also sorted by category — and will adopt the packing list setting for virtual items. Pick Lists are available via orders bulk actions while reviewing WooCommerce Orders and they can be either printed, as the other documents, or sent to your defined list of recipients.
We put a lot of thought into warehouse management for this release and we hope this will be another great tool in the Swiss-army knife that Print Invoices and Packing Lists has become!
Speaking of bulk actions, you can print or email all order documents in bulk to make your documents management fast and simple. Applying a bulk action for generating a Pick List will result in a single, long, document to be printed or emailed accordingly.
Bulk actions performed on Invoices and regular Packing Lists will create a multi-page document when printed (with page breaks after each order) or will send multiple emails for each selected order to process.
Bulk printing no longer requires pop up windows for better cross-browser compatibility: you won’t run in browser pop-up blocking problems anymore and you can conveniently leave your documents in a browser’s tab.
Finally, you can also filter orders by invoice / packing list printed status to quickly find and access documents that have been or have not been printed by a shop admin before. This can be particularly handy if your store processes several orders every day and you want to make sure not to miss anything!
You can also search orders by their invoice number to quickly find the order a customer is referencing by invoice (if you use unique invoice numbers rather than the order number).
Under the hood there are a lot more tweaks, bug fixes, and users’ feature requests implemented. Some of these will be just as evident as the major features outlined above, some others will be of particular use to advanced users, agencies, freelancers and designers alike.
I’ll let Tamara take over for this part to introduce you to some of the changes we’ve made for developers in Print Invoices / Packing Lists version 3.0.
Version 3.0.0 was written with extensibility in mind. If you’ve ever worked with a theme that overrides many WooCommerce templates, you understand the work (and pain) involved with updating to a new version of WooCommerce.
With this in mind, we added many actions and filters to make it easier to customize invoices, packing lists, and pick lists without touching a single template – assuming that the required change isn’t already possible in the new Customizer settings 😉 .
Not to worry, though, the document templates can be fully overridden if you would like more fine-grained control.
Because I am a bit of a coffee fanatic, my examples will focus on a coffee and espresso machine eCommerce store, but the same principles can be applied to any store.
- It’s often a good idea to give your customers incentive to return to your store and to purchase more products. If a customer purchases an espresso machine, you may want to use custom code to generate a coupon code that they can use on their next purchase of coffee or accessories. A great place to display this coupon code would be in header of the packing list or invoice, which can be easily done using the
You may also want to display a link to the care instructions for the espresso machine. You can use the
'wc_pip_document_table_row_item_data'filter to append any information into specific cells in the document table.
Another important pain point we wanted to address with this rewrite was the difficulty of adding custom columns to the document template. I’m happy to say that this can now be achieved with a couple of filters and 100% less headache.
For instance, you may want to add a “Warranty” column to display specific warranty information on your invoices. The
'wc_pip_document_table_headers'filter allows you to change existing table headers or add new ones while the
'wc_pip_document_table_row_item_data'filter I mentioned above allows you to control the table cell content of existing and new columns. Therefore, these two filters can be used to add a new column to your invoices, packing lists, or pick lists.
The plugin also allows custom code to set a proportional column width using the
'wc_pip_document_column_widths'filter, which you may need to use to expand the width of your new custom column.
These are just a few examples of what you can do with the hooks available in the new version. We’ve put together a hook reference for developers to get a better idea of the actions and hooks available, please give it a quick read if you’re interested in customizing the extension.