WebToffee Logo
  • Home
  • Plugins
  • Bundles
  • Blog
  • Documentation
  • Support
Login
0

Since 28th December 2022, this plugin version has been discontinued for purchase. However, support will be continued for existing users. Post the aforementioned date, users who purchase the plugin, which now is made available as multiple add-ons, must refer to their corresponding setup guides. The drag-and-drop customizer feature that previously supported invoice customizations will soon be available for purchase, with extended support for other document types.

WooCommerce PDF Invoices, packing slips and credit notes plugin | WooCommerce Shipping labels, Dispatch labels and Delivery notes plugin | WooCommerce Address labels plugin | WooCommerce Picklists plugin | WooCommerce Proforma invoices plugin

Since 28th December 2022, this plugin version has been discontinued for purchase. However, support will be continued for existing users.

  • Overview
    • Plugin set up
    • General settings
  • Invoice
    • Getting Started
      • Set up PDF Invoices
    • Email PDF Invoice
      • Email invoices by order status
    • Invoice Number
      • Create/reset invoice number
      • Use the order number as invoice number
    • Customizations
      • Dynamic customizer for invoice
      • Customization using code editor
      • Add a new row to the product table summary section of WooCommerce invoice
      • Add product description in WooCommerce invoice
      • Custom filename for PDF Invoice/Proforma Invoice
      • Add tax column in invoice
      • Fix logo, image missing, or character encoding issues in PDF documents
      • Add product attribute to Invoice
    • Invoice Pay
      • Accept WooCommerce Invoice Payment
    • Fix logo, image missing, or character encoding issues in PDF documents
    • Add product attribute to Invoice
    • Bulk print invoice
  • Packing Slip
    • Getting Started
      • Set up Packing Slips
    • Customizations
      • Sort items by category and product name
      • Packing slip per item
      • Email packing slip to separate recipients
      • Change color of item quantity in Packing Slip
      • Set up Box Packing
    • Bulk Print Packing Slips
    • Add product attribute
  • Delivery Note
    • Set up Delivery Notes
    • Bulk print Delivery Note
  • Shipping Label
    • Set up Shipping Label
    • Add return policy
    • Bulk print shipment labels
    • Modify shipping states for selected country
    • Remove phone/email
  • Dispatch Label
    • Set up Dispatch Label
  • Address Label
    • Avery labels using Brother printer
    • Set up Address Label
    • Alter Font Size
  • Picklist
    • Set up Picklist
    • Add Customer's name in Pick List
  • Proforma Invoice
    • Set up Proforma Invoice
  • Credit Note
    • Set up Credit Note
  • Third-Party Compatibility
    • Plugins
  • Multilingual Support
    • Translate with WPML
  • Advanced Topics
    • Resolve image missing issue
    • Custom field in checkout page
    • Print invoice from 'My Account'
    • Provide print access for custom user roles
    • Add Custom Place Holders in Labels
    • Fixing character encoding issues
    • Include tracking number meta in invoices/labels
    • Deleting existing invoice numbers
    • Troubleshoot 'Unable to save settings'
    • Remove unnecessary product metadata
    • Extra Product Options Compatibility
    • Add custom fields to WooCommerce documents
    • Re-order Product Table
    • Print product meta data in a line
    • Hide Variation Details
    • Alter Address Format
    • Add order meta to WooCommerce documents
    • Pre-defined filters
    • Customer's name in invoices/labels
    • Compatibility with 'Product Add-Ons Ultimate'
    • Add empty column to the product table
  • FAQ
    • Frequently asked questions
  • Changelog
    • Version 4.4.3

Documentation/Print Invoice, Packing Slip, Delivery Note & Label for WooCommerce/Set up WooCommerce Packing Slip

Set up WooCommerce Packing Slip

Last updated on August 31, 2022

WebToffee’s Print Invoice, Packing Slip, Delivery Note & Label Plugin for WooCommerce(Pro) allows you to print, download and customize packing slips for your WooCommerce store very easily. 

  • Group the products by category making it convenient for the packers to pack.
  • Add product variation, additional order, or product meta details, etc. in the packing slip.
  • Customize the packing slip using the inbuilt templates and modify them to suit your needs.

