WooCommerce Print Invoices & Packing Lists

The WooCommerce Print Invoices & Packing list plugin allows you to easily print invoices, single order packing lists, and multi-order pick lists for orders right from the orders listing page. You can print individual orders, or bulk print invoices, packing, or pick lists with a couple clicks. This is a very useful timesaver to help you package and ship orders, and it lets you include invoices with policies in your shipments.

With this plugin you can also customize the info that gets printed on the invoice / packing list. You can set custom company details, custom info which can include for example returns policy, custom footer content, and more.

Installation ↑ Back to top

  1. Download the extension from your WooCommerce dashboard
  2. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
  3. Click Install Now, and then Activate
  4. Click the Configure link and read the next section to learn how to setup and configure the plugin.

Setup and Configuration ↑ Back to top

The main plugin settings tab has sections for appearance, invoice, and packing list settings, and will also allow you to customize your invoice template. This can be accessed from WooCommerce > Settings > Invoices/Packing Lists.

General Settings: Customize the Template ↑ Back to top

If you go to WooCommerce > Settings > Invoices/Packing Lists > General, you’ll be able to customize the way your documents appear to customers. Click the “Customize” button to be taken to the WordPress Customizer, which will give you a live preview of your document settings as you adjust them.

WooCommerce Print Invoices & Packing Lists settings
General Settings

Within the customizer, you can adjust document appearance settings on the left hand side of your screen, and you’ll see these changes reflected in the sample invoice on the right.

WooCommerce Print Invoices / Packing Lists customizer
Customizer appearance

There are 5 sets of options you can customize here.

Company Information

  • Shop Logo – Your custom logo to use on all documents. Leave blank if you do not want to use a logo, and the shop name will be printed instead.
  • Logo max width – Set the maximum display width for the logo in your invoices, packing lists, and pick lists.
  • Shop name – Enter the company name you’d like printed on documents (only used if the logo is not set). Leave this blank to use the default site title on the invoice.
  • Shop URL – Enter the URL for your store, which will be the link used for the logo or shop name. Leave this blank to use the default site URL.
  • Extra information – Enter extra information you’d like to display under company name (For example, VAT information). Leave this blank if you do not want to display additional information.
  • Shop name or logo alignment – Select where the logo or shop name should be aligned in the document header.
  • Shop address – Enter your shop address information to be displayed in the document header. Leave this blank if you do not want to display a shop address.
  • Shop address alignment – Select where the shop address should be aligned in the document header.

Typography

  • Body font size – Select the size of the document’s body text.
  • Heading font size – Select the size of the document’s heading text.

Colors

  • Link Color – Select the color of links in the documents’ body text.
  • Headings color – Select the color of the document’s heading text.
  • Table Head Background color – Select the background color of the document’s table heading.
  • Table Head color – Select the color of the document’s table heading text.

Content

  • Heading – Enter additional text or information to display below the customer’s address details and above the order items table. Leave this blank if you do not want to display additional header text.
  • Return Policy, Terms & Conditions, etc – Enter your return policy or terms to display below the order items table and above the footer. Leave this blank if you do not want to display terms or return policy text.
  • Fine print – Select this to print the return policy / terms & conditions text in a small font.
  • Footer – Enter additional text or information to display at the bottom of the document. Leave this blank if you do not want to display additional footer text.

