App reviews, troubleshooting, and recommendations
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.
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
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.
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>
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>
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>
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 🙂
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
Hello @DamGood,
You need a Shopify expert to take a look at your template and the issues you are facing.
Thanks,
Anastasia
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
Learn how to build powerful custom workflows in Shopify Flow with expert guidance from ...
By Jacqui May 7, 2025Did You Know? May is named after Maia, the Roman goddess of growth and flourishing! ...
By JasonH May 2, 2025Discover opportunities to improve SEO with new guidance available from Shopify’s growth...
By Jacqui May 1, 2025