Get Started

  • First of all, install and activate the plugin, a new menu Invoice/Packing appears in the WordPress dashboard.
  • Head on to Invoice/Packing > Packing Slip menu.
    OR
  • Go to General Settings > Documents tab > Packing Slip > Settings

General Settings

You can configure the general settings required for the packing slip from this tab.

WooCommerce Invoice/Pack Slip-Pack Slip-General Settings
  • Group products by Category: Enable to group the products by category.
  • Show variation data below each product: To include variation data of the product in the packing slip, enable this option.
  • Sort products by: Sort the products on the basis of name or SKU in either ascending or descending order.

Add meta data

  • Order meta fields – This allows you to add additional order meta fields in the packing slips.
    • You can select an item from the list of default fields or
    • Click the Add/Edit Existing Order Meta field button to create custom meta fields. Input a custom Field Name and the respective Meta Key for the field. Get the order meta keys from the custom field section of the WooCommerce Order page.
    • Likewise, you can view, edit, or delete previously created order meta from the previously added tab.
  • Product meta fields – This allows you to add meta fields related to the products in the packing slip product table.
    • Click the Add/Edit Product Meta to add a new product meta field by providing a custom Field Name and the respective meta key for the field.
    • Likewise, you can view, edit, or delete previously created product meta from the previously added tab.
  • Product attributes –
    • To have product attributes in the invoice, simply add them by using the Add/Edit Product attribute button.
    • Add new tab will give you options to specify the field name and the corresponding meta of the product attribute. Learn more with an example
    • Likewise, you can view, edit, or delete previously created attributes from the previously added tab.

Email Settings

Attach packing slip PDF in order email for order statuses: Enable to attach PDF version of the currently active packing slip template in the order email.

Share packing slip PDF as a separate email: If you need to send a copy of the Packing slip to another email id, then, select `Yes` and save settings. eg: admin email. You may then configure the email from WooCommerce > Settings > Emails. Click manage against the ‘Packing Slip’ email and enter the recipient emails separated by commas.

Enable print packing slip option for order status: Adds print packing slip button to the order email for chosen status from the dropdown as shown below.

print packing slip from order mail
print packing slip from order mail

Custom Footer 

Key in with a custom footer for the packing slip in the text area. If left blank, then the default footer from General settings will be loaded.

At last, click the Update Settings button.

Customize Packing Slip

You can customize the packing slip using the inbuilt templates and modify them to suit your needs.

WooCommerce Invoice: Pack Slip-Pack Slip-Customize

To create a new packing slip template,

Click on Change layout>Choose the template>Make necessary changes and save to view the option “Create new template”.
  • Select a template from the Create new template option.
  • From the inbuilt templates that pop up, choose a layout.
Invoice/Pack Slip-Theme
  • Make the necessary modifications to the layout and save it.
  • After saving, activate the template to use it further for your packing slip.
  • You can even switch to the code editor, to make additional customizations other than the one listed in the visual editor.
  • While making changes via code editor it would be better for you to refer to the help which briefs about placeholders, alternate classes for RTL support, etc as shown below:
WooCommerce Invoice or packing-Invoice Settings- Customize-Code Editor-Help
WooCommerce Invoice or packing-Invoice Settings- Customize-Code Editor-Help
  • Make the necessary modifications to the layout and save it.
  • After saving, activate the template to use it further for your packing slip.

Bulk print Packing Slip

You can directly print the packing slip from WooCommerce orders page as shown below:

WooCommerce Order Page-Print Packing Slip
WooCommerce Order Page-Print Packing Slip

Sample Packing Slip

A sample packing slip will be as shown below:

Sample WooCommerce Packing Slip

Including a packing list along with an invoice when you are shipping a package, is best practice, which establishes an extra line of communication between you and the customer.

  • Was this article helpful?
  • Yes, thanks!Not really

On this page

  • Get Started
  • General Settings
  • Add meta data
  • Email Settings
  • Custom Footer
  • Customize Packing Slip
  • Bulk print Packing Slip
  • Sample Packing Slip

This article posted in Documentation, Getting Started, Getting Started, Print Invoice, Packing Slip, Delivery Note & Label for WooCommerce and tagged Packing Slips, woocommerce