Advanced

  • Custom Styles – Enter any custom CSS you’d like to apply to your documents. If you want your CSS to be document-specific, you can use the CSS class that wraps each document:
    • .woocommerce-pip.invoice { // invoice-specific CSS }
    • .woocommerce-pip.packing-list { // packing list-specific CSS }
    • .woocommerce-pip.pick-list { // pick list-specific CSS }

Invoice Settings ↑ Back to top

You can configure the following settings under WooCommerce > Settings > Invoices/Packing Lists > Invoices:

WooCommerce Print Invoices / Packing Lists Invoices settings
Invoice Appearance Settings
  • Show shipping method – Select this if you want your invoices to show the shipping method next to the customer addresses.
  • Show customer details – Select this if you want your invoices to show the customer’s basic WooCommerce account details below the order items table.
  • Show customer note – Select this if you want your invoices to show any customer notes below the order items table.
  • Show coupons used in order – Select this if you want your invoices to show any coupon codes used directly below the order items table.

Invoice Number Generation

You can use two methods to generate invoice numbers: use the order number as the invoice number, or generate a sequential invoice number that’s independent of the order number.

WooCommerce Print Invoices / Packing lists Invoice Number Generation
Invoice Number Generation
  • Use Order Number as Invoice Number – Select this if you want to use order numbers as the invoice number on all invoices.
  • Invoice Number Start – (shown if order numbers are not used) Select a starting number for your invoice counter. The first printed invoice will use this invoice number, then invoice numbers will be sequential from this number.
  • Reset counter – (shown if order numbers are not used) Select this if you want to reset the starting invoice number. Note that doing this may cause duplicate invoice numbers, as existing invoice numbers are never changed.
  • Invoice Number Minimum Digits – (shown if order numbers are not used) Enter the minimum number of digits your invoice numbers should have — if the number of digits is greater than the digits in your invoice number, leading zeroes will be used as padding. For example, if my starting invoice number is 100 and I set a minimum of 5 digits, my first invoice number will be printed as 00100.
  • Invoice Number Prefix – Enter a prefix to add before the invoice number if desired (works with both order number and invoice number formats). You may use any of the placeholders included in the settings page as well (ie {YY}-). Leave this blank to disable prefixes.
  • Invoice Number Suffix – Enter a suffix to add after the invoice number if desired (works with both order number and invoice number formats). You may use any of the placeholders included in the settings page (ie -{YY}). Leave this blank to disable suffixes.

WooCommerce Print Invoices / Packing List invoice number settings

Prefix / Suffix Merge Tags
The following placeholders / merge tags can be used in invoice number prefixes and suffixes. They are not required, as plain text can be used as well.

Merge tags for time will insert the time when the invoice is generated.

Merge tag Expands to
{D} Day of the month without leading zeros
{DD} Day of the month with leading zeros (2 digits)
{M} Month, without leading zeros
{MM} Month, with leading zeros (2 digits)
{YY} Year (2 digits)
{YYYY} Year (4 digits)
{H} 24-hour format of an hour without leading zeros
{HH} 24-hour format of an hour with leading zeros (2 digits)
{N} Minutes with leading zeros
{S} Seconds with leading zeros

Packing List Settings ↑ Back to top

You can configure the following settings under WooCommerce > Settings > Invoices/Packing Lists > Packing Lists:

WooCommerce Print Invoices / packing lists: Packing List Settings
Packing List Settings
  • Show customer details – Select this to show the customer’s basic WooCommerce account details below the order items table in packing lists.
  • Show customer note – Select this to show any customer notes below the order items table in packing lists.
  • Show terms and conditions – Select this to show your terms and conditions from invoices on the packing list.
  • Show footer – Select this to show the footer text from invoices on packing lists.
  • Exclude virtual items – Select this if you want to hide WooCommerce products marked as “virtual” (not shipped) from your packing lists.

Pick List Settings ↑ Back to top

You can configure the following settings under WooCommerce > Settings > Invoices/Packing Lists > Pick Lists:

WooCommerce PIP Pick list settings
Pick list settings
  • Pick List Output – Select the output of the combined pick list — whether items should be grouped by order, or grouped by categories
  • Exclude virtual items – Select this if you want to hide WooCommerce products marked as “virtual” (not shipped) from your packing lists and combined pick lists.

Email Settings ↑ Back to top

WooCommerce Print Invoices / Packing Lists adds three new emails to your WooCommerce store, which can be accessed under WooCommerce > Emails:

WooCommerce Print Invoices / Packing List emails
Print Invoices / Packing List emails
  • Invoice – If invoice emails are enabled, an HTML invoice will be sent to your customers once an order has been paid for. The content of the email is the same as a printed invoice.
  • Packing List – If packing list emails are enabled, an HTML packing list document will be emailed to store admins (or a list of comma-separated recipients) for each order once it’s paid for. You can send this email to multiple recipients (for example, your warehouse managers).
  • Pick List – Pick list emails are only sent manually via bulk actions. If one or more orders are selected from the “Orders” list, a combined HTML pick list will be sent via email to the recipients.

To edit any of these emails (enable / disable or adjust subject lines and recipients), you can click the email name from this table.

WooCommerce Print Invoices / Packing lists edit email

Single and Bulk Order Actions ↑ Back to top

You can print and email invoices, packing lists, and pick lists with several different order actions.

Single Order Actions ↑ Back to top

When viewing your “Orders” list, a new “documents” action icon is added to your Order Actions column with the “document” icon.

WooCommerce Print Invoices / Packing Lists order action
Order Action button

When clicked, this icon will show you all possible document actions (printing and emailing) for that order:

WooCommerce Print Invoices / Packing Lists order action  opened
Select Action

When viewing or editing an order, you can also access order actions within the “Order Actions” dropdown. To use an order action here, select the action and click the “Apply” (arrow) icon.

WooCommerce Print Invoices / Packing Lists edit order actions
Edit Order actions

Bulk Order Actions ↑ Back to top

First, before performing bulk actions, it may be helpful to filter your orders based on whether an invoice or packing list has been printed or not. You can do so from the main “Orders” list by selecting your filter and clicking “Apply”.

WooCommerce Print Invoices / Packing Lists filtering
Order Filtering

Filtering by order status may also be helpful, as bulk actions will print or email whatever orders you select and will not make choices for you on which statuses should be included.

Once you’ve selected the orders you want to print or email, you can use one of several bulk actions to apply to these orders:

WooCommerce Print Invoices / Packing Lists Bulk Actions
Bulk Actions
  • Print Invoice – Generates a document with printable HTML invoices for all selected orders (page breaks between each order’s invoice). This can be opened, previewed, and printed.
  • Send Email Invoice – Send an email with the HTML invoice content for all selected orders to the order’s billing email.
  • Print Packing List – Generates a document with printable HTML packing lists for all selected orders (page breaks between each order’s packing list). Items in the packing list will be sorted by product category. This can be opened, previewed, and printed.
  • Send Email Packing List – Sends an email with the HTML packing list content for each of the selected orders to admin recipients configured in your email settings. If 20 orders are selected, you will receive 20 packing list emails.
  • Print Pick List – Generates a document with a combined, printable HTML pick list for all selected orders. This list is a “master” combined pick list for all selected orders, and products in each order are grouped by product category. This can be opened, previewed, and printed.
  • Send Email Pick List – Sends an email with the HTML pick list content for all of the selected orders to admin recipients configured in your email settings. If 20 orders are selected, only one email is sent, and the content contains a combined list for all 20 orders.

You can view samples of each document below.

Once you’ve chosen and applied your bulk action, your orders list will refresh and a success notice will be displayed. If you choose a “print” bulk action, you’ll see a link to open your document(s) in a new window for printing. Click the link to preview and print your document(s).

WooCommerce Print Invoices / Packing Lists bulk action done
Print from Bulk Action

Sample Documents ↑ Back to top

Each document will look the same whether printed or emailed as the samples below. Remember, you can customize the appearance of these documents using the Customize button along with other settings.

Sample Invoice

Invoices will always display invoice numbers, customer details, and all order line items. Additional information is shown based on your template and document settings.

WooCommerce Print Invoices / Packing Lists sample invoice
Sample Invoice

If you have taxes, they will be displayed based on your WooCommerce tax settings. If you opt to show taxes as one total at checkout, then taxes will be added as a single cost line after the subtotal. If you show itemized taxes, multiple taxes will appear as individual line costs.

Sample Packing List

Packing lists will always group ordered items by the product category to make picking and packaging orders easier. The item details, and attributes (ie size), and line weight will be shown, along with any additional information you’ve configured in settings.

WooCommerce Print Invoices / Packing Lists Sample Packing List
Sample Packing List

If you exclude virtual items from packing lists, they will not appear at all on the list. If the order only contains virtual items, the packing list will state that there are no shipped items in the order.

Sample Pick List (Orders)

A pick list is a combined document for one or more orders. This can serve as a “warehouse pick list” to get items for packing.

If “Groups items by order for selected orders” is chosen, products will be organized by order and product category in the combined list.

WooCommerce Print Invoices / Packing Lists sample pick list
Sample Pick List

Sample Pick List (Categories)

If “Groups items by category for selected orders” is chosen, products will be organized in an overall list by category with total counts for each item (regardless of which order they belong to).

WooCommerce Print Invoices / Packing Lists category pick list
Category Pick List

Upgrading to version 3.0 ↑ Back to top

Version 3.0 added several often-requested features, such as: better default templates, customization options for templates, more flexible template code for developers, improving which information is shown in invoices and packing lists, excluding virtual items from packing lists, adding a combined pick list to expedite order fulfillment, and better compatibility with other plugins.

However, in order to make these changes, the plugin had to be rewritten entirely, and as a result, you should be aware of what’s changed when upgrading.

Settings and configuration

All of your document settings will be carried over automatically to version 3.0. For example, your terms and conditions text will be automatically applied to the new documents. Your invoice numbers will continue to be sequential, and most every store will be able to upgrade with no issues.

However, if you’d previously created custom templates, these will need to be updated.

Upgrading templates

Prior to version 3.0, document templates were very inflexible for both merchants and developers. As a result, the only way to customize template display was to override the template file in your theme, and make your own code modifications. This was clearly not ideal, and the goal of version 3.0 was to make document customizations much easier for both users and developers.

As a result of this goal, as well as how outdated the original template structure had become, version 3.0+ is a backwards-incompatible change. Any template modifications will not be carried over to this new version.

Going forward, we highly recommend checking out the new settings and document templates, as they already address many issues merchants had previously, and may already include the information you added in customizations.

If you do need to update your templates, your modifications will need to be redone within new template system, which breaks document templates up into a few template files (ie header, footer, body for each document). To future-proof these changes, please:

  1. Use the hooks built into the plugin wherever possible. We are committed to maintaining backwards compatibility with these hooks from version 3.0 onwards, and this will ensure that template updates do not break your modifications.
  2. If you do find that you need to override a template, please let us know why and what hooks would have helped. We’re happy to add new template hooks as needed.

    With that said, we will version templates, and you should be aware that major updates may require you to update your own template overrides, just as you would need to with WooCommerce core overrides.

Troubleshooting ↑ Back to top

Having issues when upgrading to version 3.0+? Please check out the upgrading instructions. If you have modifications that need to be carried over, we are happy to point you in the right direction with the new template structure.

Missing the “save” button on settings? Please remove the Activity Log plugin When Activity Log is active, it hijacks the $current_section global, which forces the “save settings” button to be hidden in places it should not.

Not receiving emails? Please ensure that you’ve enabled the emails under WooCommerce > Emails and that the recipient email is correct.

Seeing the invoice number placeholders duplicated? We typically see this when using Order Numbers as Invoice Numbers with Sequential Order Numbers Pro — please disable placeholders for invoices in this case.

Having trouble with something else? Please get in touch with the help desk so we can look into the issue for you.

Frequently Asked Questions ↑ Back to top

Q: Why aren’t my invoices sending?
A: If you enable the Invoice email, invoices are only sent once the order has been paid for.


Q: What will my customers see with this plugin?
A: If you have invoice emails enabled, customers will get an email with the invoice as the content when an order is paid for. Customers can also access invoices for paid orders from the My Account page:

WooCommerce Print Invoices / Packing lists customer account
Customer account

Clicking “View Invoice” will open the invoice in a new window and allow the customer to print the invoice.


Q: Can I get rid of these dates and URLs that appear at the top and bottom of my printouts?
A: Sure thing, these elements are called headers and footers and are not part of the templates associated with Print Invoices and Packing Lists.

WooCommerce Print Invoices / Packing lists headers and footers on a sample invoice
Sample headers / footers on an invoice

You can turn them off by modifying your Print Settings to turn off Headers and Footers.

WooCommerce Print Invoices / Packing lists headers and footers on a sample invoice
Printer settings

Q: Can I save invoices as a PDF file instead?
A: Invoices are HTML documents, but you could save them or print them as a PDF to generate a PDF invoice.

  • Using Windows – If you use Windows 10 or newer, you can print to PDF. Select “Print”, and choose “Microsoft Print to PDF” as your printer. For older versions of Windows, we recommend downloading and using CutePDF (free) to add “print to PDF” capability.
  • Using Mac OS – Select “Print” and choose “Save as PDF” as your printer.

Q: Can I get rid of the “Invoice” and “Packing List” printed columns in the Orders list?
A: You can! This is controlled by the “Screen options” menu in the top right:

WooCommerce Print Invoices / Packing Lists disable order columns


Q: Can I stop packing and pick lists from sorting by category?
A: Sure thing! You can use this one-line snippet in your functions.php file or where you keep custom code:

add_filter( 'wc_pip_packing_list_group_items_by_category', '__return_false' );

Q: Can I use this with Sequential Order Numbers Pro?
A: Absolutely. If you opt to use order numbers as invoice numbers, your formatted order number will be used here. We do recommend that, if you use placeholders in your order number, you do not duplicate these in the invoice prefix or suffix, as both will be shown.

Example: If my invoice prefix is INV-, suffix is -{YY}, and my sequential order number format is WC#100-YY, then your invoice number will add the year placeholder twice: INV-WC#100-16-16. Please remove the invoice placeholder in this case.


Q: Why don’t my order delivery dates show up on documents?
A: Print Invoices / Packing Lists is not compatible with Order Delivery Date by default. However, delivery dates can be added to documents with a small code snippet, added where you keep custom code on your site.

This code snippet shows you how to add delivery dates to the “Shipping Method” section of invoices and packing lists.


Q: Why am I experiencing issues with my templates when upgrading?
A: When you upgrade to version 3.x, you need to manually update the templates as well. Copy all of the modifications from the old templates to the new templates (using the new structure). However, we recommend checking out the new documents in version 3.0 first, as they’re much easier to modify without any code at all.

For Developers ↑ Back to top

We have a hook and function reference available for developers. Please note that you must be using version 3.0 for these hooks to be accessible.

Questions & Support ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with support via the help desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top