If you run a small e-commerce business, but still process a large number of orders daily, then the following issue might be a bit too familiar:
You get your order printed out to prepare the products for shipping, go through the shelves of your warehouse to pick them out, but end up going back and forth because you missed one on the way back. The products in your order sheet aren’t sorted, so you skipped an SKU that was in front of you.
If that sounds all too familiar, we feel you. It’s definitely a minor issue, but can be very frustrating and if your orders have more items than average, then you’re bound to lose time picking each product up as well. The line items in an order are not sortable, and are displayed in the way the customer added them to their cart. Since a shopping experience isn’t necessarily linear, that means that they probably didn’t add them in the order you’d prefer.
Well, fret not, because there might just be an easy solution and, no, we’re not talking about an additional app. Just a simple Order Printer template will do it. You can add it to your own list of templates and you’ll have a perfectly viable solution, where the products are sorted by SKU, so most similar items/brands should be next to each other. We’ve also added a checkbox to the right, and a total quantity number at the bottom, so that you can quickly make sure that all the items are accounted for.
All you have to do is install Shopify’s Order Printer app (if you don’t use it already) and click on Add template. Then, just copy and paste the code below, assign a name for your template (we call it “Picking List”) and then save. Now every time you need to pick your items for an order fulfillment you can just print out this list and get the job done with less back and forth inside your warehouse.
With a few tweaks you can also have it sort by different parameters, to better reflect you own warehouse’s set up.
Here’s the code:
<h1>{{ order_name }}</h1>
Created at: {{ created_at }}
<br><br>
{% capture pickorder %}
{% for line_item in line_items %}
{{ line_item.sku }}^{{ line_item.title }}^{{ line_item.quantity }}
{% unless forloop.last %}#{% endunless %}
{% endfor %}
{% endcapture %}
{% assign pickorder = pickorder | split: '#' | sort %}
{% assign totalqty = 0 %}
<table>
<tr>
<th width="20%">SKU</th>
<th width="50%">Product</th>
<th width="20%">QTY.</th>
<th width="10%">✔</th>
</tr>
{% for order in pickorder %}
{% assign item = order | split: '^' %}
{% assign qty = item[2] | plus: 0 %}
{% assign totalqty = totalqty | plus: qty %}
<tr>
<td width="20%">{{ item[0] }}</td>
<td width="50%"><small>{{ item[1] }}</small></td>
<td width="20%">{{ item[2] }}x</td>
<td width="10%"></td>
</tr>
{% endfor %}
<tr>
<th style="text-align: left;" width="70%" colspan="2">TOTAL ITEMS</th>
<td width="30%"><strong>{{ totalqty }}</strong></td>
</tr>
</table>
<style>
h1 { margin-bottom: 50px; }
table {
border: 1px solid black;
text-align: center;
}
tr, th, td {
border: 1px solid black;
padding: 10px !important;
text-align: center;
}
</style>