For everything that Woocommerce offers it still lacks one important feature. The ability to scan and import tracking numbers from shipping labels. But with this post I’ll show you how you can quickly add shipping numbers to Woocommerce orders with a barcode scanning app.
For this to work you’re going to need the following WordPress plugins
- Woocommerce order barcodes
- WP All import pro
- WP All import Woocommerce extension
- Woocommerce pdf invoices and packing slips (optional)
- Aftership Woocommerce tracking (optional)
In addition to those plugins you’re going to need the following mobile apps
- Android and iOS: Barcode to sheet
First, begin by installing each of the plugins and apps. Most of the plugins are premium plugins so it might not be worth following this guide if you only ship half a dozen items a day.
Once all of the plugins have been installed we need to do a little code editing or optionally add a shortcode to a page.
Go to your file manager or FTP client and navigate to wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/Simple and copy it to your (child) theme in wp-content/themes/shopkeeper/woocommerce/pdf/yourtemplate
Next open packing-slip.php and scroll to the bottom of the file. Enter the following line of code
[cc lang=”php”]
/** *** Enter the following line in this position **/
; /* ** All done */
;[/cc]
Now create a new page and enter teh following shortcode into the page. This will allow you to generate the barcodes on the frontend of your website, but only administrators and shop managers will be able to access it.
[scan_barcode]
Next we need to open the app and create a sheet. Begin by hitting the at the bottom right.
Give the sheet a name in the first line
Name the first column Order then hit the
When the new column field appears name it tracking
Hit the save icon at the top right
Now the fun begins. If you are using the pdf packing slips plugin print the orders you need to ship and begin getting things ready. As you pack an order tap the order field and hit the middle button to scan the order barcode. Once it has scanned hit the same button again to scan the shipping label. Once done hit the button on the bottom right.
Start the next order and continue doing this until you have finished packing. Every order should have a shipping number and order number scanned.
Once all have been scanned tap on the three dots in the top right and email yourself the csv spreadsheet.
Now head to your website and go to wp-all import and upload a new file.
Select the file
Select existing items
Select Woocommerce orders
Click continue to step 2
On the next screen make sure everything is correct in the fields. If they appear correct click next. The tracking barcode will probably have more numbers than is visible on the label, but this should be fine.
Click continue to step 3
The next screen will allow you to set the fields by simply dragging and dropping a shortcode from the floating widget on the right side of the screen.
In the order status change it to completed.
The next section is only relevant if you are using the aftership plugin. Your customer will still receive tracking information by way of order notes even if you don’t use aftership.
Go down and open the notes section. Enter something like Australia Post tracking : and then drag the tracking number shortcode to the end of the text. Select checkbox Note to customer
If you’re using aftership click the custom fields box and open it. Next click see detected fields. All of the custom fields in use will appear. Go down to the section where aftership is present. Shortcut using control F and search aftership.
In the section where it says _aftership_tracking_number drag the tracking number field over. Remove any row with a semicolon ; or simply delete all fields except for the aftership ones by clicking on the trash icon to the right of each row.
We’re now done on this page and can click continue to step 4
On this page we need to do the following
Highlight custom fields in the first section and in the first field enter _barcode_text
In the second field drag the order field to it
Uncheck Create new orders from records newly present in your file
Check Choose which data to update
Unselect all
Check the following
- Order status
- Customer notes
- Order notes
- Custom fields
In custom fields check Update only these Custom Fields, leave the rest alone
Next enter the following 3 fields one at a time and select them
_aftership_tracking_provider
_aftership_tracking_provider_name
_aftership_tracking_number
Click continue
On the final page you’ll see a large button that says Confirm and run import
Click this button and it will import the file and update all of the orders for you. The process may take some time depending on the number of orders and the speed of the server.
Check the orders to confirm they have successfuly imported.
I have been working with WordPress and WooCommerce since 2012 and have developed a deep knowledge of the content management system. Since 2012, I have developed several plugins and designed dozens of websites utilising different frameworks, CMS’s and programming languages. I am proficient in PHP, Python, Java, C, C++, R and JavaScript with limited experience in Go, Kotlin and Swift.
Educationally, I have a Master’s degree in cyber security a Bachelor’s (Hons, First Class) in Applied Research and a Graduate Certificate in Data Science. I’m currently undertaking PhD studies investigating IoT cybersecurity. I recently graduated with First Class Honours and Masters of Information Technology, receiving the Executive Dean’s Award for studies undertaken in the 2021 and 2022 academic years. I have worked in the information technology industry for the past 11 years primarily as a software/web developer specific to design, optimisation, network management and security. My research interests are in the areas of Internet of Things (IoT), 5G and Beyond Networks, information security for wireless networks and software development.
Google Scholar ID: https://scholar.google.com.au/citations?user=0KvpwNEAAAAJ&hl=en
ORCID: https://orcid.org/0000-0001-8113-1296
Stay In Touch