Re: Issue With Migration to Shopify Order Printer

Issue With Migration to Shopify Order Printer

DamGood
Tourist
5 0 4

Shopify is forcing us to migrate to their new version of Shopify Order Printer from Order Printer (legacy), which we are currently using. I followed the steps to migrate our shipping template over to the new app with our existing code, however the template did not transfer over properly. It is missing a bunch of information such as shipping method, date, order number, ship to address. It also changed the font type and size. Not sure why this happened/how to fix it. 

Replies 12 (12)

Bob_
Explorer
64 13 12

If you click on the old Order Printer (legacy) and look for the link in the note at the top (instructions in this guide) and follow the instructions in there all the information you are "missing" will come back.

 

Most of the stuff mentioned just needs order. put at the start ie the order number command order_name becomes order.order_name

The address one's are the same, shipping_address.city becomes order.shipping_address.city

.
DamGood
Tourist
5 0 4
Hello,

I followed the "instructions in this guide" and it messed up my template
even more. I replaced all of the relevant variables and it fixed 0 problems
that I was having and added more -- now, in addition to those problems, the
line item descriptions and images are not showing up. I am a bit frustrated
as I am not person who is comfortable with code, and being a small business
(2 people, neither of which are comfortable with code), this is a big ask
-- to make us go through and spend time fixing a template that originally
had no problems because of an internal change that Shopify wants to do. I
am spending a lot of time trying to fix this and am only going backwards.
How can you help me? Can we set up a meeting to screen share? This is not a
place where I can keep dumping time into as we have a lot of things on our
plate already.

I hope you can understand and I look forward to hearing how we can work
together in a more efficient manner.
Bob_
Explorer
64 13 12

As I'm at work I shouldn't even be looking at these but if you want to paste your template code into a reply here I can take alook at it for you and see what I can fix.

.
DamGood
Tourist
5 0 4

That is very nice of you, thanks!

 

Here is the code:

 

