De e-mailmelding voor POS- en mobiele bonnen updaten voor het afronden van contant geld

Als je winkel aangepaste meldingstemplates gebruikt, moet je mogelijk de e-mailmelding voor de POS- en mobiele bon handmatig updaten om ervoor te zorgen dat het afronden van contant geld op de bon wordt weergegeven.

Voor deze wijzigingen is kennis van de code vereist die wordt gebruikt in de meldingstemplates van Shopify. Als je templates sterk zijn aangepast en je niet zeker weet hoe je de benodigde wijzigingen moet toepassen, neem dan contact op met de ontwikkelaar die de wijzigingen heeft aangebracht of klik op Terug naar standaard om je template naar de oorspronkelijke staat te herstellen. Wanneer je terugkeert naar de standaardinstelling, worden al je aanpassingen verwijderd, maar de standaardtemplate zorgt ervoor dat je de meest recente templateversie hebt.

De e-mailmelding voor POS- en mobiele bonnen updaten

Je kunt de melding POS- en mobiele bon updaten om het netto-afrondingsbedrag voor contant geld van betalings- en terugbetalingstransacties weer te geven, samen met het afgeronde totaalbedrag op de bon.

Stappen:

  1. Ga in je Shopify-beheercentrum naar Instellingen > Meldingen.

  2. Klik op Klantmeldingen.

  3. Klik in de sectie Point of Sale op POS- en mobiele bon.

  4. Klik op Code bewerken.

  5. Voeg logica toe om het netto-afrondingsbedrag voor contant geld te berekenen (net_transaction_amount_rounding).

    1. Zoek de eerste coderegel {% assign transaction_size = 0 %}.
    2. Vervang het bestaande codeblok door het volgende codeblok:
{% assign transaction_size = 0 %}
      {% assign transaction_amount = 0 %}
      {% assign net_transaction_amount_rounding = 0 %}
      {% assign authorized_amount = 0 %}
      {% assign has_refunds = false %}
      {% assign shopify_pay_captured = false %}
      {% assign shop_cash_offers_captured = false %}
      {% for transaction in transactions %}
        {% if transaction.status == "success" %}
          {% if transaction.kind == "sale" or transaction.kind == "capture"  %}
              {% if transaction.payment_details.credit_card_company %}
                {% assign shopify_pay_captured = true %}
              {% endif %}
              {% if transaction.gateway == "shop_cash" or transaction.gateway == "shop_offer" %}
                {% assign shop_cash_offers_captured = true %}
              {% endif %}
              {% assign transaction_size = transaction_size | plus: 1 %}
              {% assign transaction_amount = transaction_amount | plus: transaction.amount %}
              {% if transaction.amount_rounding != nil %}
                {% assign net_transaction_amount_rounding = net_transaction_amount_rounding | plus: transaction.amount_rounding %}
              {% endif %}
          {% elsif transaction.kind == "refund" or transaction.kind == "change" %}
            {% assign transaction_size = transaction_size | plus: 1 %}
            {% assign transaction_amount = transaction_amount | minus: transaction.amount %}
            {% assign has_refunds = true %}
            {% if transaction.amount_rounding != nil %}
              {% assign net_transaction_amount_rounding = net_transaction_amount_rounding | minus: transaction.amount_rounding %}
            {% endif %}
          {% elsif transaction.kind == "authorization" %}
            {% assign authorized_amount = authorized_amount | plus: transaction.amount %}
          {% endif %}
        {% endif %}
      {% endfor %}

      {% # Add shop cash/offer transactions to totals if shopify pay is captured and shop cash/offer is not captured yet %}
      {% if shopify_pay_captured == true and shop_cash_offers_captured == false %}
        {% for transaction in transactions %}
        {% if transaction.status == "success" %}
          {% if transaction.kind == "authorization" and transaction.gateway == "shop_cash" or transaction.gateway == "shop_offer" %}
              {% assign transaction_size = transaction_size | plus: 1 %}
              {% assign transaction_amount = transaction_amount | plus: transaction.amount %}
              {% if transaction.amount_rounding != nil %}
                {% assign net_transaction_amount_rounding = net_transaction_amount_rounding | plus: transaction.amount_rounding %}
              {% endif %}
          {% endif %}
        {% endif %}
      {% endfor %}
      {% endif %}
  1. De totale aanpassing voor het afronden van contant geld en het afgeronde bedrag op de bon weergeven.
    1. Zoek de coderegel <table class="row subtotal-table subtotal-table--total">.
    2. Vervang het bestaande codeblok door het volgende codeblok, dat de waarden in net_transaction_amount_rounding en amount_rounding gebruikt om de afgeronde bedragen te berekenen.
<table class="row subtotal-table subtotal-table--total">
  {% if payment_terms and payment_terms.automatic_capture_at_fulfillment == false or b2b? %}
    {% assign next_payment = payment_terms.next_payment %}
    {% assign due_at_date = next_payment.due_at | date: "%b %d, %Y" %}
    {% if net_transaction_amount_rounding != 0 %}

      <tr class="subtotal-line">
        <td class="subtotal-line__title">
          <p> <span>Total</span></p>
        </td>
        <td class="subtotal-line__value">
        <strong>{{ total_price | money_with_currency }}</strong>
        </td>
      </tr>

      {% if total_discounts > 0 %}
        <tr class="subtotal-line">
          <td></td>
          <td class="subtotal-line__value total-discount">
            You saved <span class="total-discount--amount">{{ total_discounts | money }}</span>
          </td>
        </tr>
      {% endif %}
      <tr><td colspan="2" class="subtotal-table__line"></td></tr>
      <div class="subtotal-line__value-small">
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p> <span>Cash rounding</span> </p>
          </td>
          <td class="subtotal-line__value">
            <strong>{% if net_transaction_amount_rounding < 0 %}-{% endif %} {{ net_transaction_amount_rounding | abs | money }}</strong>
          </td>
        </tr>
      </div>
      <tr><td colspan="2" class="subtotal-table__line"></td></tr>
    {% endif %}

    <tr class="subtotal-line">
      <td class="subtotal-line__title">
        <p><span>Total paid today</span></p>
      </td>
      <td class="subtotal-line__value">
        <strong>{{ transaction_amount | plus: net_transaction_amount_rounding | money_with_currency }}</strong>
      </td>
    </tr>

    <div class="payment-terms">
      {% assign next_amount_due = total_price %}
      {% if next_payment %}
        {% assign next_amount_due = next_payment.amount_due %}
      {% endif %}

      {% if payment_terms.type == 'receipt' %}
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p><span>Total due on receipt</span></p>
          </td>
          <td class="subtotal-line__value">
            <strong>{{ next_amount_due | money_with_currency }}</strong>
          </td>
        </tr>
      {% elsif payment_terms.type == 'fulfillment' %}
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p><span>Total due on fulfillment</span></p>
          </td>
          <td class="subtotal-line__value">
            <strong>{{ next_amount_due | money_with_currency }}</strong>
          </td>
        </tr>
      {% else %}
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p><span>Total due {{ due_at_date }}</span></p>
          </td>
          <td class="subtotal-line__value"><strong>{{ next_amount_due | money_with_currency }}</strong></td>
        </tr>
      {% endif %}
    </div>
    {% if total_discounts > 0 and net_transaction_amount_rounding == 0 %}
      <tr class="subtotal-line">
        <td></td>
        <td class="subtotal-line__value total-discount">
          You saved <span class="total-discount--amount">{{ total_discounts | money }}</span>
        </td>
      </tr>
    {% endif %}
  {% else %}
    <tr class="subtotal-line">
      <td class="subtotal-line__title">
        <p> <span>Total</span></p>
      </td>
      <td class="subtotal-line__value">
        <strong>{{ total_price | money_with_currency }}</strong>
      </td>
    </tr>

    {% if total_discounts > 0 %}
      <tr class="subtotal-line">
        <td></td>
        <td class="subtotal-line__value total-discount">
          You saved <span class="total-discount--amount">{{ total_discounts | money }}</span>
        </td>
      </tr>
    {% endif %}

    {% if net_transaction_amount_rounding != 0 %}
      <tr><td colspan="2" class="subtotal-table__line"></td></tr>
      <div class="subtotal-line__value-small">
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p><span>Cash rounding</span></p>
          </td>
          <td class="subtotal-line__value">
            <strong>{% if net_transaction_amount_rounding < 0 %}-{% endif %} {{ net_transaction_amount_rounding | abs | money }}</strong>
          </td>
        </tr>
      </div>

      {% if financial_status == 'paid' %}
        <tr class="subtotal-line">
          <td class="subtotal-line__title">
            <p> <span>Paid</span> <br>
              <small>{{ gateway | capitalize }}</small>
            </p>
          </td>

          <td class="subtotal-line__value">
            <strong>{{ transaction_amount | plus: net_transaction_amount_rounding | money_with_currency }}</strong>
          </td>
        </tr>

      {% endif %}
    {% endif %}

    {% if transaction_amount != total_price and payment_terms == nil%}
      {% if transaction_amount == 0 and authorized_amount > 0 and has_refunds == false %}
      {% else %}
        <div class="payment-terms">
          <tr class="subtotal-line">
            <td class="subtotal-line__title">
              <p><span>Total paid today</span></p>
            </td>

            <td class="subtotal-line__value">
              <strong>{{ transaction_amount | plus: net_transaction_amount_rounding | money_with_currency }}</strong>
            </td>
          </tr>
        </div>
      {% endif %}
    {% endif %}
  {% endif %}
</table>

{% unless payment_terms %}
  {% if transaction_size > 1 or transaction_amount < total_price %}
    <table class="row subtotal-table">
      <tr><td colspan="2" class="subtotal-table__line"></td></tr>
      <tr><td colspan="2" class="subtotal-table__small-space"></td></tr>

      {% for transaction in transactions %}
        {% assign amount_rounding = 0 %}
        {% if transaction.amount_rounding != 0 %}
          {% assign amount_rounding =  transaction.amount_rounding %}
        {% endif %}
        {% if transaction.status == "success" and transaction.kind == "capture" or transaction.kind == "sale" %}
          {% if transaction.payment_details.gift_card_last_four_digits %}
            {% capture transaction_name %}Gift card (ending with {{ transaction.payment_details.gift_card_last_four_digits }}){% endcapture %}
          {% elsif transaction.payment_details.credit_card_company %}
            {% capture transaction_name %}{{ transaction.payment_details.credit_card_company }} (ending in {{ transaction.payment_details.credit_card_last_four_digits }}){% endcapture %}
          {% else %}
            {% capture transaction_name %}{{ transaction.gateway_display_name }}{% endcapture %}
          {% endif %}

          <tr class="subtotal-line">
            <td class="subtotal-line__title">
              <p> <span>{{transaction_name}}</span> </p>
            </td>
            <td class="subtotal-line__value">
              <strong>{{ transaction.amount | plus: amount_rounding | money }}</strong>
            </td>
          </tr>
        {% elsif shopify_pay_captured and shop_cash_offers_captured == false and transaction.kind == "authorization" and transaction.gateway == "shop_cash" or transaction.gateway == "shop_offer" %}
          {% capture transaction_name %}{{ transaction.gateway_display_name }}{% endcapture %}
          <tr class="subtotal-line">
            <td class="subtotal-line__title">
              <p> <span>{{transaction_name}}</span> </p>
            </td>
            <td class="subtotal-line__value">
              <strong>{{ transaction.amount | plus: amount_rounding | money }}</strong>
            </td>
          </tr>
        {% endif %}

        {% if transaction.kind == 'refund' %}
          {% if transaction.payment_details.gift_card_last_four_digits %}
            {% assign refund_method_title = transaction.payment_details.type %}
          {% elsif transaction.payment_details.credit_card_company %}
            {% assign refund_method_title = transaction.payment_details.credit_card_company %}
          {% else %}
            {% assign refund_method_title = transaction.gateway_display_name %}
          {% endif %}

          <tr class="subtotal-line">
            <td class="subtotal-line__title">
              <p> <span>Refund</span> <br>
                <small>{{ refund_method_title | replace: '_', ' ' | capitalize }}</small>
              </p>
            </td>
            <td class="subtotal-line__value">
              <strong>- {{ transaction.amount | plus: amount_rounding | money }}</strong>
            </td>
          </tr>

        {% endif %}
      {% endfor %}
    </table>
  {% endif %}

  {% if total_outstanding > 0 %}
    <table class="row subtotal-table">
      <tr class="subtotal-line">
        <td class="subtotal-line__title">
          <p><span>Balance due</span></p>
        </td>
        <td class="subtotal-line__value">
          <strong>{{ total_outstanding | money }}</strong>
        </td>
      </tr>
    </table>
  {% endif %}
{% endunless %}