Crear y editar plantillas con Shopify Order Printer

Puedes crear y editar plantillas con la app Shopify Order Printer desde el panel de control de Shopify. De forma predeterminada, la app Shopify Order Printer incluye las siguientes plantillas:

  • Factura: Una factura que puedes enviar a un cliente
  • Nota de entrega: Un impreso con la dirección de la tienda y la dirección de envío del cliente.
  • Lista de picking: Un documento que incluye una lista de artículos que se deben recoger para preparar el pedido del cliente.

Puedes usar Liquid para crear tus propias plantillas personalizadas para otros packaging inserts, como cupones, etiquetas o recibos. La app Shopify Order Printer admite plantillas hechas con HTML, CSS y variables de Liquid.

Consideraciones para crear plantillas en la app Shopify Order Printer

Revisa las siguientes consideraciones antes de crear plantillas en la app Shopify Order Printer:

  • Para crear o editar plantillas en la app Shopify Order Printer, necesitas tener conocimientos de HTML, CSS y Liquid. Atención al cliente para temas de Shopify podría ayudarte con ajustes menores en los temas gratuitos de Shopify dentro del alcance de la Política de diseño de Shopify. Si necesitas cambios más complejos o usas un tema que no fue creado por Shopify, considera contratar a un Shopify Partner.
  • Puedes crear hasta 15 plantillas diferentes.
  • Revisa la Liquid variables and filters reference for Shopify Order Printer para ver todas las personalizaciones de plantillas compatibles.

Crear una plantilla

Puedes crear una plantilla nueva para el documento del pedido.

Para configurar una plantilla de lista de picking, consulta la Setting up and printing pick lists using the Shopify Order Printer app.

Pasos:

  1. Desde el panel de control de Shopify, ve a Aplicaciones > Order Printer.

  2. Haz clic en Plantillas.

  3. Haz clic en Crear una plantilla.

  4. En el campo Nombre, ingresa un nombre para la plantilla, como etiqueta o cupón.

  5. En la sección Editar código, agrega código HTML, CSS o Liquid para crear la plantilla.

  6. Opcional: para previsualizar la plantilla, haz clic en Vista previa.

  7. Haz clic en Guardar.

Editar una plantilla

Puedes editar una plantilla existente. Obtén más información sobre customizing Order Printer templates.

Pasos:

  1. Desde el panel de control de Shopify, ve a Aplicaciones > Order Printer.

  2. Haz clic en Plantillas.

  3. Haz clic en la plantilla que quieres editar.

  4. En la sección Editar código, agrega o edita código HTML, CSS o Liquid.

  5. Opcional: para previsualizar la plantilla, haz clic en Vista previa.

  6. Haz clic en Guardar.

Restaurar la plantilla predeterminada

Puedes restaurar las plantillas integradas de nota de entrega y factura a sus valores predeterminados. Usa los siguientes bloques de código para restaurar las plantillas a los valores predeterminados.

Plantilla predeterminada de factura

Versión del 6 de junio de 2024.

<div>
  <div class="columns">
    <h1>Invoice</h1>
    <div>
      <p style="text-align: right; margin: 0;">
      Order {{ order.order_name }}<br />
      {% if order.po_number %}PO # {{ order.po_number }}<br />{% endif %}
      {{ order.created_at | date: "%B %e, %Y" }}
    </p>
  </div>
</div>
<div class="columns" style="margin-top: 1.5em;">
  <div class="address">
    <strong>From</strong><br/>
    {{ shop.name }}<br/>
    {{ shop.address | format_address }}
    {% if shop.phone %}{{ shop.phone }}{% endif %}
  </div>
  {% if order.billing_address %}
  <div class="address">
    <strong>Bill to</strong>
    {{ order.billing_address | format_address  }}
  </div>
  {% endif %}
  {% if order.shipping_address %}
  <div class="address">
    <strong>Ship to</strong>
    {{ order.shipping_address | format_address  }}
    {% if order.shipping_address.phone %}{{ order.shipping_address.phone }}{% endif %}
  </div>
  {% endif %}