<!-- Simplified -->
<!-- Common Base Styling -->
{% assign primary_font = "Muli"%}
{% assign primary_font_color = "#000000" %} <!-- Black text color -->
{% assign primary_font_size = "12px"%}
{% assign secondary_font = "Muli"%}
{% assign secondary_font_color = "#333333" %} <!-- Grey text color -->
{% assign theme_color = "#dddddd"%}
<script type="text/javascript">
var fHead = document.head || document.getElementsByTagName('head')[0];
{% assign font_weights = "300,400,700" | split: ',' %}
{% for font_weight in font_weights %}
var font1Id = 'font-{{ primary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font1Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font1Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ primary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% if secondary_font != blank and secondary_font != primary_font %}
var font2Id = 'font-{{ secondary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font2Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font2Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ secondary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% endif %}
{% endfor %}
</script>
<script>
$(function () {
if (navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1) {
$("body").addClass("safari");
}
});
</script>
<style type="text/css">
/* ### BASE - PAGE SIZING AND MARGIN SETUP NORMALIZATION ACROSS BROWSERS ### */
@Page {
margin: 12mm !important;
margin-top: 12mm !important;
margin-right: 12mm !important;
margin-bottom: 12mm !important;
margin-left: 12mm !important;
}
@media print {
.safari {
padding-top: 15px;
box-sizing: border-box;
}
.printer-preview-content .printer-preview-content {
padding-left: 15px;
padding-right: 15px;
box-sizing: border-box;
}
}
@media screen {
.printer-preview-content {
padding: 18px 0;
min-height: 800px;
/* background-image: url(http://basehold.it/i/18) */
}
.printer-preview-content .printer-preview-content {
margin-right: auto;
margin-left: auto;
max-width: 680px;
}
}
@media screen,print {

/* ### BASE - TYPOGRAPHY AND REMOVAL OF STANDARD SHOPIFY STYLING ### */
.printer-preview-content .t54454 * {
color: {{ secondary_font_color }};
font-family: '{{ primary_font }}';
font-size: {{ primary_font_size }};
font-weight: 400;
line-height: 18px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
margin: 0 0 0 0;
padding: 0 0 0 0;
-webkit-print-color-adjust: exact;
overflow: visible !important;
}
.printer-preview-content .t54454 h1 {
font-size: 28px;
line-height: 36px;
}
.printer-preview-content .t54454 h2 {
font-size: 24px;
line-height: 36px;
}
.printer-preview-content .t54454 h3 {
font-size: 14px;
line-height: 18px;
}
.printer-preview-content .t54454 h1,
.printer-preview-content .t54454 h2,
.printer-preview-content .t54454 h3 {
margin-bottom: 18px;
}
.printer-preview-content .t54454 a,
.printer-preview-content .t54454 a * {
text-decoration: none !important;
}
.printer-preview-content .t54454 b,
.printer-preview-content .t54454 b * {
font-weight: bold;
}
.printer-preview-content .t54454 .text-right {
text-align: right;
}
.printer-preview-content .t54454 .text-center {
text-align: center;
}
.printer-preview-content .t54454 .no-wrap {
white-space: nowrap;
}

/* ### BASE - GRID AND RE-USABLE LAYOUT COMPONENTS ### */
.printer-preview-content .t54454 .row {
width: 100%;
display: block;
clear: both;
}
.printer-preview-content .t54454 .row:after {
content: "";
display: table;
clear: both;
}
.printer-preview-content .t54454 .col-xs-1,
.printer-preview-content .t54454 .col-xs-2,
.printer-preview-content .t54454 .col-xs-3,
.printer-preview-content .t54454 .col-xs-4,
.printer-preview-content .t54454 .col-xs-5,
.printer-preview-content .t54454 .col-xs-6,
.printer-preview-content .t54454 .col-xs-7,
.printer-preview-content .t54454 .col-xs-8,
.printer-preview-content .t54454 .col-xs-9,
.printer-preview-content .t54454 .col-xs-10,
.printer-preview-content .t54454 .col-xs-11,
.printer-preview-content .t54454 .col-xs-12 {
float: left;
min-height: 1px;
margin-bottom: 36px;
}
.printer-preview-content .t54454 .col-xs-12 {
width: 100%;
}
.printer-preview-content .t54454 .col-xs-11 {
width: 91.66666667%;
}
.printer-preview-content .t54454 .col-xs-10 {
width: 83.33333333%;
}
.printer-preview-content .t54454 .col-xs-9 {
width: 75%;
}
.printer-preview-content .t54454 .col-xs-8 {
width: 66.66666667%;
}
.printer-preview-content .t54454 .col-xs-7 {
width: 58.33333333%;
}
.printer-preview-content .t54454 .col-xs-6 {
width: 50%;
}
.printer-preview-content .t54454 .col-xs-5 {
width: 41.66666667%;
}
.printer-preview-content .t54454 .col-xs-4 {
width: 33.33333333%;
}
.printer-preview-content .t54454 .col-xs-3 {
width: 25%;
}
.printer-preview-content .t54454 .col-xs-2 {
width: 16.66666667%;
}
.printer-preview-content .t54454 .col-xs-1 {
width: 8.33333333%;
}
.printer-preview-content .t54454 .col-no-margin {
margin-bottom: 0 !important;
}
.printer-preview-content .t54454 .clear-fix::after {
content: "";
clear: both;
display: table;
}
.printer-preview-content .t54454 .half-margin-top {
margin-top: 9px !important;
}
.printer-preview-content .t54454 .half-margin-bottom {
margin-bottom: 9px !important;
}
.printer-preview-content .t54454 .margin-bottom {
margin-bottom: 18px !important;
margin-top: 1px;
}
.printer-preview-content .t54454 .margin-top {
margin-top: 18px !important;
}
.printer-preview-content .t54454 .double-margin-top {
margin-top: 36px !important;
}
.printer-preview-content .t54454 .double-margin-bottom {
margin-bottom: 36px !important;
}

.printer-preview-content .t54454 .strikethrough {
text-decoration: line-through !important;
}

.printer-preview-content .t54454 .break {
word-break: break-all !important;
}

/* ### BASE - TABLE STYLING ### */
.printer-preview-content .t54454 table,
.printer-preview-content .t54454 .table {
width: 100%;
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
}
.printer-preview-content .t54454 table thead {
display: table-row-group;
}
.printer-preview-content .t54454 table tbody tr {
page-break-inside:avoid !important;
page-break-after:auto !important;
}
.printer-preview-content .t54454 table tbody tr td {
page-break-inside:avoid !important;
}
.printer-preview-content .t54454 th {
white-space: nowrap;
text-align: left;
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 td {
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 .order-table tbody > tr td {
background-color: #FFFFFF;
}
.printer-preview-content .t54454 .pricing-table {
position: relative;
top: 1px;
}
.printer-preview-content .t54454 .pricing-table tbody > tr > td {
background-color: #FFFFFF;
}
/* .printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title {
word-break: break-all;
}*/
.printer-preview-content .t54454 th.order-table-qty {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-price {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 17%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .pricing-table-text {
text-align: right;
white-space: nowrap;
}

/* ### BASE - PRODUCT IMAGE SIZING TO RETAIN LINE HEIGHT RYTHM) ### */
.printer-preview-content .t54454 .product-image-wrapper {
width: 108px;
max-height: 108px;
}
.printer-preview-content .t54454 .product-image {
padding: 0 4px;
page-break-inside:avoid !important;
max-width: 108px;
}

/* ### BASE - LISTS RESET ### */
.printer-preview-content .t54454 ul {
list-style: none;
}
.printer-preview-content .t54454 li {
color: {{ secondary_font_color }};
list-style: none;
}

/* ### BASE - LOGO ### */
.printer-preview-content .t54454 .logo-wrapper {
display: inline-block;
width: 100%;
padding-bottom: 9px;
}
.printer-preview-content .t54454 .logo {
float: left;
padding-right: 15px;
max-width: 31%;
max-height: 76.88px;
}

/* ### BASE - BARCODE ### */
.printer-preview-content .t54454 .order-number-barcode,
.printer-preview-content .t54454 .product-barcode {
display: block;
}

/* ### BASE - ADDITONAL COMMON SHARED TYPOGRAPHY AND ALIGNMENT ### */
.printer-preview-content .t54454 .address {
margin-right: 5%;
}
.printer-preview-content .t54454 .col-xs-8 .notes,
.printer-preview-content .t54454 .col-xs-6 .notes {
margin-right: 20%;
}
.printer-preview-content .t54454 .notes-title,
.printer-preview-content .t54454 .return-codes {
margin: 9px 0;
}
/* ### BASE - HORIZONTAL RULE MARKS ### */
.printer-preview-content .t54454 hr {
background: {{ theme_color }};
border-top: 0;
border: 0;
height: 2px;
width: 100%;
margin-bottom: -2px;
}

}
</style>
<!-- Template Specific Styling -->
<style type="text/css">
@media screen,print {

/* ### DESIGN SPECIFIC - TYPOGRAPHY ### */
.printer-preview-content .t54454 h1 {
font-family: '{{ secondary_font }}';
font-weight: 400;
margin-bottom: 0px !important;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 h2 {
font-family: '{{ secondary_font }}';
}
.printer-preview-content .t54454 h3 {
font-family: '{{ secondary_font }}';
color: {{ theme_color }};
}
.printer-preview-content .t54454 .logo-wrapper {
margin: 0 0;
padding: 0 !important;
}
.printer-preview-content .t54454 .logo {
margin: 0 0;
padding: 0 !important;
}
/* ### DESIGN SPECIFIC - LOGO POSITIONING ### */
.printer-preview-content .t54454 .logo {
float: none;
display: block;
margin: 0 auto;
}

/* ### DESIGN SPECIFIC - STORE DETAILS ### */
.printer-preview-content .t54454 .shop-block {
text-align: center;
}
.printer-preview-content .t54454 .shop-domain {
font-weight: normal;
color: {{ primary_font_color }};
}

.printer-preview-content .t54454 .shop-address-name {
display: block;
font-size: 16px;
font-weight: 700;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .shop-address-block b {
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - ORDER DETAILS ### */
.printer-preview-content .t54454 .order-details-title {
display: inline-block;
width: 40%;
}
.printer-preview-content .t54454 .order-details .order-details-date {
display: none;
}
.printer-preview-content .t54454 .order-details li:first-of-type * {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .order-details li:not(:first-of-type) * {
font-weight: normal;
}

/* ### DESIGN SPECIFIC - BILL TO AND SHIP TO ADDRESS ### */
.printer-preview-content .t54454 .address-title {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - TABLE HEADER ### */
.printer-preview-content .t54454 .order-table thead tr th {
padding-left: 0px;
padding-right: 0px;
padding-top: 9px;
padding-bottom:4px;
font-weight: 700;
vertical-align: bottom;
color: {{ primary_font_color }};
border-bottom: 2px solid {{ theme_color }};
/* text-transform: uppercase;
*/ }
/* ### DESIGN SPECIFIC - TABLE BODY (SHARED) ### */
.printer-preview-content .t54454 .order-table tbody tr td,
.printer-preview-content .t54454 .pricing-table tbody tr td {
padding-left: 0px;
padding-right: 0px;
border-top: 0;
padding-top: 6px;
padding-bottom:5px;
border-bottom: 1px solid #f3f3f3;
}
/* ### DESIGN SPECIFIC - ORDER TABLE SPECIFIC ### */
.printer-preview-content .t54454 .order-table thead tr th.order-table-title {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 th.order-table-qty,
.printer-preview-content .t54454 th.order-table-price,
.printer-preview-content .t54454 th.order-table-item-total {
width: 14%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 20%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description {
color: {{ primary_font_color }};
font-weight: 700;
}
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type,
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type * {

}
.printer-preview-content .t54454 .order-table .product-image-wrapper {
padding-right: 8px;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description span.line-item-refund {
display: inline-block;
padding: 2px 8px;
margin-top: 4px;
background-color: #FFEA8A;
border-radius: 18px;
}

/* ### DESIGN SPECIFIC - PRICING TABLE SPECIFIC ### */
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title span {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text * {

}
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-text {
color: {{ primary_font_color }};
font-weight: 700;
border-bottom: 2px solid {{ theme_color }};
}

/* ### DESIGN SPECIFIC - ORDER NOTES ### */
.printer-preview-content .t54454 .notes-title {
font-weight: 700;
/* text-transform: uppercase;
*/ color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .notes-text {
margin-bottom: 18px;
}

/* ### DESIGN SPECIFIC - RETURN FORM REASON CODES ### */
.printer-preview-content .t54454 .return-codes b,
.printer-preview-content .t54454 .return-code b * {
margin-bottom: 18px;
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - THANK YOU MESSAGE ### */


/* ### DESIGN SPECIFIC - GIFT MESSAGE ### */
.printer-preview-content .t54454 .gift-text {
font-weight: 700;
padding-top:18px;
padding-bottom:18px;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text * {
font-weight: 700;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text svg {
padding-bottom:9px;
}

/* ### DESIGN SPECIFIC - TERMS AND CONDITIONS ### */
.printer-preview-content .t54454 .terms-text {
font-size: 10px;
}
.printer-preview-content .t54454 .terms-text * {
font-size: 10px;
}

/* ### DESIGN SPECIFIC - SOCIAL ICONS ### */
.printer-preview-content .t54454 .social-icons {
display: inline;
width: 18px;
margin: 9px 2%;
}


}
</style>
<div class="printer-preview-content" contenteditable="true" spellcheck="false" title="Click to edit text (changes will be printed but not saved)">
<div class="t54454">
<div class="row">
<div id="header-row">
<div class="col-xs-12 margin-bottom">
<div class="logo-wrapper">
<a href="https://{{ shop.domain }}" target="_blank">
<img class="logo" alt="Logo" src="https://cdn.filestackcontent.com/api/file/ltvBvTTeW9BP7Ov2dpUQ" />
</a>
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div style="border-bottom: 2px solid {{ theme_color }}">
<div class="col-xs-8 col-no-margin">
<div class="template-title">
<h1 class="editable" data-key="template_type_name">Packing Slip</h1>
</div>
</div>
<div class="col-xs-4 col-no-margin">
<ul style="padding-top: 10px;">
<li>
<span class="order-details-text">{{ date | date: "%B %d, %Y" }}</span>
</li>
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-4 margin-top margin-bottom">
<div class="address-title bill-to-title editable" data-key="bill_to">Bill to</div>
<ul class="address">
{% assign billing_address = billing_address | default: customer.default_address %}
{% if billing_address and billing_address != blank %}
<li>{{ billing_address.name }}</li>
{% if billing_address.company != blank %}
<li>{{ billing_address.company }}</li>
{% endif %}
<li>{{ billing_address.address1 }}</li>
{% if billing_address.address2 != blank %}
<li>{{ billing_address.address2 }}</li>
{% endif %}
<li>{{ billing_address.city }}, {% if billing_address.province_code != blank %}{{ billing_address.province_code }}{% else %}{{ billing_address.province }}{% endif %} {{ billing_address.zip | upcase }}</li>
{% if shop.country != billing_address.country %}
<li>{{ billing_address.country }}</li>
{% endif %}
{% elsif customer != blank %}
{% if customer.name != blank %}
<li>{{ customer.name }}</li>
{% endif %}
{% if customer.email != blank %}
<li>{{ customer.email }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
{% if shipping_address and shipping_address != "" and shipping_address != nil %}
<div class="address-title ship-to-title editable" data-key="ship_to">Ship to</div>
{% endif %}
<ul class="address">
{% if shipping_address and shipping_address != blank %}
<li>{{ shipping_address.name }}</li>
{% if shipping_address.company != blank %}
<li>{{ shipping_address.company }}</li>
{% endif %}
<li>{{ shipping_address.address1 }}</li>
{% if shipping_address.address2 != blank %}
<li>{{ shipping_address.address2 }}</li>
{% endif %}
<li>{{ shipping_address.city }}, {% if shipping_address.province_code != blank %}{{ shipping_address.province_code }}{% else %}{{ shipping_address.province }}{% endif %} {{ shipping_address.zip | upcase }}</li>
{% if shop.country != shipping_address.country %}
<li>{{ shipping_address.country }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
<ul class="order-details">
<li class="order-details-name">
<span class="order-details-title editable" data-key="order">Order</span>
<span class="order-details-text">{{ order_name }}</span>
</li>
<li class="order-details-date">
<span class="order-details-title editable" data-key="date">Order Date</span>
<span class="order-details-text">{{ created_at | date: "%B %d, %Y" }}</span>
</li>
{% if shipping_method.title != blank %}
<li class="order-details-shipping">
<span class="order-details-title editable" data-key="shipping_method">Shipping</span>
<span class="order-details-text">{{ shipping_method.title }}</span>
</li>
{% endif %}
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 col-no-margin">
<table class="order-table table">
<thead>
<tr>
<th colspan=2 class="order-table-title editable" data-key="item">Item Description</th>
<th class="order-table-qty text-center editable" data-key="qty">Qty</th>
</tr>
</thead>
<tbody>
{% assign line_items = line_items | sort: "name" %}
<!-- Bold Product Options Snippet 1 -->
{% assign hidden_variant_ids = "" %}
{% for line_item in line_items %}
{% if line_item.properties._boldVariantIds %}
{% assign hidden_variant_ids = hidden_variant_ids | append: ',' %}
{% assign hidden_variant_ids = hidden_variant_ids | append: line_item.properties._boldVariantIds %}
{% endif %}
{% endfor %}
{% assign hidden_variant_ids = hidden_variant_ids | split: ',' %}
<!-- END Bold Product Options Snippet 1 -->
{% for line_item in line_items %}
{% if line_item.quantity < 1 or line_item.title == "Tip" or line_item.title == "Tips" %}{% continue %}{% endif %}
<!-- Bold Product Options Snippet 2 -->
{% if hidden_variant_ids contains line_item.variant_id %}{% continue %}{% endif %}
{% assign adjusted_item_price = line_item.price %}
{% assign adjusted_line_price = line_item.price | times: line_item.quantity %}
{% for line_item2 in line_items %}
{% if line_item.properties._boldVariantIds contains line_item2.variant_id %}
{% assign adjusted_item_price = adjusted_item_price | plus: line_item2.price %}
{% assign adjusted_line_option_price = line_item2.price | times: line_item.quantity %}
{% assign adjusted_line_price = adjusted_line_price | plus: adjusted_line_option_price %}
{% endif %}
{% endfor %}
<!-- END Bold Product Options Snippet 2 -->
<tr>
<td class="product-image-wrapper">{% if line_item.image != blank %}<img class="product-image" src="{{ line_item.image | img_url: 'medium' }}"/>{% endif %}</td>
<td class="line-item-description">
<p style="font-weight: 700;"><a href="https://{{ shop.domain }}/products/{{ line_item.product.handle }}" style="font-weight: 700;color: inherit;" target="_blank">
{{ line_item.title | replace: " - Default Title", "" }}</a></p>
{% if line_item.sku != blank %}
<p class="line-item-sku">{{ line_item.sku }}</p>
{% endif %}
{% for p in line_item.properties %}
{% assign p_internal = p.first | slice: 0 %}
{% unless p.first contains "builder_id" or p.first contains "builder_info" or p.first contains "master_builder" or p_internal == "_" or p.last == "" or p.last == blank %}
{% if p.last contains "cdn.shopify.com" or p.last contains "/uploads/" or p.last contains ".png?" or p.last contains ".jpg?" or p.last contains "//uploadery.s3" %}
<p class="line-item-property">{{ p.first }}:<br>
</p>
<a href="{{ p.last }}" target="_blank"><img src="{{ p.last }}" alt="{{ p.first }}" width="60" border="0" style="width: 60px; height: auto !important;"></a>
{% else %}
<p class="line-item-property">{{ p.first }}: {{ p.last | newline_to_br }}</p>
{% endif %}
{% endunless %}
{% endfor %}
{% assign refunded_quantity = 0 %}
{% for refund in refunds %}
{% for refund_line_item in refund.refund_line_items %}
{% if line_item.id == refund_line_item.line_item_id %}
{% assign refunded_quantity = refunded_quantity | plus: refund_line_item.quantity %}
{% endif %}
{% endfor %}
{% endfor %}
{% if refunded_quantity > 0 %}
<span class="line-item-refund">Refunded × {{ refunded_quantity }}</span>
{% endif %}
</td>
<td class="text-center line-item-qty">× {{ line_item.quantity }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="notes">
{% if note != blank %}
<div class="notes-title editable" data-key="order_notes">Notes</div>
{% endif %}
<div class="notes-text">
{{ note | newline_to_br }}
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 shop-block col-no-margin">
<div class="thanks-text full-editable" data-key="thanks">
<p></p>
{% if customer.orders_count <= 1 %}
<p><b>Thank you very much for your order!</b></p>
{% else %}
Thank you very much for your re-order!
{% endif %}
<p></p>
</div>
<br>
<div class="shop-address-block full-editable" data-key="shop_block">
<p><font color="#000000"></font><b><mark>ATTENTION:</mark> Since Dam Good English Muffins contain no artificial preservatives, to maintain freshness, we recommend that you store them in the freezer, where they will last up to 12 months, or in the fridge, where they will last up to one week.</b><p>Please see the back of our package for serving instructions.</p><br>
</p>
<p><br>
</p>
<p>Happy toasting,
<br>
Denise and Olivia Weale, mother daugher co-founders</p>
<p><br>
</p>
<p><b>Dam Good™ English Muffins</b></p>
<p>Peekskill, NY 10566</p>
<p>customercare@damgoodenglishmuffins.com | (914) 293-7190<br>
</p>
<p>www.damgoodenglishmuffins.com | @damgoodenglishmuffins<br>
</p>
<p><br>
</p>
</div>
<div class="shop-social">
</div>
<a href="https://{{ shop.domain }}" target="_blank">
<div class="shop-domain editable" data-key="shop_domain">
</div>
</a>
</div>
<div class="clear-fix"></div>
</div>
</div>
</div>

Bob_
Explorer
64 13 12

Copy this into a new test template and see if I've missed anything, but that appears to be everything that wasn't working (not having seen an invoice before 🙂 )

 

<!-- Simplified -->
<!-- Common Base Styling -->
{% assign primary_font = "Muli"%}
{% assign primary_font_color = "#000000" %} <!-- Black text color -->
{% assign primary_font_size = "12px"%}
{% assign secondary_font = "Muli"%}
{% assign secondary_font_color = "#333333" %} <!-- Grey text color -->
{% assign theme_color = "#dddddd"%}
<script type="text/javascript">
var fHead = document.head || document.getElementsByTagName('head')[0];
{% assign font_weights = "300,400,700" | split: ',' %}
{% for font_weight in font_weights %}
var font1Id = 'font-{{ primary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font1Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font1Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ primary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% if secondary_font != blank and secondary_font != primary_font %}
var font2Id = 'font-{{ secondary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font2Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font2Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ secondary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% endif %}
{% endfor %}
</script>
<script>
$(function () {
if (navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1) {
$("body").addClass("safari");
}
});
</script>
<style type="text/css">
/* ### BASE - PAGE SIZING AND MARGIN SETUP NORMALIZATION ACROSS BROWSERS ### */
@Page {
margin: 12mm !important;
margin-top: 12mm !important;
margin-right: 12mm !important;
margin-bottom: 12mm !important;
margin-left: 12mm !important;
}
@media print {
.safari {
padding-top: 15px;
box-sizing: border-box;
}
.printer-preview-content .printer-preview-content {
padding-left: 15px;
padding-right: 15px;
box-sizing: border-box;
}
}
@media screen {
.printer-preview-content {
padding: 18px 0;
min-height: 800px;
/* background-image: url(http://basehold.it/i/18) */
}
.printer-preview-content .printer-preview-content {
margin-right: auto;
margin-left: auto;
max-width: 680px;
}
}
@media screen,print {

/* ### BASE - TYPOGRAPHY AND REMOVAL OF STANDARD SHOPIFY STYLING ### */
.printer-preview-content .t54454 * {
color: {{ secondary_font_color }};
font-family: '{{ primary_font }}';
font-size: {{ primary_font_size }};
font-weight: 400;
line-height: 18px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
margin: 0 0 0 0;
padding: 0 0 0 0;
-webkit-print-color-adjust: exact;
overflow: visible !important;
}
.printer-preview-content .t54454 h1 {
font-size: 28px;
line-height: 36px;
}
.printer-preview-content .t54454 h2 {
font-size: 24px;
line-height: 36px;
}
.printer-preview-content .t54454 h3 {
font-size: 14px;
line-height: 18px;
}
.printer-preview-content .t54454 h1,
.printer-preview-content .t54454 h2,
.printer-preview-content .t54454 h3 {
margin-bottom: 18px;
}
.printer-preview-content .t54454 a,
.printer-preview-content .t54454 a * {
text-decoration: none !important;
}
.printer-preview-content .t54454 b,
.printer-preview-content .t54454 b * {
font-weight: bold;
}
.printer-preview-content .t54454 .text-right {
text-align: right;
}
.printer-preview-content .t54454 .text-center {
text-align: center;
}
.printer-preview-content .t54454 .no-wrap {
white-space: nowrap;
}

/* ### BASE - GRID AND RE-USABLE LAYOUT COMPONENTS ### */
.printer-preview-content .t54454 .row {
width: 100%;
display: block;
clear: both;
}
.printer-preview-content .t54454 .row:after {
content: "";
display: table;
clear: both;
}
.printer-preview-content .t54454 .col-xs-1,
.printer-preview-content .t54454 .col-xs-2,
.printer-preview-content .t54454 .col-xs-3,
.printer-preview-content .t54454 .col-xs-4,
.printer-preview-content .t54454 .col-xs-5,
.printer-preview-content .t54454 .col-xs-6,
.printer-preview-content .t54454 .col-xs-7,
.printer-preview-content .t54454 .col-xs-8,
.printer-preview-content .t54454 .col-xs-9,
.printer-preview-content .t54454 .col-xs-10,
.printer-preview-content .t54454 .col-xs-11,
.printer-preview-content .t54454 .col-xs-12 {
float: left;
min-height: 1px;
margin-bottom: 36px;
}
.printer-preview-content .t54454 .col-xs-12 {
width: 100%;
}
.printer-preview-content .t54454 .col-xs-11 {
width: 91.66666667%;
}
.printer-preview-content .t54454 .col-xs-10 {
width: 83.33333333%;
}
.printer-preview-content .t54454 .col-xs-9 {
width: 75%;
}
.printer-preview-content .t54454 .col-xs-8 {
width: 66.66666667%;
}
.printer-preview-content .t54454 .col-xs-7 {
width: 58.33333333%;
}
.printer-preview-content .t54454 .col-xs-6 {
width: 50%;
}
.printer-preview-content .t54454 .col-xs-5 {
width: 41.66666667%;
}
.printer-preview-content .t54454 .col-xs-4 {
width: 33.33333333%;
}
.printer-preview-content .t54454 .col-xs-3 {
width: 25%;
}
.printer-preview-content .t54454 .col-xs-2 {
width: 16.66666667%;
}
.printer-preview-content .t54454 .col-xs-1 {
width: 8.33333333%;
}
.printer-preview-content .t54454 .col-no-margin {
margin-bottom: 0 !important;
}
.printer-preview-content .t54454 .clear-fix::after {
content: "";
clear: both;
display: table;
}
.printer-preview-content .t54454 .half-margin-top {
margin-top: 9px !important;
}
.printer-preview-content .t54454 .half-margin-bottom {
margin-bottom: 9px !important;
}
.printer-preview-content .t54454 .margin-bottom {
margin-bottom: 18px !important;
margin-top: 1px;
}
.printer-preview-content .t54454 .margin-top {
margin-top: 18px !important;
}
.printer-preview-content .t54454 .double-margin-top {
margin-top: 36px !important;
}
.printer-preview-content .t54454 .double-margin-bottom {
margin-bottom: 36px !important;
}

.printer-preview-content .t54454 .strikethrough {
text-decoration: line-through !important;
}

.printer-preview-content .t54454 .break {
word-break: break-all !important;
}

/* ### BASE - TABLE STYLING ### */
.printer-preview-content .t54454 table,
.printer-preview-content .t54454 .table {
width: 100%;
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
}
.printer-preview-content .t54454 table thead {
display: table-row-group;
}
.printer-preview-content .t54454 table tbody tr {
page-break-inside:avoid !important;
page-break-after:auto !important;
}
.printer-preview-content .t54454 table tbody tr td {
page-break-inside:avoid !important;
}
.printer-preview-content .t54454 th {
white-space: nowrap;
text-align: left;
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 td {
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 .order-table tbody > tr td {
background-color: #FFFFFF;
}
.printer-preview-content .t54454 .pricing-table {
position: relative;
top: 1px;
}
.printer-preview-content .t54454 .pricing-table tbody > tr > td {
background-color: #FFFFFF;
}
/* .printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title {
word-break: break-all;
}*/
.printer-preview-content .t54454 th.order-table-qty {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-price {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 17%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .pricing-table-text {
text-align: right;
white-space: nowrap;
}

/* ### BASE - PRODUCT IMAGE SIZING TO RETAIN LINE HEIGHT RYTHM) ### */
.printer-preview-content .t54454 .product-image-wrapper {
width: 108px;
max-height: 108px;
}
.printer-preview-content .t54454 .product-image {
padding: 0 4px;
page-break-inside:avoid !important;
max-width: 108px;
}

/* ### BASE - LISTS RESET ### */
.printer-preview-content .t54454 ul {
list-style: none;
}
.printer-preview-content .t54454 li {
color: {{ secondary_font_color }};
list-style: none;
}

/* ### BASE - LOGO ### */
.printer-preview-content .t54454 .logo-wrapper {
display: inline-block;
width: 100%;
padding-bottom: 9px;
}
.printer-preview-content .t54454 .logo {
float: left;
padding-right: 15px;
max-width: 31%;
max-height: 76.88px;
}

/* ### BASE - BARCODE ### */
.printer-preview-content .t54454 .order-number-barcode,
.printer-preview-content .t54454 .product-barcode {
display: block;
}

/* ### BASE - ADDITONAL COMMON SHARED TYPOGRAPHY AND ALIGNMENT ### */
.printer-preview-content .t54454 .address {
margin-right: 5%;
}
.printer-preview-content .t54454 .col-xs-8 .notes,
.printer-preview-content .t54454 .col-xs-6 .notes {
margin-right: 20%;
}
.printer-preview-content .t54454 .notes-title,
.printer-preview-content .t54454 .return-codes {
margin: 9px 0;
}
/* ### BASE - HORIZONTAL RULE MARKS ### */
.printer-preview-content .t54454 hr {
background: {{ theme_color }};
border-top: 0;
border: 0;
height: 2px;
width: 100%;
margin-bottom: -2px;
}

}
</style>
<!-- Template Specific Styling -->
<style type="text/css">
@media screen,print {

/* ### DESIGN SPECIFIC - TYPOGRAPHY ### */
.printer-preview-content .t54454 h1 {
font-family: '{{ secondary_font }}';
font-weight: 400;
margin-bottom: 0px !important;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 h2 {
font-family: '{{ secondary_font }}';
}
.printer-preview-content .t54454 h3 {
font-family: '{{ secondary_font }}';
color: {{ theme_color }};
}
.printer-preview-content .t54454 .logo-wrapper {
margin: 0 0;
padding: 0 !important;
}
.printer-preview-content .t54454 .logo {
margin: 0 0;
padding: 0 !important;
}
/* ### DESIGN SPECIFIC - LOGO POSITIONING ### */
.printer-preview-content .t54454 .logo {
float: none;
display: block;
margin: 0 auto;
}

/* ### DESIGN SPECIFIC - STORE DETAILS ### */
.printer-preview-content .t54454 .shop-block {
text-align: center;
}
.printer-preview-content .t54454 .shop-domain {
font-weight: normal;
color: {{ primary_font_color }};
}

.printer-preview-content .t54454 .shop-address-name {
display: block;
font-size: 16px;
font-weight: 700;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .shop-address-block b {
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - ORDER DETAILS ### */
.printer-preview-content .t54454 .order-details-title {
display: inline-block;
width: 40%;
}
.printer-preview-content .t54454 .order-details .order-details-date {
display: none;
}
.printer-preview-content .t54454 .order-details li:first-of-type * {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .order-details li:not(:first-of-type) * {
font-weight: normal;
}

/* ### DESIGN SPECIFIC - BILL TO AND SHIP TO ADDRESS ### */
.printer-preview-content .t54454 .address-title {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - TABLE HEADER ### */
.printer-preview-content .t54454 .order-table thead tr th {
padding-left: 0px;
padding-right: 0px;
padding-top: 9px;
padding-bottom:4px;
font-weight: 700;
vertical-align: bottom;
color: {{ primary_font_color }};
border-bottom: 2px solid {{ theme_color }};
/* text-transform: uppercase;
*/ }
/* ### DESIGN SPECIFIC - TABLE BODY (SHARED) ### */
.printer-preview-content .t54454 .order-table tbody tr td,
.printer-preview-content .t54454 .pricing-table tbody tr td {
padding-left: 0px;
padding-right: 0px;
border-top: 0;
padding-top: 6px;
padding-bottom:5px;
border-bottom: 1px solid #f3f3f3;
}
/* ### DESIGN SPECIFIC - ORDER TABLE SPECIFIC ### */
.printer-preview-content .t54454 .order-table thead tr th.order-table-title {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 th.order-table-qty,
.printer-preview-content .t54454 th.order-table-price,
.printer-preview-content .t54454 th.order-table-item-total {
width: 14%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 20%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description {
color: {{ primary_font_color }};
font-weight: 700;
}
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type,
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type * {

}
.printer-preview-content .t54454 .order-table .product-image-wrapper {
padding-right: 8px;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description span.line-item-refund {
display: inline-block;
padding: 2px 8px;
margin-top: 4px;
background-color: #FFEA8A;
border-radius: 18px;
}

/* ### DESIGN SPECIFIC - PRICING TABLE SPECIFIC ### */
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title span {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text * {

}
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-text {
color: {{ primary_font_color }};
font-weight: 700;
border-bottom: 2px solid {{ theme_color }};
}

/* ### DESIGN SPECIFIC - ORDER NOTES ### */
.printer-preview-content .t54454 .notes-title {
font-weight: 700;
/* text-transform: uppercase;
*/ color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .notes-text {
margin-bottom: 18px;
}

/* ### DESIGN SPECIFIC - RETURN FORM REASON CODES ### */
.printer-preview-content .t54454 .return-codes b,
.printer-preview-content .t54454 .return-code b * {
margin-bottom: 18px;
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - THANK YOU MESSAGE ### */


/* ### DESIGN SPECIFIC - GIFT MESSAGE ### */
.printer-preview-content .t54454 .gift-text {
font-weight: 700;
padding-top:18px;
padding-bottom:18px;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text * {
font-weight: 700;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text svg {
padding-bottom:9px;
}

/* ### DESIGN SPECIFIC - TERMS AND CONDITIONS ### */
.printer-preview-content .t54454 .terms-text {
font-size: 10px;
}
.printer-preview-content .t54454 .terms-text * {
font-size: 10px;
}

/* ### DESIGN SPECIFIC - SOCIAL ICONS ### */
.printer-preview-content .t54454 .social-icons {
display: inline;
width: 18px;
margin: 9px 2%;
}


}
</style>
<div class="printer-preview-content" contenteditable="true" spellcheck="false" title="Click to edit text (changes will be printed but not saved)">
<div class="t54454">
<div class="row">
<div id="header-row">
<div class="col-xs-12 margin-bottom">
<div class="logo-wrapper">
<a href="https://{{ shop.domain }}" target="_blank">
<img class="logo" alt="Logo" src="https://cdn.filestackcontent.com/api/file/ltvBvTTeW9BP7Ov2dpUQ" />
</a>
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div style="border-bottom: 2px solid {{ theme_color }}">
<div class="col-xs-8 col-no-margin">
<div class="template-title">
<h1 class="editable" data-key="template_type_name">Packing Slip</h1>
</div>
</div>
<div class="col-xs-4 col-no-margin">
<ul style="padding-top: 10px;">
<li>
<span class="order-details-text">{{ date | date: "%B %d, %Y" }}</span>
</li>
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-4 margin-top margin-bottom">
<div class="address-title bill-to-title editable" data-key="bill_to">Bill to</div>
<ul class="address">
{% assign order.billing_address = order.billing_address | default: customer.default_address %}
{% if order.billing_address and order.billing_address != blank %}
<li>{{ order.billing_address.name }}</li>
{% if order.billing_address.company != blank %}
<li>{{ order.billing_address.company }}</li>
{% endif %}
<li>{{ order.billing_address.address1 }}</li>
{% if order.billing_address.address2 != blank %}
<li>{{ order.billing_address.address2 }}</li>
{% endif %}
<li>{{ order.billing_address.city }}, {% if order.billing_address.province_code != blank %}{{ order.billing_address.province_code }}{% else %}{{ order.billing_address.province }}{% endif %} {{ order.billing_address.zip | upcase }}</li>
{% if shop.country != order.billing_address.country %}
<li>{{ order.billing_address.country }}</li>
{% endif %}
{% elsif customer != blank %}
{% if customer.name != blank %}
<li>{{ customer.name }}</li>
{% endif %}
{% if customer.email != blank %}
<li>{{ customer.email }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
{% if order.shipping_address != "" and order.shipping_address != nil %}
<div class="address-title ship-to-title editable" data-key="ship_to">Ship to</div>
{% endif %}
<ul class="address">
{% if order.shipping_address and order.shipping_address != blank %}
<li>{{ order.shipping_address.name }}</li>
{% if order.shipping_address.company != blank %}
<li>{{ order.shipping_address.company }}</li>
{% endif %}
<li>{{ order.shipping_address.address1 }}</li>
{% if order.shipping_address.address2 != blank %}
<li>{{ order.shipping_address.address2 }}</li>
{% endif %}
<li>{{ order.shipping_address.city }}, {% if order.shipping_address.province_code != blank %}{{ order.shipping_address.province_code }}{% else %}{{ order.shipping_address.province }}{% endif %} {{ order.shipping_address.zip | upcase }}</li>
{% if shop.country != order.shipping_address.country %}
<li>{{ order.shipping_address.country }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
<ul class="order-details">
<li class="order-details-name">
<span class="order-details-title editable" data-key="order">Order</span>
<span class="order-details-text">{{ order.order_name }}</span>
</li>
<li class="order-details-date">
<span class="order-details-title editable" data-key="date">Order Date</span>
<span class="order-details-text">{{ order.created_at | date: "%B %d, %Y" }}</span>
</li>
{% if order.shipping_method.title != blank %}
<li class="order-details-shipping">
<span class="order-details-title editable" data-key="order.shipping_method">Shipping</span>
<span class="order-details-text">{{ order.shipping_method.title }}</span>
</li>
{% endif %}
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 col-no-margin">
<table class="order-table table">
<thead>
<tr>
<th colspan=2 class="order-table-title editable" data-key="item">Item Description</th>
<th class="order-table-qty text-center editable" data-key="qty">Qty</th>
</tr>
</thead>
<tbody>
{% assign line_items = line_items | sort: "name" %}
<!-- Bold Product Options Snippet 1 -->
{% assign hidden_variant_ids = "" %}
{% for line_item in line_items %}
{% if line_item.properties._boldVariantIds %}
{% assign hidden_variant_ids = hidden_variant_ids | append: ',' %}
{% assign hidden_variant_ids = hidden_variant_ids | append: line_item.properties._boldVariantIds %}
{% endif %}
{% endfor %}
{% assign hidden_variant_ids = hidden_variant_ids | split: ',' %}
<!-- END Bold Product Options Snippet 1 -->
{% for line_item in line_items %}
{% if line_item.quantity < 1 or line_item.title == "Tip" or line_item.title == "Tips" %}{% continue %}{% endif %}
<!-- Bold Product Options Snippet 2 -->
{% if hidden_variant_ids contains line_item.variant_id %}{% continue %}{% endif %}
{% assign adjusted_item_price = line_item.price %}
{% assign adjusted_line_price = line_item.price | times: line_item.quantity %}
{% for line_item2 in line_items %}
{% if line_item.properties._boldVariantIds contains line_item2.variant_id %}
{% assign adjusted_item_price = adjusted_item_price | plus: line_item2.price %}
{% assign adjusted_line_option_price = line_item2.price | times: line_item.quantity %}
{% assign adjusted_line_price = adjusted_line_price | plus: adjusted_line_option_price %}
{% endif %}
{% endfor %}
<!-- END Bold Product Options Snippet 2 -->
<tr>
<td class="product-image-wrapper">{% if line_item.image != blank %}<img class="product-image" src="{{ line_item.image | img_url: 'medium' }}"/>{% endif %}</td>
<td class="line-item-description">
<p style="font-weight: 700;"><a href="https://{{ shop.domain }}/products/{{ line_item.product.handle }}" style="font-weight: 700;color: inherit;" target="_blank">
{{ line_item.title | replace: " - Default Title", "" }}</a></p>
{% if line_item.sku != blank %}
<p class="line-item-sku">{{ line_item.sku }}</p>
{% endif %}
{% for p in line_item.properties %}
{% assign p_internal = p.first | slice: 0 %}
{% unless p.first contains "builder_id" or p.first contains "builder_info" or p.first contains "master_builder" or p_internal == "_" or p.last == "" or p.last == blank %}
{% if p.last contains "cdn.shopify.com" or p.last contains "/uploads/" or p.last contains ".png?" or p.last contains ".jpg?" or p.last contains "//uploadery.s3" %}
<p class="line-item-property">{{ p.first }}:<br>
</p>
<a href="{{ p.last }}" target="_blank"><img src="{{ p.last }}" alt="{{ p.first }}" width="60" border="0" style="width: 60px; height: auto !important;"></a>
{% else %}
<p class="line-item-property">{{ p.first }}: {{ p.last | newline_to_br }}</p>
{% endif %}
{% endunless %}
{% endfor %}
{% assign refunded_quantity = 0 %}
{% for refund in refunds %}
{% for refund_line_item in refund.refund_line_items %}
{% if line_item.id == refund_line_item.line_item_id %}
{% assign refunded_quantity = refunded_quantity | plus: refund_line_item.quantity %}
{% endif %}
{% endfor %}
{% endfor %}
{% if refunded_quantity > 0 %}
<span class="line-item-refund">Refunded × {{ refunded_quantity }}</span>
{% endif %}
</td>
<td class="text-center line-item-qty">× {{ line_item.quantity }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="notes">
{% if note != blank %}
<div class="notes-title editable" data-key="order_notes">Notes</div>
{% endif %}
<div class="notes-text">
{{ note | newline_to_br }}
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 shop-block col-no-margin">
<div class="thanks-text full-editable" data-key="thanks">
<p></p>
{% if customer.orders_count <= 1 %}
<p><b>Thank you very much for your order!</b></p>
{% else %}
Thank you very much for your re-order!
{% endif %}
<p></p>
</div>
<br>
<div class="shop-address-block full-editable" data-key="shop_block">
<p><font color="#000000"></font><b><mark>ATTENTION:</mark> Since Dam Good English Muffins contain no artificial preservatives, to maintain freshness, we recommend that you store them in the freezer, where they will last up to 12 months, or in the fridge, where they will last up to one week.</b><p>Please see the back of our package for serving instructions.</p><br>
</p>
<p><br>
</p>
<p>Happy toasting,
<br>
Denise and Olivia Weale, mother daugher co-founders</p>
<p><br>
</p>
<p><b>Dam Good™ English Muffins</b></p>
<p>Peekskill, NY 10566</p>
<p>customercare@damgoodenglishmuffins.com | (914) 293-7190<br>
</p>
<p>www.damgoodenglishmuffins.com | @damgoodenglishmuffins<br>
</p>
<p><br>
</p>
</div>
<div class="shop-social">
</div>
<a href="https://{{ shop.domain }}" target="_blank">
<div class="shop-domain editable" data-key="shop_domain">
</div>
</a>
</div>
<div class="clear-fix"></div>
</div>
</div>
</div>

.
Bob_
Explorer
64 13 12

Have fixed the obvious stuff that I could see was missing but realised that having never saw one of your invoices before I didn't have a clue what it should look like 🙂 If you paste the below code into a test template and see if I've missed anything:-

 

<!-- Simplified -->
<!-- Common Base Styling -->
{% assign primary_font = "Muli"%}
{% assign primary_font_color = "#000000" %} <!-- Black text color -->
{% assign primary_font_size = "12px"%}
{% assign secondary_font = "Muli"%}
{% assign secondary_font_color = "#333333" %} <!-- Grey text color -->
{% assign theme_color = "#dddddd"%}
<script type="text/javascript">
var fHead = document.head || document.getElementsByTagName('head')[0];
{% assign font_weights = "300,400,700" | split: ',' %}
{% for font_weight in font_weights %}
var font1Id = 'font-{{ primary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font1Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font1Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ primary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% if secondary_font != blank and secondary_font != primary_font %}
var font2Id = 'font-{{ secondary_font | replace: " ", "-" }}-{{ font_weight }}';
if (!document.getElementById(font2Id)) {
var linkElement = document.createElement('link');
linkElement.setAttribute('id', font2Id)
linkElement.setAttribute('rel', 'stylesheet');
linkElement.setAttribute('type', 'text/css');
linkElement.setAttribute('href', 'https://fonts.googleapis.com/css?family={{ secondary_font | replace: " ", "+" }}:{{ font_weight }}&subset=latin-ext');
fHead.appendChild(linkElement);
};
{% endif %}
{% endfor %}
</script>
<script>
$(function () {
if (navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1) {
$("body").addClass("safari");
}
});
</script>
<style type="text/css">
/* ### BASE - PAGE SIZING AND MARGIN SETUP NORMALIZATION ACROSS BROWSERS ### */
@Page {
margin: 12mm !important;
margin-top: 12mm !important;
margin-right: 12mm !important;
margin-bottom: 12mm !important;
margin-left: 12mm !important;
}
@media print {
.safari {
padding-top: 15px;
box-sizing: border-box;
}
.printer-preview-content .printer-preview-content {
padding-left: 15px;
padding-right: 15px;
box-sizing: border-box;
}
}
@media screen {
.printer-preview-content {
padding: 18px 0;
min-height: 800px;
/* background-image: url(http://basehold.it/i/18) */
}
.printer-preview-content .printer-preview-content {
margin-right: auto;
margin-left: auto;
max-width: 680px;
}
}
@media screen,print {

/* ### BASE - TYPOGRAPHY AND REMOVAL OF STANDARD SHOPIFY STYLING ### */
.printer-preview-content .t54454 * {
color: {{ secondary_font_color }};
font-family: '{{ primary_font }}';
font-size: {{ primary_font_size }};
font-weight: 400;
line-height: 18px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
margin: 0 0 0 0;
padding: 0 0 0 0;
-webkit-print-color-adjust: exact;
overflow: visible !important;
}
.printer-preview-content .t54454 h1 {
font-size: 28px;
line-height: 36px;
}
.printer-preview-content .t54454 h2 {
font-size: 24px;
line-height: 36px;
}
.printer-preview-content .t54454 h3 {
font-size: 14px;
line-height: 18px;
}
.printer-preview-content .t54454 h1,
.printer-preview-content .t54454 h2,
.printer-preview-content .t54454 h3 {
margin-bottom: 18px;
}
.printer-preview-content .t54454 a,
.printer-preview-content .t54454 a * {
text-decoration: none !important;
}
.printer-preview-content .t54454 b,
.printer-preview-content .t54454 b * {
font-weight: bold;
}
.printer-preview-content .t54454 .text-right {
text-align: right;
}
.printer-preview-content .t54454 .text-center {
text-align: center;
}
.printer-preview-content .t54454 .no-wrap {
white-space: nowrap;
}

/* ### BASE - GRID AND RE-USABLE LAYOUT COMPONENTS ### */
.printer-preview-content .t54454 .row {
width: 100%;
display: block;
clear: both;
}
.printer-preview-content .t54454 .row:after {
content: "";
display: table;
clear: both;
}
.printer-preview-content .t54454 .col-xs-1,
.printer-preview-content .t54454 .col-xs-2,
.printer-preview-content .t54454 .col-xs-3,
.printer-preview-content .t54454 .col-xs-4,
.printer-preview-content .t54454 .col-xs-5,
.printer-preview-content .t54454 .col-xs-6,
.printer-preview-content .t54454 .col-xs-7,
.printer-preview-content .t54454 .col-xs-8,
.printer-preview-content .t54454 .col-xs-9,
.printer-preview-content .t54454 .col-xs-10,
.printer-preview-content .t54454 .col-xs-11,
.printer-preview-content .t54454 .col-xs-12 {
float: left;
min-height: 1px;
margin-bottom: 36px;
}
.printer-preview-content .t54454 .col-xs-12 {
width: 100%;
}
.printer-preview-content .t54454 .col-xs-11 {
width: 91.66666667%;
}
.printer-preview-content .t54454 .col-xs-10 {
width: 83.33333333%;
}
.printer-preview-content .t54454 .col-xs-9 {
width: 75%;
}
.printer-preview-content .t54454 .col-xs-8 {
width: 66.66666667%;
}
.printer-preview-content .t54454 .col-xs-7 {
width: 58.33333333%;
}
.printer-preview-content .t54454 .col-xs-6 {
width: 50%;
}
.printer-preview-content .t54454 .col-xs-5 {
width: 41.66666667%;
}
.printer-preview-content .t54454 .col-xs-4 {
width: 33.33333333%;
}
.printer-preview-content .t54454 .col-xs-3 {
width: 25%;
}
.printer-preview-content .t54454 .col-xs-2 {
width: 16.66666667%;
}
.printer-preview-content .t54454 .col-xs-1 {
width: 8.33333333%;
}
.printer-preview-content .t54454 .col-no-margin {
margin-bottom: 0 !important;
}
.printer-preview-content .t54454 .clear-fix::after {
content: "";
clear: both;
display: table;
}
.printer-preview-content .t54454 .half-margin-top {
margin-top: 9px !important;
}
.printer-preview-content .t54454 .half-margin-bottom {
margin-bottom: 9px !important;
}
.printer-preview-content .t54454 .margin-bottom {
margin-bottom: 18px !important;
margin-top: 1px;
}
.printer-preview-content .t54454 .margin-top {
margin-top: 18px !important;
}
.printer-preview-content .t54454 .double-margin-top {
margin-top: 36px !important;
}
.printer-preview-content .t54454 .double-margin-bottom {
margin-bottom: 36px !important;
}

.printer-preview-content .t54454 .strikethrough {
text-decoration: line-through !important;
}

.printer-preview-content .t54454 .break {
word-break: break-all !important;
}

/* ### BASE - TABLE STYLING ### */
.printer-preview-content .t54454 table,
.printer-preview-content .t54454 .table {
width: 100%;
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
}
.printer-preview-content .t54454 table thead {
display: table-row-group;
}
.printer-preview-content .t54454 table tbody tr {
page-break-inside:avoid !important;
page-break-after:auto !important;
}
.printer-preview-content .t54454 table tbody tr td {
page-break-inside:avoid !important;
}
.printer-preview-content .t54454 th {
white-space: nowrap;
text-align: left;
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 td {
vertical-align: middle;
border-top: 0;
border-bottom: 0;
}
.printer-preview-content .t54454 .order-table tbody > tr td {
background-color: #FFFFFF;
}
.printer-preview-content .t54454 .pricing-table {
position: relative;
top: 1px;
}
.printer-preview-content .t54454 .pricing-table tbody > tr > td {
background-color: #FFFFFF;
}
/* .printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title {
word-break: break-all;
}*/
.printer-preview-content .t54454 th.order-table-qty {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-price {
width: 10%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 17%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .pricing-table-text {
text-align: right;
white-space: nowrap;
}

/* ### BASE - PRODUCT IMAGE SIZING TO RETAIN LINE HEIGHT RYTHM) ### */
.printer-preview-content .t54454 .product-image-wrapper {
width: 108px;
max-height: 108px;
}
.printer-preview-content .t54454 .product-image {
padding: 0 4px;
page-break-inside:avoid !important;
max-width: 108px;
}

/* ### BASE - LISTS RESET ### */
.printer-preview-content .t54454 ul {
list-style: none;
}
.printer-preview-content .t54454 li {
color: {{ secondary_font_color }};
list-style: none;
}

/* ### BASE - LOGO ### */
.printer-preview-content .t54454 .logo-wrapper {
display: inline-block;
width: 100%;
padding-bottom: 9px;
}
.printer-preview-content .t54454 .logo {
float: left;
padding-right: 15px;
max-width: 31%;
max-height: 76.88px;
}

/* ### BASE - BARCODE ### */
.printer-preview-content .t54454 .order-number-barcode,
.printer-preview-content .t54454 .product-barcode {
display: block;
}

/* ### BASE - ADDITONAL COMMON SHARED TYPOGRAPHY AND ALIGNMENT ### */
.printer-preview-content .t54454 .address {
margin-right: 5%;
}
.printer-preview-content .t54454 .col-xs-8 .notes,
.printer-preview-content .t54454 .col-xs-6 .notes {
margin-right: 20%;
}
.printer-preview-content .t54454 .notes-title,
.printer-preview-content .t54454 .return-codes {
margin: 9px 0;
}
/* ### BASE - HORIZONTAL RULE MARKS ### */
.printer-preview-content .t54454 hr {
background: {{ theme_color }};
border-top: 0;
border: 0;
height: 2px;
width: 100%;
margin-bottom: -2px;
}

}
</style>
<!-- Template Specific Styling -->
<style type="text/css">
@media screen,print {

/* ### DESIGN SPECIFIC - TYPOGRAPHY ### */
.printer-preview-content .t54454 h1 {
font-family: '{{ secondary_font }}';
font-weight: 400;
margin-bottom: 0px !important;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 h2 {
font-family: '{{ secondary_font }}';
}
.printer-preview-content .t54454 h3 {
font-family: '{{ secondary_font }}';
color: {{ theme_color }};
}
.printer-preview-content .t54454 .logo-wrapper {
margin: 0 0;
padding: 0 !important;
}
.printer-preview-content .t54454 .logo {
margin: 0 0;
padding: 0 !important;
}
/* ### DESIGN SPECIFIC - LOGO POSITIONING ### */
.printer-preview-content .t54454 .logo {
float: none;
display: block;
margin: 0 auto;
}

/* ### DESIGN SPECIFIC - STORE DETAILS ### */
.printer-preview-content .t54454 .shop-block {
text-align: center;
}
.printer-preview-content .t54454 .shop-domain {
font-weight: normal;
color: {{ primary_font_color }};
}

.printer-preview-content .t54454 .shop-address-name {
display: block;
font-size: 16px;
font-weight: 700;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .shop-address-block b {
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - ORDER DETAILS ### */
.printer-preview-content .t54454 .order-details-title {
display: inline-block;
width: 40%;
}
.printer-preview-content .t54454 .order-details .order-details-date {
display: none;
}
.printer-preview-content .t54454 .order-details li:first-of-type * {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .order-details li:not(:first-of-type) * {
font-weight: normal;
}

/* ### DESIGN SPECIFIC - BILL TO AND SHIP TO ADDRESS ### */
.printer-preview-content .t54454 .address-title {
font-weight: 700;
/* text-transform: uppercase;
*/ padding-bottom:9px;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - TABLE HEADER ### */
.printer-preview-content .t54454 .order-table thead tr th {
padding-left: 0px;
padding-right: 0px;
padding-top: 9px;
padding-bottom:4px;
font-weight: 700;
vertical-align: bottom;
color: {{ primary_font_color }};
border-bottom: 2px solid {{ theme_color }};
/* text-transform: uppercase;
*/ }
/* ### DESIGN SPECIFIC - TABLE BODY (SHARED) ### */
.printer-preview-content .t54454 .order-table tbody tr td,
.printer-preview-content .t54454 .pricing-table tbody tr td {
padding-left: 0px;
padding-right: 0px;
border-top: 0;
padding-top: 6px;
padding-bottom:5px;
border-bottom: 1px solid #f3f3f3;
}
/* ### DESIGN SPECIFIC - ORDER TABLE SPECIFIC ### */
.printer-preview-content .t54454 .order-table thead tr th.order-table-title {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 th.order-table-qty,
.printer-preview-content .t54454 th.order-table-price,
.printer-preview-content .t54454 th.order-table-item-total {
width: 14%;
}
.printer-preview-content .t54454 th.order-table-item-total,
.printer-preview-content .t54454 th.order-table-reason {
width: 20%;
}
.printer-preview-content .t54454 th.order-table-return-comments {
width: 30%;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description {
color: {{ primary_font_color }};
font-weight: 700;
}
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type,
.printer-preview-content .t54454 .order-table tbody > tr > td:last-of-type * {

}
.printer-preview-content .t54454 .order-table .product-image-wrapper {
padding-right: 8px;
}
.printer-preview-content .t54454 .order-table tbody > tr > td.line-item-description span.line-item-refund {
display: inline-block;
padding: 2px 8px;
margin-top: 4px;
background-color: #FFEA8A;
border-radius: 18px;
}

/* ### DESIGN SPECIFIC - PRICING TABLE SPECIFIC ### */
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-title span {
/* text-transform: uppercase;
*/ }
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text,
.printer-preview-content .t54454 .pricing-table tbody > tr > td.pricing-table-text * {

}
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-title,
.printer-preview-content .t54454 .pricing-table tbody > tr.pricing-table-total-row .pricing-table-text {
color: {{ primary_font_color }};
font-weight: 700;
border-bottom: 2px solid {{ theme_color }};
}

/* ### DESIGN SPECIFIC - ORDER NOTES ### */
.printer-preview-content .t54454 .notes-title {
font-weight: 700;
/* text-transform: uppercase;
*/ color: {{ primary_font_color }};
}
.printer-preview-content .t54454 .notes-text {
margin-bottom: 18px;
}

/* ### DESIGN SPECIFIC - RETURN FORM REASON CODES ### */
.printer-preview-content .t54454 .return-codes b,
.printer-preview-content .t54454 .return-code b * {
margin-bottom: 18px;
font-weight: 700;
color: {{ primary_font_color }};
}

/* ### DESIGN SPECIFIC - THANK YOU MESSAGE ### */


/* ### DESIGN SPECIFIC - GIFT MESSAGE ### */
.printer-preview-content .t54454 .gift-text {
font-weight: 700;
padding-top:18px;
padding-bottom:18px;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text * {
font-weight: 700;
font-size: 13px;
}
.printer-preview-content .t54454 .gift-text svg {
padding-bottom:9px;
}

/* ### DESIGN SPECIFIC - TERMS AND CONDITIONS ### */
.printer-preview-content .t54454 .terms-text {
font-size: 10px;
}
.printer-preview-content .t54454 .terms-text * {
font-size: 10px;
}

/* ### DESIGN SPECIFIC - SOCIAL ICONS ### */
.printer-preview-content .t54454 .social-icons {
display: inline;
width: 18px;
margin: 9px 2%;
}


}
</style>
<div class="printer-preview-content" contenteditable="true" spellcheck="false" title="Click to edit text (changes will be printed but not saved)">
<div class="t54454">
<div class="row">
<div id="header-row">
<div class="col-xs-12 margin-bottom">
<div class="logo-wrapper">
<a href="https://{{ shop.domain }}" target="_blank">
<img class="logo" alt="Logo" src="https://cdn.filestackcontent.com/api/file/ltvBvTTeW9BP7Ov2dpUQ" />
</a>
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div style="border-bottom: 2px solid {{ theme_color }}">
<div class="col-xs-8 col-no-margin">
<div class="template-title">
<h1 class="editable" data-key="template_type_name">Packing Slip</h1>
</div>
</div>
<div class="col-xs-4 col-no-margin">
<ul style="padding-top: 10px;">
<li>
<span class="order-details-text">{{ date | date: "%B %d, %Y" }}</span>
</li>
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-4 margin-top margin-bottom">
<div class="address-title bill-to-title editable" data-key="bill_to">Bill to</div>
<ul class="address">
{% assign order.billing_address = order.billing_address | default: customer.default_address %}
{% if order.billing_address and order.billing_address != blank %}
<li>{{ order.billing_address.name }}</li>
{% if order.billing_address.company != blank %}
<li>{{ order.billing_address.company }}</li>
{% endif %}
<li>{{ order.billing_address.address1 }}</li>
{% if order.billing_address.address2 != blank %}
<li>{{ order.billing_address.address2 }}</li>
{% endif %}
<li>{{ order.billing_address.city }}, {% if order.billing_address.province_code != blank %}{{ order.billing_address.province_code }}{% else %}{{ order.billing_address.province }}{% endif %} {{ order.billing_address.zip | upcase }}</li>
{% if shop.country != order.billing_address.country %}
<li>{{ order.billing_address.country }}</li>
{% endif %}
{% elsif customer != blank %}
{% if customer.name != blank %}
<li>{{ customer.name }}</li>
{% endif %}
{% if customer.email != blank %}
<li>{{ customer.email }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
{% if order.shipping_address != "" and order.shipping_address != nil %}
<div class="address-title ship-to-title editable" data-key="ship_to">Ship to</div>
{% endif %}
<ul class="address">
{% if order.shipping_address and order.shipping_address != blank %}
<li>{{ order.shipping_address.name }}</li>
{% if order.shipping_address.company != blank %}
<li>{{ order.shipping_address.company }}</li>
{% endif %}
<li>{{ order.shipping_address.address1 }}</li>
{% if order.shipping_address.address2 != blank %}
<li>{{ order.shipping_address.address2 }}</li>
{% endif %}
<li>{{ order.shipping_address.city }}, {% if order.shipping_address.province_code != blank %}{{ order.shipping_address.province_code }}{% else %}{{ order.shipping_address.province }}{% endif %} {{ order.shipping_address.zip | upcase }}</li>
{% if shop.country != order.shipping_address.country %}
<li>{{ order.shipping_address.country }}</li>
{% endif %}
{% endif %}
</ul>
</div>
<div class="col-xs-4 margin-top margin-bottom">
<ul class="order-details">
<li class="order-details-name">
<span class="order-details-title editable" data-key="order">Order</span>
<span class="order-details-text">{{ order.order_name }}</span>
</li>
<li class="order-details-date">
<span class="order-details-title editable" data-key="date">Order Date</span>
<span class="order-details-text">{{ order.created_at | date: "%B %d, %Y" }}</span>
</li>
{% if order.shipping_method.title != blank %}
<li class="order-details-shipping">
<span class="order-details-title editable" data-key="order.shipping_method">Shipping</span>
<span class="order-details-text">{{ order.shipping_method.title }}</span>
</li>
{% endif %}
</ul>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 col-no-margin">
<table class="order-table table">
<thead>
<tr>
<th colspan=2 class="order-table-title editable" data-key="item">Item Description</th>
<th class="order-table-qty text-center editable" data-key="qty">Qty</th>
</tr>
</thead>
<tbody>
{% assign line_items = line_items | sort: "name" %}
<!-- Bold Product Options Snippet 1 -->
{% assign hidden_variant_ids = "" %}
{% for line_item in line_items %}
{% if line_item.properties._boldVariantIds %}
{% assign hidden_variant_ids = hidden_variant_ids | append: ',' %}
{% assign hidden_variant_ids = hidden_variant_ids | append: line_item.properties._boldVariantIds %}
{% endif %}
{% endfor %}
{% assign hidden_variant_ids = hidden_variant_ids | split: ',' %}
<!-- END Bold Product Options Snippet 1 -->
{% for line_item in line_items %}
{% if line_item.quantity < 1 or line_item.title == "Tip" or line_item.title == "Tips" %}{% continue %}{% endif %}
<!-- Bold Product Options Snippet 2 -->
{% if hidden_variant_ids contains line_item.variant_id %}{% continue %}{% endif %}
{% assign adjusted_item_price = line_item.price %}
{% assign adjusted_line_price = line_item.price | times: line_item.quantity %}
{% for line_item2 in line_items %}
{% if line_item.properties._boldVariantIds contains line_item2.variant_id %}
{% assign adjusted_item_price = adjusted_item_price | plus: line_item2.price %}
{% assign adjusted_line_option_price = line_item2.price | times: line_item.quantity %}
{% assign adjusted_line_price = adjusted_line_price | plus: adjusted_line_option_price %}
{% endif %}
{% endfor %}
<!-- END Bold Product Options Snippet 2 -->
<tr>
<td class="product-image-wrapper">{% if line_item.image != blank %}<img class="product-image" src="{{ line_item.image | img_url: 'medium' }}"/>{% endif %}</td>
<td class="line-item-description">
<p style="font-weight: 700;"><a href="https://{{ shop.domain }}/products/{{ line_item.product.handle }}" style="font-weight: 700;color: inherit;" target="_blank">
{{ line_item.title | replace: " - Default Title", "" }}</a></p>
{% if line_item.sku != blank %}
<p class="line-item-sku">{{ line_item.sku }}</p>
{% endif %}
{% for p in line_item.properties %}
{% assign p_internal = p.first | slice: 0 %}
{% unless p.first contains "builder_id" or p.first contains "builder_info" or p.first contains "master_builder" or p_internal == "_" or p.last == "" or p.last == blank %}
{% if p.last contains "cdn.shopify.com" or p.last contains "/uploads/" or p.last contains ".png?" or p.last contains ".jpg?" or p.last contains "//uploadery.s3" %}
<p class="line-item-property">{{ p.first }}:<br>
</p>
<a href="{{ p.last }}" target="_blank"><img src="{{ p.last }}" alt="{{ p.first }}" width="60" border="0" style="width: 60px; height: auto !important;"></a>
{% else %}
<p class="line-item-property">{{ p.first }}: {{ p.last | newline_to_br }}</p>
{% endif %}
{% endunless %}
{% endfor %}
{% assign refunded_quantity = 0 %}
{% for refund in refunds %}
{% for refund_line_item in refund.refund_line_items %}
{% if line_item.id == refund_line_item.line_item_id %}
{% assign refunded_quantity = refunded_quantity | plus: refund_line_item.quantity %}
{% endif %}
{% endfor %}
{% endfor %}
{% if refunded_quantity > 0 %}
<span class="line-item-refund">Refunded × {{ refunded_quantity }}</span>
{% endif %}
</td>
<td class="text-center line-item-qty">× {{ line_item.quantity }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="notes">
{% if note != blank %}
<div class="notes-title editable" data-key="order_notes">Notes</div>
{% endif %}
<div class="notes-text">
{{ note | newline_to_br }}
</div>
</div>
</div>
<div class="clear-fix"></div>
</div>
<div class="row">
<div class="col-xs-12 shop-block col-no-margin">
<div class="thanks-text full-editable" data-key="thanks">
<p></p>
{% if customer.orders_count <= 1 %}
<p><b>Thank you very much for your order!</b></p>
{% else %}
Thank you very much for your re-order!
{% endif %}
<p></p>
</div>
<br>
<div class="shop-address-block full-editable" data-key="shop_block">
<p><font color="#000000"></font><b><mark>ATTENTION:</mark> Since Dam Good English Muffins contain no artificial preservatives, to maintain freshness, we recommend that you store them in the freezer, where they will last up to 12 months, or in the fridge, where they will last up to one week.</b><p>Please see the back of our package for serving instructions.</p><br>
</p>
<p><br>
</p>
<p>Happy toasting,
<br>
Denise and Olivia Weale, mother daugher co-founders</p>
<p><br>
</p>
<p><b>Dam Good™ English Muffins</b></p>
<p>Peekskill, NY 10566</p>
<p>customercare@damgoodenglishmuffins.com | (914) 293-7190<br>
</p>
<p>www.damgoodenglishmuffins.com | @damgoodenglishmuffins<br>
</p>
<p><br>
</p>
</div>
<div class="shop-social">
</div>
<a href="https://{{ shop.domain }}" target="_blank">
<div class="shop-domain editable" data-key="shop_domain">
</div>
</a>
</div>
<div class="clear-fix"></div>
</div>
</div>
</div>

.
Bob_
Explorer
64 13 12

Have replied twice to this with code for you to test and neither of them appears to save so have sent it to the customercare email addy at the bottom of the code.

 

Have fixed what seemed to be missing to me but quickly realised having never saw one of your invoices I wasn't 100% certain what it should look like. Copy the text from the file on the email into a test template and see if I've missed anything 🙂 

 

.

Stacy_Zhuk
Shopify Partner
464 21 65

Hello @DamGood,

 

Have you contacted Shopify support regarding that?

 

My team will be glad to help you.
Please, get in touch if you need any assistance.

 

Best regards,
Anastasia 

Co-founder at Whidegroup, e-commerce development company from Ukraine
- 10+ years of experience with SMBs
- Deep expertise in custom development & optimization
E-mail: anastasia@whidegroup.com
DamGood
Tourist
5 0 4
Yes and they told me they couldn't help me and that I needed to post my
question to the community.
Stacy_Zhuk
Shopify Partner
464 21 65

Hello @DamGood,

 

You need a Shopify expert to take a look at your template and the issues you are facing.

 

Thanks,
Anastasia 

Co-founder at Whidegroup, e-commerce development company from Ukraine
- 10+ years of experience with SMBs
- Deep expertise in custom development & optimization
E-mail: anastasia@whidegroup.com
DamGood
Tourist
5 0 4
Yes, I do, however when I chatted with one they told me they couldn't help
me and directed me to posting in the community.

JuneN
Shopify Partner
122 5 36

Hi @DamGood,

 

Using Shopify Order Printer may have some limitations. In this case, you might consider using a third-party app for printing and downloading documents. With these plugins, you can sync orders from Shopify, customize, and choose to display each element as you want, such as shipping method, date, order number, and ship-to address. There might be a small charge, around $6 per month, for downloading unlimited orders and accessing advanced features. If you are just starting or your business is still small, a free plan may work fine for you. If you're interested, you can check out our invoice app: https://bit.ly/FordeerInvoiceGenerator 

 

 

JuneN_0-1716371064740.png

 

If you find my suggestion helpful, please give it a like or mark it as a solution!
And discover more approaches to:
Streamline invoicing process Boost sales with labels & badges Add social proofs & create FOMO
Or get valuable updates and private deals regarding Shopify here.