Written by

Shesna

Shesna is a technical content writer for WebToffee. She is familiar in working closely with the SMEs to break down complex technical information into a concise, easy to understand manner.

Comments (30)

  1. Matt Tuttle

    Matt

    November 1, 2022

    Hello,

    Is there a way to add an “item count” field to the packing slip?

    Thanks,
    Matt

    Reply
    • Mike

      Mike

      December 5, 2022

      Hi Matt,

      Copy the below code snippet to your active theme’s functions.php file and put the placeholder [wfte_order_total_quantity] anywhere in the active packing slip template’s HTML (Invoice/Packing > Packing slip > Customize > Code) to display the total quantity on the packing slip document.

      /* include total number of items */
      add_filter('wf_pklist_alter_find_replace','wt_pklist_total_order',10,6);
      function wt_pklist_total_order($find_replace, $template_type, $order, $box_packing, $order_package, $html)
      {
      if($template_type == 'packinglist')
      {
      $item_count=$order->get_item_count();
      $find_replace['[wfte_order_total_quantity]']=__('Total Items : ').$item_count;
      }
      return $find_replace;
      }

      Reply
  2. lewis wolk

    lewis wolk

    October 31, 2022

    Love this plugin. Just purchased yesterday and I am sure once all challenges are fixed it will be perfect.
    Is there a way in the packing slip to use the footer section as a way to personalize the packing slip.
    For example, I put this in the customizer:

    A note from the shop
    Hi , <<<<<——– bthis is what I need.
    Thank you once again for purchasing a handmade item from me. I deeply appreciate your business.
    Sincerely,
    Lewis

    PS. all wall plugs use a 1/4" drill bit.

    PPS. All my dog bowls are guaranteed against breaking. If it should ever break, please contact
    me for a replacement 🙂

    Reply
    • Mike

      Mike

      December 5, 2022

      Hi Lewis,

      You can add any static text to the packing slip by altering the packing slip template HTML code (Invoice/Packing > Packing slip > Customize > Code) using the standard HTML tags.

      Reply
  3. Filip

    January 24, 2022

    Hello! I want the packing slip to display a custom field created for my products through ACF. How can I achieve that? Only, in the packing slip, not in the invoice. Can this be done in the pro version only, or in the free version too?

    Reply
    • Mike

      Mike

      February 5, 2022

      Hi Filip,

      Our premium plugin supports adding any order meta or product meta to the documents and labels. With that method, you can add the product meta information to the packing slip if you know the meta key used for that field. Here is our set-up article which you can refer to for a better understanding.

      Reply
  4. Gabriele

    October 19, 2021

    Is possible to print the order total weight instead of the total weight per product?

    Reply
    • Mike

      Mike

      October 26, 2021

      Hi Gabriele,

      Thanks for reaching out. You can use the placeholder [wfte_weight] on your active packing slip template HTML to display the total weight.

      Reply
  5. Leandro

    October 15, 2021

    Hi. Every time I need print the packing slip the product field are empty. The SKU and the quantity are OK.
    Any help with that?
    Thanks!

    Reply
    • Mike

      Mike

      October 17, 2021

      Hi Leandro,

      Thanks for reaching out. Could you please share the screenshots of the WooCommerce order edit page (from the backend) of a particular order and its corresponding packing slip via this link for a better understanding?

      Reply
  6. Rahul Mittal

    October 14, 2021

    Hi

    Does your plugin also supports custom fields in packing slips and delivery notes or not? As we have few fields in our checkout page which we want to show in packing slips and delivery notes.

    Waiting for your reply.

    Thanks

    Reply
    • Mike

      Mike

      October 17, 2021

      Hi Rahul,

      Our premium plugin supports adding any order meta or product meta to the documents and the labels. With that method, you can add the checkout field information as order meta to the packing slip and the delivery note if you know the meta key used for that field. Here is our set-up video tutorial and article which you can refer to add the meta information.

      Reply
  7. Kristy-Lea Moussi

    Kristy-Lea

    September 15, 2021

    Hi,

    Can this plugin print 200 packing slips at once?

    Reply
    • Mike

      Mike

      September 27, 2021

      Hi Kristy,

      Thanks for reaching out. You can use the bulk action option located on the WooCommerce order page to bulk print the packing slip. Try to print the Packing slip from the Bulk action option, after selecting the number of orders you wish to have in the packing slip from that particular Woocommerce order page.

      Reply
  8. pragadeesh

    July 26, 2021

    i need different addresses to be printed for different products in packing slip,is that possible

    Reply
    • Mike

      Mike

      August 15, 2021

      Hi,

      The labels are generated according to your WooComemerce order edit page. Presently our plugin doesn’t offer any options for printing different addresses for different products on the packing slip.

      Reply
  9. Faisal

    June 12, 2021

    Hi. Can this packing list/slip display Shipping Tel Number at Shipping detail section (not as Customer Notes as shown above, as that requires additional process for my packing team to copy as paste).

    Reply
    • Mike

      Mike

      June 15, 2021

      Thanks for reaching out to us. By using the custom template editor provided with our premium plugin you can alter the “Tel:” field position according to your need.

      Reply
  10. Pascal

    November 3, 2020

    Hi,
    can a customer view and print the packing slip for sending his product to the shop?
    For that I need a button in the email after checkout.

    Please help.
    Thanks Pascal

    Reply
    • Mark

      Mark

      November 5, 2020

      Hi,

      Using the premium version of the plugin, you can add a “Print Packing slip” button in the customer email.

      Reply
  11. brittny roller

    brittny roller

    October 15, 2020

    Is there a way to make a packing list per line item in order? Rather than per ITEM in order – say someone is buy 150 of item A and 150 of item B – I would like just two packing slips – rather than 300

    Reply
    • Mark

      Mark

      October 17, 2020

      Pack items individually option will create one label per quantity. So currently we don’t have an option as per your requirement.

      Reply
  12. Jack

    September 17, 2019

    MArk

    Very superficial reply to janet and documentation

    So you write “Existing Order Meta” but no where do your documentation explain WHAT an ORDER META Look like? How about CREATE a page with a list of the META you can use?

    Reply
    • Mark

      Mark

      September 17, 2019

      Hi,

      Since the metadata vary from site to site and it will depend on the additional plugin that users install in their site that are related to orders, it is not possible to list out all order meta. To give you an idea, the data in the custom fields are of order details page is an example for order meta.

      Reply
  13. Alon Lutzker

    Alon Lutzker

    September 1, 2019

    I need to be able to sort the items on the packing list by their SKU. Can it be done

    Reply
    • Mark

      Mark

      September 2, 2019

      Hi,

      There is no option to sort based on SKU by default. We can try to implement this via code snippet. Please reach us via support.

      Reply
      • Theo

        October 11, 2019

        Did this work out? I need this as well 🙂

        Reply
        • Mark

          Mark

          October 11, 2019

          Yes. Refer article here.

          Reply
  14. janet4

    janet4

    January 23, 2019

    I want to use either the packing slip or the shipping label in order to print out the gift card to attach the bouquet of flowers we are delivering – I cant understand how to add my fields though – they dont show as options but when i add new meta field then i can select them but still i cant bring them in to the template – this documentation is not comprehensive – please help, Janet

    Reply
    • Mark

      Mark

      January 24, 2019

      Hi,

      You can add custom fields or metadata stored with order details on the packing list via the Additional Fields > Add Existing Order Meta. You can use the database key in which the data is stored as meta key and enter a field name of your choice that will be displayed.

      Reach us via support link above for further queries. We will be publishing an article soon documenting these separately.

      Reply