</div>
<hr />
<h2>Order Details</h2>
<table class="table-tabular" style="margin: 1em 0 0 0;">
  <thead>
    <tr>
      <th scope="col">Qty</th>
      <th scope="col">Item</th>
      <th scope="col" style="text-align: right;">Price</th>
    </tr>
  </thead>
  <tbody>
    {% for line_item in order.line_items %}
      <tr>
        <td scope="row">{{ line_item.quantity }}</td>
        <td>{{ line_item.title }}
        {% if line_item.line_level_discount_allocations.size > 0 %}
          <span class="subduedText">
            {% for discount_allocation in line_item.line_level_discount_allocations %}
            <br>{{ discount_allocation.discount_application.title }} (-{{ discount_allocation.amount | money }})
            {% endfor %}
          </span>
        {% endif %}
        </td>
        <td style="text-align: right;">
          {% if line_item.original_price != line_item.final_price %}
            <span class="subduedText"><s>{{ line_item.original_price | money }}</s></span>
          {% endif %}
          {{ line_item.final_price | money }}
        </td>
      </tr>
    {% endfor %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">Subtotal</td>
      <td style="text-align: right;">{{ order.line_items_subtotal_price | money }}</td>
    </tr>
    {% for discount_application in order.cart_level_discount_applications %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">{% if discount_application.title %}<span class="subduedText">{{ discount_application.title }}</span>{% endif %}</td>
      <td style="text-align: right;">-{{ discount_application.total_allocated_amount | money }}</td>
    </tr>
    {% endfor %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;">Tax</td>
      <td style="text-align: right;">{{ order.tax_price | money }}</td>
    </tr>
    {% if order.shipping_address %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Shipping</td>
        <td style="text-align: right;">{{ order.shipping_price | money }}</td>
      </tr>
    {% endif %}
    <tr>
      <td scope="row" colspan="2" style="text-align: right;"><strong>Total</strong></td>
      <td style="text-align: right;"><strong>{{ order.total_price | money }}</strong></td>
    </tr>
    {% if order.net_payment != order.total_net_amount %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Total Paid</td>
        <td style="text-align: right;">{{ order.net_payment | money }}</td>
      </tr>
    {% endif %}
    {% if order.total_refunded_amount > 0 %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;">Total Refunded</td>
        <td style="text-align: right;">-{{ order.total_refunded_amount | money }}</td>
      </tr>
    {% endif %}
    {% if order.net_payment != order.total_net_amount %}
      <tr>
        <td scope="row" colspan="2" style="text-align: right;"><strong>Outstanding Amount</strong></td>
        <td style="text-align: right;"><strong>{{ order.total_price | minus: order.net_payment | money }}</strong></td>
      </tr>
    {% endif %}
  </tbody>
</table>
{% if transactions.size > 1 %}
  <h2>Transaction Details</h2>
  <table class="table-tabular" style="margin: 0 0 1.5em 0;">
    <thead>
      <tr>
        <th scope="col">Type</th>
        <th scope="col">Amount</th>
        <th scope="col">Kind</th>
        <th scope="col">Status</th>
      </tr>
    </thead>
    <tbody>
      {% for transaction in transactions %}
        <tr>
          <td scope="row">{{ transaction.gateway | payment_method }}</td>
          <td>{{ transaction.amount | money }}</td>
          <td>{{ transaction.kind }}</td>
          <td>{{ transaction.status }}</td>
        </tr>
      {% endfor %}
    </tbody>
  </table>
{% endif %}
{% if order.note %}
<h2>Note</h2>
<p>{{ order.note }}</p>
{% endif %}
<p style="margin-bottom: 0;">If you have any questions, please send an email to <u>{{ shop.email }}</u></p>
</div>

Plantilla predeterminada de nota de entrega

Versión del 6 de junio de 2024.

<div>
<div class="columns">
  <h1>Packing Slip</h1>
  <div class="address">
    <p style="text-align: right; margin: 0;">
    Order {{ order.order_name }}<br />
    {% if order.po_number %}PO # {{ order.po_number }}<br />{% endif %}
    {{ order.created_at | date: "%B %e, %Y" }}
    </p>
  </div>
</div>
<div class="columns" style="margin-top: 1.5em;">
  <div class="address">
    <strong>From</strong><br/>
    {{ shop.name }}<br/>
    {{ shop.address | format_address }}
  </div>
  {% if order.shipping_address %}
  <div class="address">
    <strong>Ship to</strong>
    {{ order.shipping_address | format_address  }}
   </div>
  {% endif %}
</div>
<hr />
<h2>Order Details</h2>
<table class="table-tabular" style="margin: 1em 0 0 0;">
  <thead>
    <tr>
      <th scope="col" style="width: 15%; text-align: left;">Qty</th>
      <th scope="col" style="width: 85%; text-align: left;">Item</th>
    </tr>
  </thead>
  <tbody>
    {% for line_item in order.line_items %}
    <tr>
      <td scope="row" style="text-align: left;">{{ line_item.quantity }}</td>
      <td style="text-align: left;">{{ line_item.title }}</td>
    </tr>
    {% endfor %}
  </tbody>
</table>
</div>