Got any query? Please leave a comment or reach out to our support

Cancel reply

Your email address will not be published. Required fields are marked *

We develop awesome WordPress plugins & WooCommerce extensions to help build successful online businesses.

© 2023 WebToffee. All rights reserved.

Our plugins

  • GDPR Cookie Consent
  • PDF Invoices & Packings Slips
  • Product Import Export Plugin
  • User & Customer Import Export
  • Import Export Suite
  • Sequential Order Numbers
  • Smart Coupons for WooCommerce
  • URL Coupons for WooCommerce
  • PayPal Express Checkout
  • Stripe Payment Gateway
  • Subscriptions for Woocommerce
  • Product Catalog Sync for Facebook
  • PrintNode for PDF Invoices
  • Order, coupon, subscriptions for WooCommerce
  • WordPress Backup and Migration
View more +

Get Started

  • Plugins
  • Testimonials
  • Affiliates
  • We're hiring

Help & Support

  • Documentation
  • Documentation (Basic)
  • FAQ
  • Support

Company

  • Terms & Conditions
  • Privacy Policy
  • Refund policy
  • Support policy
  • License Activation

© 2023 WebToffee. All rights reserved.

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Cookie settingsACCEPT
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of the basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website, to store user preferences and provide you with content and advertisements that are relevant. Such cookies will be stored on your browser but only upon procuring consent.

You will also have the option to opt-out of these cookies should you want to. But opting out of some of these cookies may have an effect on your browsing experience as per the descriptions elucidated against the respective categories below.

Necessary
Always Enabled
The cookies defined under this category are absolutely essential for the website to function. Hence they are loaded by default irrespective if user consent.
CookieDescription
__cfruidCloudflare sets this cookie to identify trusted web traffic.
__stripe_midStripe sets this cookie cookie to process payments.
__stripe_sidStripe sets this cookie cookie to process payments.
cookielawinfo-checkbox-advertisementSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analyticsSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
cookielawinfo-checkbox-necessarySet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
cookielawinfo-checkbox-preferencesThis cookie is set by the GDPR Cookie Consent plugin to check if the user has given consent to use cookies under the "Preferences" category.
CookieLawInfoConsentRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
PHPSESSIDThis cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user sessions on the website. The cookie is a session cookie and is deleted when all the browser windows are closed.
viewed_cookie_policyThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not a user has consented to the use of cookies. It does not store any personal data.
Analytics
Analytics cookies help us understand how our visitors interact with the website. It helps us understand the number of visitors, where the visitors are coming from, and the pages they navigate. The cookies collect this data and are reported anonymously.
CookieDescription
_gaThis cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assigns a randomly generated number to identify unique visitors.
_ga_BQH8MSKD4MThis cookie is installed by Google Analytics.
_gat_gtagIdentification code of website for tracking visits.
_gidThis cookie is installed by Google Analytics. The cookie is used to store information on how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visited in an anonymous form.
_hjAbsoluteSessionInProgressHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
_hjFirstSeenHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
_hjidHotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
_hjIncludedInPageviewSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
_hjIncludedInSampleThis cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate heatmaps, funnels, recordings, etc.
_hjIncludedInSessionSampleHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
_hjTLDTestTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
CONSENTYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
has_recent_activityThis cookie is used to signal to the code repository website if the user has browsed other website resources during the current session.
tk_aiGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_lrThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_orThis cookie is set by the JetPack plugin on sites using WooCommerce. This is a referral cookie used for analyzing referrer behavior for Jetpack.
tk_qsGathers information for our own first-party analytics tool about how our services are used. A collection of internal metrics for user activity and is used to improve user experience.
tk_r3dThe cookie is installed by JetPack. Used for the internal metrics for user activities to improve user experience.
Advertisement
Advertisement cookies help us provide our visitors with relevant ads and marketing campaigns.
CookieDescription
_fbpThis cookie is set by Facebook to deliver advertisements when they are on Facebook or on a digital platform powered by Facebook advertising after visiting this website.
frThe cookie is set by Facebook to show relevant advertisements to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook Pixel or Facebook social plugin.
VISITOR_INFO1_LIVEA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSCYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devicesYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-idYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
Preferences
Preference cookies are used to store user preferences to provide them with content that is customized accordingly. This includes the language of the website or the location of the visitor.
CookieDescription
_gh_sessThis cookie is used to preserve users' states across page requests.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
CookieDurationDescription
_hjSession_137657130 minutesNo description
_hjSessionUser_13765711 yearNo description
_octo1 yearNo description available.
_zendesk_authenticatedpastNo description
_zendesk_sessionsessionNo description available.
_zendesk_shared_sessionsessionNo description available.
edd_wp_session12 hoursNo description available.
logged_in1 yearNo description available.
m2 yearsNo description available.
Save & Accept