Hallo Leute,
es wird technisch und zwar folgendes Problem oder ich bin einfach zu doof. Wenn ich einem Kunden den Kaufbetrag erstatte, egal ob ich erst storniere und dann erstatte oder erst erstatte und später storniere, dann stimmen meine automatisch generierten Rechnungen nicht mehr. Hat vor einiger Zeit noch funktioniert, warum dass jetzt nicht mehr geht keine Ahnung.
Wenn ich also erstatte, dann steht die Gesamtsumme der einzelnen Positionen auf der Rechnung, alles andere wird jedoch auf 0 Euro gesetzt bis auf die Versandkosten. Heißt also ich habe eine Rechnung mit 0 Euro, was natürlich dem Steuerberater und dem FA nicht gefällt.
Früher blieb die Rechnung unberührt und es wurde separat ein Refund Beleg erzeugt, so wie es richtig wäre. Den Refund Beleg erzeugt es auch noch, nur die Rechnung ist unbrauchbar. Mache ich da irgendwas an irgendeiner Stelle falsch??? Anbei ein Screenshot, so sieht es nach einer Erstattung oder Stornierung aus...
Gruß Steffen
Gelöst! Zur Lösung
Erfolg.
Oder hier den Erstattungscode so geändert, dass der Gesamtbetrag der Bestellung angezeigt wird, ca. ab Zeile 556 (einfach die relevanten Codezeilen rüberkopieren und testen):
<!-- REFUND / CREDIT NOTE -->
{% assign SETTING_shop_logo = "" %}
{% assign SETTING_shop_logo_width = 240 %}
{% assign SETTING_date_format = "%b %e, %Y" %}
{% assign SETTING_product_image_size = 58 %}
{% assign SETTING_show_order_number_barcode = true %}
{% assign SETTING_show_product_barcodes = false %}
{% assign SETTING_show_refund_note = false %}
{% comment %}
TRANSLATE TEXT
You can translate or change wording in the document by updating
the words below. Only change the words between the quotes "".
{% endcomment %}
{% assign TEXT_refund_for_order = "Refund for Order" %}
{% assign TEXT_refund_from = "Refund from" %}
{% assign TEXT_customer = "Customer" %}
{% assign TEXT_tel = "Tel." %}
{% assign TEXT_no_customer_information = "No customer information" %}
{% assign TEXT_refund_method = "Refund method" %}
{% assign TEXT_items = "Items" %}
{% assign TEXT_price = "Price" %}
{% assign TEXT_tax = "Tax" %}
{% assign TEXT_qty = "Qty" %}
{% assign TEXT_item_total = "Item total" %}
{% assign TEXT_sku = "SKU: " %}
{% assign TEXT_no_items_refunded = "No items in this refund" %}
{% assign TEXT_notes = "Notes" %}
{% assign TEXT_subtotal = "Subtotal" %}
{% assign TEXT_shipping = "Shipping" %}
{% assign TEXT_vat = "VAT" %}
{% assign TEXT_tax_included = "(Included)" %}
{% assign TEXT_total_refund = "Total refund" %}
{% if SETTING_show_product_barcodes == true or SETTING_show_order_number_barcode == true %}
{% include "barcodes" %}
{% endif %}
<div class="template-139216">
<div class="header">
<div class="shop-title to-uppercase">
{% if SETTING_shop_logo != blank %}
{{ SETTING_shop_logo | img_tag: '', 'shop-logo'}}
{% else %}
{{ shop.name }}
{% endif %}
</div>
<div class="order-title text-align-right">
<p>
{% if SETTING_show_order_number_barcode == true %}
<img class="barcode" data-barcode="{{ name }}"/><br>
{% endif %}
{{ TEXT_refund_for_order }} {{ name }}
</p>
<p>
{{ latest_refund.created_at | date: SETTING_date_format }}
</p>
</div>
</div>
<div class="customer-addresses">
<div class="shipping-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_from }}
</p>
<p class="address-detail">
{{ shop.name }}
<br>{{ shop.address1 }}
<br>{{ shop.city }}, {{ shop.province_code }} {{ shop.zip }}
<br>{{ shop.country }}
</p>
</div>
<div class="billing-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_customer }}
</p>
<p class="address-detail">
{% if billing_address != blank %}
{{ billing_address.name }}
{% if billing_address.company != blank %}
<br>
{{ billing_address.company }}
{% endif %}
<br>
{{ billing_address.address1 }}
{% if billing_address.address2 != blank %}
<br>
{{ billing_address.address2 }}
{% endif %}
{% if billing_address.city_province_zip != blank %}
<br>
{{ billing_address.city_province_zip }}
{% endif %}
<br>
{{ billing_address.country }}
{% elsif customer != blank %}
{{ customer.name }}
{% if customer.email != blank %}
<br>
{{ customer.email }}
{% endif %}
{% if customer.phone != blank %}
<br>
{{ customer.phone }}
{% endif %}
{% else %}
{{ TEXT_no_customer_information }}
{% endif %}
</p>
</div>
<div class="order-details">
{% if latest_refund.payment_method != blank %}
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_method }}
</p>
<p class="order-detail">
{{ latest_refund.payment_method }}
</p>
{% endif %}
</div>
</div>
<hr>
<div class="order-table">
<div class="order-table-row order-table-header">
<div class="order-table-cell item-image-and-description subtitle-bold to-uppercase">
{{ TEXT_items }}
</div>
<div class="order-table-cell item-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_price }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right subtitle-bold to-uppercase">
{{ TEXT_tax }}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right subtitle-bold to-uppercase">
{{ TEXT_qty }}
</div>
<div class="order-table-cell item-line-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_item_total }}
</div>
</div>
{% comment %}
These variables make sure your images print at high quality.
{% endcomment %}
{% assign resolution_adjusted_size = SETTING_product_image_size | times: 300 | divided_by: 72 | ceil %}
{% capture effective_image_dimensions %}{{ resolution_adjusted_size }}x{{
resolution_adjusted_size }}{% endcapture %}
<table>
<tbody>
{% for refund_item in latest_refund.refund_line_items %}
<tr>
<td>
<div class="order-table-row order-table-body">
<div class="order-table-cell item-image">
{% if SETTING_product_image_size != 0 %}
<div class="aspect-ratio aspect-ratio-square" style="width: {{ SETTING_product_image_size }}px; height: {{ SETTING_product_image_size }}px;">
{% if refund_item.line_item.image != blank %}
{{ refund_item.line_item.image | img_url: effective_image_dimensions | img_tag: '', 'aspect-ratio__content' }}
{% else %}
{{ '/product_image_placeholder.svg' | img_tag: '', 'aspect-ratio__content placeholder' }}
{% endif %}
</div>
{% endif %}
</div>
<div class="order-table-cell item-description">
<p>
<span class="item-description-line">
{{ refund_item.line_item.product_title }}
</span>
{% if refund_item.line_item.variant_title != blank %}
<span class="item-description-line">
{{ refund_item.line_item.variant_title }}
</span>
{% endif %}
{% if refund_item.line_item.sku != blank %}
<span class="item-description-line">
{{ TEXT_sku }}{{ refund_item.line_item.sku }}
</span>
{% endif %}
{% for p in refund_item.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 %}
<span class="item-description-line">{{ p.first }}: {{ p.last }}</span>
{% endunless %}
{% endfor %}
{% if SETTING_show_product_barcodes == true and line_item.variant.barcode != blank %}
<img class="barcode" data-barcode="{{ line_item.variant.barcode }}">
{% endif %}
</p>
</div>
<div class="order-table-cell item-price text-align-right">
{{ refund_item.subtotal | divided_by: refund_item.quantity | money }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right">
{% if total_tax != 0.0 %}
{{ refund_item.total_tax | divided_by: refund_item.quantity | money }}
{% else %}
{{ 0.0 | money }}
{% endif %}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right">
{{ refund_item.quantity }}
</div>
<div class="order-table-cell item-line-price text-align-right">
{% if shop.taxes_included == true %}
{{ refund_item.subtotal | money }}
{% else %}
{{ refund_item.subtotal | plus: refund_item.total_tax | money }}
{% endif %}
</div>
</div>
</td>
</tr>
{% else %}
<tr>
<td>
<div class="order-table-row order-table-body">
<p>{{ TEXT_no_items_refunded }}</p>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<hr>
<div class="notes-and-pricing">
<div class="notes">
{% if SETTING_show_refund_note == true and latest_refund.note != blank %}
<div class="notes-row">
<div class="notes-title subtitle-bold to-uppercase">
{{ TEXT_notes }}
</div>
<div class="notes-details">
{{ latest_refund.note }}
</div>
</div>
{% endif %}
</div>
<div class="pricing">
{% if latest_refund.refund_line_items != blank %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_subtotal }}
</div>
<div class="pricing-details">
{{ latest_refund.subtotal | money }}
</div>
</div>
{% endif %}
{% for adjustment in latest_refund.order_adjustments %}
{% if adjustment.kind == "shipping_refund" %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_shipping }}
</div>
<div class="pricing-details">
{{ adjustment.amount | plus: adjustment.total_tax | money }}
</div>
</div>
{% endif %}
{% endfor %}
{% if latest_refund.total_tax != 0.0 %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_vat }} {% if shop.taxes_included == true %}{{ TEXT_tax_included }}{% endif %}
</div>
<div class="pricing-details">
{{ latest_refund.total_tax | money }}
</div>
</div>
{% endif %}
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ TEXT_total_refund }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ latest_refund.total | money }}
</div>
</div>
<!-- TSH -->
{% assign total = 0 %}
{% for item in line_items %}
{% assign total = total | plus: item.price %}
{% endfor %}
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ "Original Items Price" }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ total | money }}
</div>
</div>
<!-- TSH END -->
<hr>
</div>
</div>
<div class="footer">
<p>
<strong>
{{ shop.name }}
</strong>
<br>
{{ shop.address1 }}{% if shop.address2 != blank %}, {{ shop.address2 }}{% endif %}, {{ shop.city }}, {{ shop.province_code }}, {{ shop.zip }}, {{ shop.country }}
<br>
<a href="mailto:{{ shop.customer_email }}" target="_blank">{{ shop.customer_email }}</a>
<br>
<a href="https://{{ shop.domain }}" target="_blank">{{ shop.domain }}</a>
</p>
</div>
</div>
<style>
.template-139216 * {
font-family: "Open Sans", sans-serif !important;
font-size: 14px;
box-sizing: border-box;
font-weight: 300;
}
.template-139216 {
margin: auto;
padding: 10px 30px 0 30px;
min-height: 600px;
}
.template-139216 p {
margin: 0 0 7px 0;
}
.template-139216 a,
.template-139216 a:link,
.template-139216 a:visited {
color: #000;
font-weight: 300;
text-decoration: none;
}
.template-139216 .header {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 30px;
}
.template-139216 .header p {
margin: 0
}
.template-139216 .shop-title {
-webkit-box-flex: 6;
-webkit-flex: 6;
flex: 6;
font-size: 30px;
font-weight: 400;
}
.template-139216 .shop-logo {
max-width: {{ SETTING_shop_logo_width }}px;
}
.template-139216 .order-title {
-webkit-box-flex: 4;
-webkit-flex: 4;
flex: 4;
}
.template-139216 .customer-addresses {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .shipping-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .billing-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .order-details {
text-align: right;
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .address-detail,
.template-139216 .order-detail {
margin: 15px 0 0;
line-height: 1.5;
}
.template-139216 .subtitle-bold {
font-weight: bold;
margin: 0;
font-size: 13px;
}
.template-139216 .order-detail + .subtitle-bold {
margin-top: 15px;
}
.template-139216 .to-uppercase {
text-transform: uppercase;
}
.template-139216 .text-align-right {
text-align: right;
}
.template-139216 .order-table {
display: block;
}
.template-139216 .order-table-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .order-table-header {
margin-bottom: 0;
}
.template-139216 .order-table-header .item-image-and-description {
-webkit-box-flex: 8;
-webkit-flex: 8;
flex: 8;
margin-right: 30px;
}
.template-139216 .order-table-header .order-table-cell {
white-space: nowrap;
}
.template-139216 .order-table-cell {
-webkit-box-flex: 2;
-webkit-flex: 2;
flex: 2;
margin: 0;
}
.template-139216 .item-image {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
margin-right: 15px;
min-width: {{ SETTING_product_image_size }}px;
}
.template-139216 .item-description {
-webkit-box-flex: 7;
-webkit-flex: 7;
flex: 7;
}
.template-139216 .item-description-line {
display: block;
}
.template-139216 .item-description p {
margin: 0;
line-height: 1.5;
}
.template-139216 .item-line-price {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
}
.template-139216 .missing-line-items-text {
margin: 15px 0;
padding: 0 7px;
}
.template-139216 .notes-and-pricing {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .notes {
flex-grow: 2;
flex-basis: 0;
}
.template-139216 .notes-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .notes-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .notes-details {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
margin-right: 30px;
}
.template-139216 .footer {
margin-top: 30px;
text-align: center;
line-height: 1.5;
}
.template-139216 .footer p {
margin: 0;
margin-bottom: 15px;
}
.template-139216 hr {
height: 2px;
border-bottom: 2px solid #e1e1e1;
margin: 0;
}
.template-139216 .aspect-ratio {
position: relative;
display: block;
background: #fafbfc;
padding: 0;
}
.template-139216 .aspect-ratio::before {
z-index: 1;
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid rgba(195,207,216,0.3);
}
.template-139216 .aspect-ratio--square {
width: 100%;
padding-bottom: 100%;
}
.template-139216 .aspect-ratio__content {
position: absolute;
max-width: 100%;
max-height: 100%;
display: block;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
.template-139216 .pricing {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .pricing-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .pricing-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .pricing-details {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
</style>
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hey Steffen! @PRINT21
Es scheint die Zwischensumme in deinem Screenshot wird von einer Variable wie {{ subtotal_price | money }}
gezogen, ist das richtig? Bei einer Erstattung wird dieser Wert normalerweise auf 0 gesetzt da er ja erstattet wurde. Daraufhin wird auch die Gesamtsumme Netto eine 0 ziehen. Diese Variable sieht wahrscheinlich wie folgt aus, ist das richtig (aus meinem eigenen Testshop entnommen)? {{ total_price | divided_by: 1.19 | money }}
.
Mario @r8r, welche Variable würdest du hier stattdessen einpflegen um statt den €0 Wert anzeigen, die Originalsumme aus der Bestellung?
Steffen, ist das Order Printer Pro und dessen Templates? Und wie wurde deine Rechnungsvorlage oder der darin enthaltene Code erstellt, über eine Anpassung oder eine App? Gibt es noch Code in der Vorlage von einer älteren App?
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo Gabe,
die Berechnung ist so, wie du es beschrieben hast. Das Template ist von OrderPrinterPro, es funktioniert aber auch nicht, wenn ich ein neues Template ohne jegliche Anpassungen erstelle. Ich habe auch noch ein Template mit ganz altem Quellcode, da funktioniert es auch nicht (mehr).
Es geht zwar, wenn ich die Rechnung vor der Stornierung/Erstattung ausdrucke oder als PDF speichere, muss man aber dran denken 😞
Gruß Steffen
Kann ich verstehen, dass man die Original Rechnung gespeichert haben möchte auch nach der Erstattung. Ich denke mal die Rückerstattungsvorlage wurde entwickelt, um als Quittung zum Zeitpunkt der Verarbeitung einer einzelnen Rückerstattung zu dienen und somit siehst du diese Beträge.
Die Anzeige des ursprünglichen Bestellbetrags ist wahrscheinlich nach einer Erstattung keine leichte Aufgabe, da alle Gesamt- und Zwischensummenvariablen (siehe meinen vorherigen Beitrag) vom Shopify Liquid geändert werden, wenn eine Rückerstattung verarbeitet wird. Die Quittungsvorlage zum Beispiel zeigt daraufhin die Beträge in Null an, wenn eine vollständige Rückerstattung verarbeitet wird.
Wenn du die Order Printer Pro Entwickler kontaktierst, könnten die die Vorlage vllt. so umbasteln, dass die Summe des Preises der ursprünglichen Position noch angezeigt wird. Siehe einen Code beigefügt, der das vielleicht machen kann. Teste ihn einfach aus, ansonsten kontaktiere die Entwickler. Hast du deren E-Mail?
Du könntest die Summe des Preises der ursprünglichen Position anzeigen. Hier einfach die relevanten Stellen für deine Vorlage rüberkopieren ab Zeile 556. Die zwei Codebeispiele unten kannst du gerne im Diff Checker für Unterschiede prüfen:
<!-- REFUND / CREDIT NOTE -->
{% assign SETTING_shop_logo = "" %}
{% assign SETTING_shop_logo_width = 240 %}
{% assign SETTING_date_format = "%b %e, %Y" %}
{% assign SETTING_product_image_size = 58 %}
{% assign SETTING_show_order_number_barcode = true %}
{% assign SETTING_show_product_barcodes = false %}
{% assign SETTING_show_refund_note = false %}
{% comment %}
TRANSLATE TEXT
You can translate or change wording in the document by updating
the words below. Only change the words between the quotes "".
{% endcomment %}
{% assign TEXT_refund_for_order = "Refund for Order" %}
{% assign TEXT_refund_from = "Refund from" %}
{% assign TEXT_customer = "Customer" %}
{% assign TEXT_tel = "Tel." %}
{% assign TEXT_no_customer_information = "No customer information" %}
{% assign TEXT_refund_method = "Refund method" %}
{% assign TEXT_items = "Items" %}
{% assign TEXT_price = "Price" %}
{% assign TEXT_tax = "Tax" %}
{% assign TEXT_qty = "Qty" %}
{% assign TEXT_item_total = "Item total" %}
{% assign TEXT_sku = "SKU: " %}
{% assign TEXT_no_items_refunded = "No items in this refund" %}
{% assign TEXT_notes = "Notes" %}
{% assign TEXT_subtotal = "Subtotal" %}
{% assign TEXT_shipping = "Shipping" %}
{% assign TEXT_vat = "VAT" %}
{% assign TEXT_tax_included = "(Included)" %}
{% assign TEXT_total_refund = "Total refund" %}
{% if SETTING_show_product_barcodes == true or SETTING_show_order_number_barcode == true %}
{% include "barcodes" %}
{% endif %}
<div class="template-139216">
<div class="header">
<div class="shop-title to-uppercase">
{% if SETTING_shop_logo != blank %}
{{ SETTING_shop_logo | img_tag: '', 'shop-logo'}}
{% else %}
{{ shop.name }}
{% endif %}
</div>
<div class="order-title text-align-right">
<p>
{% if SETTING_show_order_number_barcode == true %}
<img class="barcode" data-barcode="{{ name }}"/><br>
{% endif %}
{{ TEXT_refund_for_order }} {{ name }}
</p>
<p>
{{ latest_refund.created_at | date: SETTING_date_format }}
</p>
</div>
</div>
<div class="customer-addresses">
<div class="shipping-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_from }}
</p>
<p class="address-detail">
{{ shop.name }}
<br>{{ shop.address1 }}
<br>{{ shop.city }}, {{ shop.province_code }} {{ shop.zip }}
<br>{{ shop.country }}
</p>
</div>
<div class="billing-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_customer }}
</p>
<p class="address-detail">
{% if billing_address != blank %}
{{ billing_address.name }}
{% if billing_address.company != blank %}
<br>
{{ billing_address.company }}
{% endif %}
<br>
{{ billing_address.address1 }}
{% if billing_address.address2 != blank %}
<br>
{{ billing_address.address2 }}
{% endif %}
{% if billing_address.city_province_zip != blank %}
<br>
{{ billing_address.city_province_zip }}
{% endif %}
<br>
{{ billing_address.country }}
{% elsif customer != blank %}
{{ customer.name }}
{% if customer.email != blank %}
<br>
{{ customer.email }}
{% endif %}
{% if customer.phone != blank %}
<br>
{{ customer.phone }}
{% endif %}
{% else %}
{{ TEXT_no_customer_information }}
{% endif %}
</p>
</div>
<div class="order-details">
{% if latest_refund.payment_method != blank %}
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_method }}
</p>
<p class="order-detail">
{{ latest_refund.payment_method }}
</p>
{% endif %}
</div>
</div>
<hr>
<div class="order-table">
<div class="order-table-row order-table-header">
<div class="order-table-cell item-image-and-description subtitle-bold to-uppercase">
{{ TEXT_items }}
</div>
<div class="order-table-cell item-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_price }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right subtitle-bold to-uppercase">
{{ TEXT_tax }}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right subtitle-bold to-uppercase">
{{ TEXT_qty }}
</div>
<div class="order-table-cell item-line-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_item_total }}
</div>
</div>
{% comment %}
These variables make sure your images print at high quality.
{% endcomment %}
{% assign resolution_adjusted_size = SETTING_product_image_size | times: 300 | divided_by: 72 | ceil %}
{% capture effective_image_dimensions %}{{ resolution_adjusted_size }}x{{
resolution_adjusted_size }}{% endcapture %}
<table>
<tbody>
{% for refund_item in latest_refund.refund_line_items %}
<tr>
<td>
<div class="order-table-row order-table-body">
<div class="order-table-cell item-image">
{% if SETTING_product_image_size != 0 %}
<div class="aspect-ratio aspect-ratio-square" style="width: {{ SETTING_product_image_size }}px; height: {{ SETTING_product_image_size }}px;">
{% if refund_item.line_item.image != blank %}
{{ refund_item.line_item.image | img_url: effective_image_dimensions | img_tag: '', 'aspect-ratio__content' }}
{% else %}
{{ '/product_image_placeholder.svg' | img_tag: '', 'aspect-ratio__content placeholder' }}
{% endif %}
</div>
{% endif %}
</div>
<div class="order-table-cell item-description">
<p>
<span class="item-description-line">
{{ refund_item.line_item.product_title }}
</span>
{% if refund_item.line_item.variant_title != blank %}
<span class="item-description-line">
{{ refund_item.line_item.variant_title }}
</span>
{% endif %}
{% if refund_item.line_item.sku != blank %}
<span class="item-description-line">
{{ TEXT_sku }}{{ refund_item.line_item.sku }}
</span>
{% endif %}
{% for p in refund_item.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 %}
<span class="item-description-line">{{ p.first }}: {{ p.last }}</span>
{% endunless %}
{% endfor %}
{% if SETTING_show_product_barcodes == true and line_item.variant.barcode != blank %}
<img class="barcode" data-barcode="{{ line_item.variant.barcode }}">
{% endif %}
</p>
</div>
<div class="order-table-cell item-price text-align-right">
{{ refund_item.subtotal | divided_by: refund_item.quantity | money }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right">
{% if total_tax != 0.0 %}
{{ refund_item.total_tax | divided_by: refund_item.quantity | money }}
{% else %}
{{ 0.0 | money }}
{% endif %}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right">
{{ refund_item.quantity }}
</div>
<div class="order-table-cell item-line-price text-align-right">
{% if shop.taxes_included == true %}
{{ refund_item.subtotal | money }}
{% else %}
{{ refund_item.subtotal | plus: refund_item.total_tax | money }}
{% endif %}
</div>
</div>
</td>
</tr>
{% else %}
<tr>
<td>
<div class="order-table-row order-table-body">
<p>{{ TEXT_no_items_refunded }}</p>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<hr>
<div class="notes-and-pricing">
<div class="notes">
{% if SETTING_show_refund_note == true and latest_refund.note != blank %}
<div class="notes-row">
<div class="notes-title subtitle-bold to-uppercase">
{{ TEXT_notes }}
</div>
<div class="notes-details">
{{ latest_refund.note }}
</div>
</div>
{% endif %}
</div>
<div class="pricing">
{% if latest_refund.refund_line_items != blank %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_subtotal }}
</div>
<div class="pricing-details">
{{ latest_refund.subtotal | money }}
</div>
</div>
{% endif %}
{% for adjustment in latest_refund.order_adjustments %}
{% if adjustment.kind == "shipping_refund" %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_shipping }}
</div>
<div class="pricing-details">
{{ adjustment.amount | plus: adjustment.total_tax | money }}
</div>
</div>
{% endif %}
{% endfor %}
{% if latest_refund.total_tax != 0.0 %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_vat }} {% if shop.taxes_included == true %}{{ TEXT_tax_included }}{% endif %}
</div>
<div class="pricing-details">
{{ latest_refund.total_tax | money }}
</div>
</div>
{% endif %}
<!-- TSH -->
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ "TOTAL" }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ total_price | plus: total_refunds | money }}
</div>
</div>
<!-- TSH END -->
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ TEXT_total_refund }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ latest_refund.total | money }}
</div>
</div>
<hr>
</div>
</div>
<div class="footer">
<p>
<strong>
{{ shop.name }}
</strong>
<br>
{{ shop.address1 }}{% if shop.address2 != blank %}, {{ shop.address2 }}{% endif %}, {{ shop.city }}, {{ shop.province_code }}, {{ shop.zip }}, {{ shop.country }}
<br>
<a href="mailto:{{ shop.customer_email }}" target="_blank">{{ shop.customer_email }}</a>
<br>
<a href="https://{{ shop.domain }}" target="_blank">{{ shop.domain }}</a>
</p>
</div>
</div>
<style>
.template-139216 * {
font-family: "Open Sans", sans-serif !important;
font-size: 14px;
box-sizing: border-box;
font-weight: 300;
}
.template-139216 {
margin: auto;
padding: 10px 30px 0 30px;
min-height: 600px;
}
.template-139216 p {
margin: 0 0 7px 0;
}
.template-139216 a,
.template-139216 a:link,
.template-139216 a:visited {
color: #000;
font-weight: 300;
text-decoration: none;
}
.template-139216 .header {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 30px;
}
.template-139216 .header p {
margin: 0
}
.template-139216 .shop-title {
-webkit-box-flex: 6;
-webkit-flex: 6;
flex: 6;
font-size: 30px;
font-weight: 400;
}
.template-139216 .shop-logo {
max-width: {{ SETTING_shop_logo_width }}px;
}
.template-139216 .order-title {
-webkit-box-flex: 4;
-webkit-flex: 4;
flex: 4;
}
.template-139216 .customer-addresses {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .shipping-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .billing-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .order-details {
text-align: right;
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .address-detail,
.template-139216 .order-detail {
margin: 15px 0 0;
line-height: 1.5;
}
.template-139216 .subtitle-bold {
font-weight: bold;
margin: 0;
font-size: 13px;
}
.template-139216 .order-detail + .subtitle-bold {
margin-top: 15px;
}
.template-139216 .to-uppercase {
text-transform: uppercase;
}
.template-139216 .text-align-right {
text-align: right;
}
.template-139216 .order-table {
display: block;
}
.template-139216 .order-table-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .order-table-header {
margin-bottom: 0;
}
.template-139216 .order-table-header .item-image-and-description {
-webkit-box-flex: 8;
-webkit-flex: 8;
flex: 8;
margin-right: 30px;
}
.template-139216 .order-table-header .order-table-cell {
white-space: nowrap;
}
.template-139216 .order-table-cell {
-webkit-box-flex: 2;
-webkit-flex: 2;
flex: 2;
margin: 0;
}
.template-139216 .item-image {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
margin-right: 15px;
min-width: {{ SETTING_product_image_size }}px;
}
.template-139216 .item-description {
-webkit-box-flex: 7;
-webkit-flex: 7;
flex: 7;
}
.template-139216 .item-description-line {
display: block;
}
.template-139216 .item-description p {
margin: 0;
line-height: 1.5;
}
.template-139216 .item-line-price {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
}
.template-139216 .missing-line-items-text {
margin: 15px 0;
padding: 0 7px;
}
.template-139216 .notes-and-pricing {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .notes {
flex-grow: 2;
flex-basis: 0;
}
.template-139216 .notes-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .notes-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .notes-details {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
margin-right: 30px;
}
.template-139216 .footer {
margin-top: 30px;
text-align: center;
line-height: 1.5;
}
.template-139216 .footer p {
margin: 0;
margin-bottom: 15px;
}
.template-139216 hr {
height: 2px;
border-bottom: 2px solid #e1e1e1;
margin: 0;
}
.template-139216 .aspect-ratio {
position: relative;
display: block;
background: #fafbfc;
padding: 0;
}
.template-139216 .aspect-ratio::before {
z-index: 1;
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid rgba(195,207,216,0.3);
}
.template-139216 .aspect-ratio--square {
width: 100%;
padding-bottom: 100%;
}
.template-139216 .aspect-ratio__content {
position: absolute;
max-width: 100%;
max-height: 100%;
display: block;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
.template-139216 .pricing {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .pricing-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .pricing-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .pricing-details {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
</style>
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Erfolg.
Oder hier den Erstattungscode so geändert, dass der Gesamtbetrag der Bestellung angezeigt wird, ca. ab Zeile 556 (einfach die relevanten Codezeilen rüberkopieren und testen):
<!-- REFUND / CREDIT NOTE -->
{% assign SETTING_shop_logo = "" %}
{% assign SETTING_shop_logo_width = 240 %}
{% assign SETTING_date_format = "%b %e, %Y" %}
{% assign SETTING_product_image_size = 58 %}
{% assign SETTING_show_order_number_barcode = true %}
{% assign SETTING_show_product_barcodes = false %}
{% assign SETTING_show_refund_note = false %}
{% comment %}
TRANSLATE TEXT
You can translate or change wording in the document by updating
the words below. Only change the words between the quotes "".
{% endcomment %}
{% assign TEXT_refund_for_order = "Refund for Order" %}
{% assign TEXT_refund_from = "Refund from" %}
{% assign TEXT_customer = "Customer" %}
{% assign TEXT_tel = "Tel." %}
{% assign TEXT_no_customer_information = "No customer information" %}
{% assign TEXT_refund_method = "Refund method" %}
{% assign TEXT_items = "Items" %}
{% assign TEXT_price = "Price" %}
{% assign TEXT_tax = "Tax" %}
{% assign TEXT_qty = "Qty" %}
{% assign TEXT_item_total = "Item total" %}
{% assign TEXT_sku = "SKU: " %}
{% assign TEXT_no_items_refunded = "No items in this refund" %}
{% assign TEXT_notes = "Notes" %}
{% assign TEXT_subtotal = "Subtotal" %}
{% assign TEXT_shipping = "Shipping" %}
{% assign TEXT_vat = "VAT" %}
{% assign TEXT_tax_included = "(Included)" %}
{% assign TEXT_total_refund = "Total refund" %}
{% if SETTING_show_product_barcodes == true or SETTING_show_order_number_barcode == true %}
{% include "barcodes" %}
{% endif %}
<div class="template-139216">
<div class="header">
<div class="shop-title to-uppercase">
{% if SETTING_shop_logo != blank %}
{{ SETTING_shop_logo | img_tag: '', 'shop-logo'}}
{% else %}
{{ shop.name }}
{% endif %}
</div>
<div class="order-title text-align-right">
<p>
{% if SETTING_show_order_number_barcode == true %}
<img class="barcode" data-barcode="{{ name }}"/><br>
{% endif %}
{{ TEXT_refund_for_order }} {{ name }}
</p>
<p>
{{ latest_refund.created_at | date: SETTING_date_format }}
</p>
</div>
</div>
<div class="customer-addresses">
<div class="shipping-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_from }}
</p>
<p class="address-detail">
{{ shop.name }}
<br>{{ shop.address1 }}
<br>{{ shop.city }}, {{ shop.province_code }} {{ shop.zip }}
<br>{{ shop.country }}
</p>
</div>
<div class="billing-address">
<p class="subtitle-bold to-uppercase">
{{ TEXT_customer }}
</p>
<p class="address-detail">
{% if billing_address != blank %}
{{ billing_address.name }}
{% if billing_address.company != blank %}
<br>
{{ billing_address.company }}
{% endif %}
<br>
{{ billing_address.address1 }}
{% if billing_address.address2 != blank %}
<br>
{{ billing_address.address2 }}
{% endif %}
{% if billing_address.city_province_zip != blank %}
<br>
{{ billing_address.city_province_zip }}
{% endif %}
<br>
{{ billing_address.country }}
{% elsif customer != blank %}
{{ customer.name }}
{% if customer.email != blank %}
<br>
{{ customer.email }}
{% endif %}
{% if customer.phone != blank %}
<br>
{{ customer.phone }}
{% endif %}
{% else %}
{{ TEXT_no_customer_information }}
{% endif %}
</p>
</div>
<div class="order-details">
{% if latest_refund.payment_method != blank %}
<p class="subtitle-bold to-uppercase">
{{ TEXT_refund_method }}
</p>
<p class="order-detail">
{{ latest_refund.payment_method }}
</p>
{% endif %}
</div>
</div>
<hr>
<div class="order-table">
<div class="order-table-row order-table-header">
<div class="order-table-cell item-image-and-description subtitle-bold to-uppercase">
{{ TEXT_items }}
</div>
<div class="order-table-cell item-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_price }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right subtitle-bold to-uppercase">
{{ TEXT_tax }}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right subtitle-bold to-uppercase">
{{ TEXT_qty }}
</div>
<div class="order-table-cell item-line-price text-align-right subtitle-bold to-uppercase">
{{ TEXT_item_total }}
</div>
</div>
{% comment %}
These variables make sure your images print at high quality.
{% endcomment %}
{% assign resolution_adjusted_size = SETTING_product_image_size | times: 300 | divided_by: 72 | ceil %}
{% capture effective_image_dimensions %}{{ resolution_adjusted_size }}x{{
resolution_adjusted_size }}{% endcapture %}
<table>
<tbody>
{% for refund_item in latest_refund.refund_line_items %}
<tr>
<td>
<div class="order-table-row order-table-body">
<div class="order-table-cell item-image">
{% if SETTING_product_image_size != 0 %}
<div class="aspect-ratio aspect-ratio-square" style="width: {{ SETTING_product_image_size }}px; height: {{ SETTING_product_image_size }}px;">
{% if refund_item.line_item.image != blank %}
{{ refund_item.line_item.image | img_url: effective_image_dimensions | img_tag: '', 'aspect-ratio__content' }}
{% else %}
{{ '/product_image_placeholder.svg' | img_tag: '', 'aspect-ratio__content placeholder' }}
{% endif %}
</div>
{% endif %}
</div>
<div class="order-table-cell item-description">
<p>
<span class="item-description-line">
{{ refund_item.line_item.product_title }}
</span>
{% if refund_item.line_item.variant_title != blank %}
<span class="item-description-line">
{{ refund_item.line_item.variant_title }}
</span>
{% endif %}
{% if refund_item.line_item.sku != blank %}
<span class="item-description-line">
{{ TEXT_sku }}{{ refund_item.line_item.sku }}
</span>
{% endif %}
{% for p in refund_item.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 %}
<span class="item-description-line">{{ p.first }}: {{ p.last }}</span>
{% endunless %}
{% endfor %}
{% if SETTING_show_product_barcodes == true and line_item.variant.barcode != blank %}
<img class="barcode" data-barcode="{{ line_item.variant.barcode }}">
{% endif %}
</p>
</div>
<div class="order-table-cell item-price text-align-right">
{{ refund_item.subtotal | divided_by: refund_item.quantity | money }}
</div>
{% if show_line_item_taxes == true %}
<div class="order-table-cell item-tax text-align-right">
{% if total_tax != 0.0 %}
{{ refund_item.total_tax | divided_by: refund_item.quantity | money }}
{% else %}
{{ 0.0 | money }}
{% endif %}
</div>
{% endif %}
<div class="order-table-cell item-quantity text-align-right">
{{ refund_item.quantity }}
</div>
<div class="order-table-cell item-line-price text-align-right">
{% if shop.taxes_included == true %}
{{ refund_item.subtotal | money }}
{% else %}
{{ refund_item.subtotal | plus: refund_item.total_tax | money }}
{% endif %}
</div>
</div>
</td>
</tr>
{% else %}
<tr>
<td>
<div class="order-table-row order-table-body">
<p>{{ TEXT_no_items_refunded }}</p>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<hr>
<div class="notes-and-pricing">
<div class="notes">
{% if SETTING_show_refund_note == true and latest_refund.note != blank %}
<div class="notes-row">
<div class="notes-title subtitle-bold to-uppercase">
{{ TEXT_notes }}
</div>
<div class="notes-details">
{{ latest_refund.note }}
</div>
</div>
{% endif %}
</div>
<div class="pricing">
{% if latest_refund.refund_line_items != blank %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_subtotal }}
</div>
<div class="pricing-details">
{{ latest_refund.subtotal | money }}
</div>
</div>
{% endif %}
{% for adjustment in latest_refund.order_adjustments %}
{% if adjustment.kind == "shipping_refund" %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_shipping }}
</div>
<div class="pricing-details">
{{ adjustment.amount | plus: adjustment.total_tax | money }}
</div>
</div>
{% endif %}
{% endfor %}
{% if latest_refund.total_tax != 0.0 %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_vat }} {% if shop.taxes_included == true %}{{ TEXT_tax_included }}{% endif %}
</div>
<div class="pricing-details">
{{ latest_refund.total_tax | money }}
</div>
</div>
{% endif %}
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ TEXT_total_refund }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ latest_refund.total | money }}
</div>
</div>
<!-- TSH -->
{% assign total = 0 %}
{% for item in line_items %}
{% assign total = total | plus: item.price %}
{% endfor %}
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ "Original Items Price" }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ total | money }}
</div>
</div>
<!-- TSH END -->
<hr>
</div>
</div>
<div class="footer">
<p>
<strong>
{{ shop.name }}
</strong>
<br>
{{ shop.address1 }}{% if shop.address2 != blank %}, {{ shop.address2 }}{% endif %}, {{ shop.city }}, {{ shop.province_code }}, {{ shop.zip }}, {{ shop.country }}
<br>
<a href="mailto:{{ shop.customer_email }}" target="_blank">{{ shop.customer_email }}</a>
<br>
<a href="https://{{ shop.domain }}" target="_blank">{{ shop.domain }}</a>
</p>
</div>
</div>
<style>
.template-139216 * {
font-family: "Open Sans", sans-serif !important;
font-size: 14px;
box-sizing: border-box;
font-weight: 300;
}
.template-139216 {
margin: auto;
padding: 10px 30px 0 30px;
min-height: 600px;
}
.template-139216 p {
margin: 0 0 7px 0;
}
.template-139216 a,
.template-139216 a:link,
.template-139216 a:visited {
color: #000;
font-weight: 300;
text-decoration: none;
}
.template-139216 .header {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 30px;
}
.template-139216 .header p {
margin: 0
}
.template-139216 .shop-title {
-webkit-box-flex: 6;
-webkit-flex: 6;
flex: 6;
font-size: 30px;
font-weight: 400;
}
.template-139216 .shop-logo {
max-width: {{ SETTING_shop_logo_width }}px;
}
.template-139216 .order-title {
-webkit-box-flex: 4;
-webkit-flex: 4;
flex: 4;
}
.template-139216 .customer-addresses {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .shipping-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .billing-address {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .order-details {
text-align: right;
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .address-detail,
.template-139216 .order-detail {
margin: 15px 0 0;
line-height: 1.5;
}
.template-139216 .subtitle-bold {
font-weight: bold;
margin: 0;
font-size: 13px;
}
.template-139216 .order-detail + .subtitle-bold {
margin-top: 15px;
}
.template-139216 .to-uppercase {
text-transform: uppercase;
}
.template-139216 .text-align-right {
text-align: right;
}
.template-139216 .order-table {
display: block;
}
.template-139216 .order-table-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .order-table-header {
margin-bottom: 0;
}
.template-139216 .order-table-header .item-image-and-description {
-webkit-box-flex: 8;
-webkit-flex: 8;
flex: 8;
margin-right: 30px;
}
.template-139216 .order-table-header .order-table-cell {
white-space: nowrap;
}
.template-139216 .order-table-cell {
-webkit-box-flex: 2;
-webkit-flex: 2;
flex: 2;
margin: 0;
}
.template-139216 .item-image {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
margin-right: 15px;
min-width: {{ SETTING_product_image_size }}px;
}
.template-139216 .item-description {
-webkit-box-flex: 7;
-webkit-flex: 7;
flex: 7;
}
.template-139216 .item-description-line {
display: block;
}
.template-139216 .item-description p {
margin: 0;
line-height: 1.5;
}
.template-139216 .item-line-price {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
}
.template-139216 .missing-line-items-text {
margin: 15px 0;
padding: 0 7px;
}
.template-139216 .notes-and-pricing {
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin-bottom: 15px;
}
.template-139216 .notes {
flex-grow: 2;
flex-basis: 0;
}
.template-139216 .notes-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: top;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .notes-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .notes-details {
-webkit-box-flex: 3;
-webkit-flex: 3;
flex: 3;
margin-right: 30px;
}
.template-139216 .footer {
margin-top: 30px;
text-align: center;
line-height: 1.5;
}
.template-139216 .footer p {
margin: 0;
margin-bottom: 15px;
}
.template-139216 hr {
height: 2px;
border-bottom: 2px solid #e1e1e1;
margin: 0;
}
.template-139216 .aspect-ratio {
position: relative;
display: block;
background: #fafbfc;
padding: 0;
}
.template-139216 .aspect-ratio::before {
z-index: 1;
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid rgba(195,207,216,0.3);
}
.template-139216 .aspect-ratio--square {
width: 100%;
padding-bottom: 100%;
}
.template-139216 .aspect-ratio__content {
position: absolute;
max-width: 100%;
max-height: 100%;
display: block;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
.template-139216 .pricing {
flex-grow: 1;
flex-basis: 0;
}
.template-139216 .pricing-row {
display: -webkit-box;
display: -webkit-flex;
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0;
page-break-inside: avoid;
}
.template-139216 .pricing-title {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
.template-139216 .pricing-details {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
}
</style>
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
@PRINT21 sollte @Gabe's Ansatz nicht funktionieren, kannst Du Dich gerne melden.
@Gabe – das hier ist der Code, um den es geht?
{% if latest_refund.total_tax != 0.0 %}
<div class="pricing-row text-align-right">
<div class="pricing-title">
{{ TEXT_vat }} {% if shop.taxes_included == true %}{{ TEXT_tax_included }}{% endif %}
</div>
<div class="pricing-details">
{{ latest_refund.total_tax | money }}
</div>
</div>
{% endif %}
LG, Mario
Ja genau, diesen hier (vergleiche mit den zweiten unten):
<!-- TSH -->
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ "TOTAL" }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ total_price | plus: total_refunds | money }}
</div>
</div>
<!-- TSH END -->
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ TEXT_total_refund }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ latest_refund.total | money }}
</div>
</div>
Und:
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ TEXT_total_refund }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ latest_refund.total | money }}
</div>
</div>
<!-- TSH -->
{% assign total = 0 %}
{% for item in line_items %}
{% assign total = total | plus: item.price %}
{% endfor %}
<div class="pricing-row text-align-right">
<div class="pricing-title subtitle-bold to-uppercase">
{{ "Original Items Price" }}
</div>
<div class="pricing-details subtitle-bold to-uppercase">
{{ total | money }}
</div>
</div>
<!-- TSH END -->
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
ja genau, ich möchte, dass die Rechnung im "Original" gespeichert bleibt auch wenn ich einen Refund gemacht habe.
In der Buchhaltung habe ich ja mehrere Buchungen, angefangen mit der Buchung wie der Kunde bestellt hat, egal ob etwas erstattet wurde oder nicht. Und zu dieser Buchung brauche ich erstmal einen Beleg, also der Betrag auf der Quittung sollte schon mit der Buchung auf meinem Konto übereinstimmen.
Alles was danach kommt, also Erstattung oder Rücksendung sind ja dann aus Sicht der Buchhaltung neue Buchungen und Vorgänge. Ich habe mal die Entwickler von OPP kontaktiert, mal schauen was sich da ergibt.
Gruß Steffen
Halte uns auf dem Laufenden!
😉
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo Gabe+Mario,
also es ist wie es ist. Die Leute von OPP schauen mal, ob man es irgendwie lösen kann. Ich/wir müssen zukünftig die Rechnungen vor einer Erstattung ausdrucken bzw. speichern, ist zwar etwas umständlich aber lässt sich machen, da wir kaum Refunds haben. Falls es noch etwas neues zu berichten gibt, schreib ich es hier...
Gruß Steffen
Hi,
wie versprochen ein Update. Das Team von OPP hat das "Problem" gelöst und mein Template so angepasst, dass trotz Refund die Originalrechnung und die Beträge erhalten bleiben. Bitte nicht fragen was sie genau gemacht haben (da muss ich mal bei Gelegenheit in den Quellcode schauen) , auf jeden Fall funktioniert es wieder wie gewohnt.
Gruß Steffen
@PRINT21 – wenn Du reingesehen hast, wär's super, wenn Du das Ergebnis (Code-Unterschied) hier teilen könntest! Danke!
Hallo @r8r
also am Template hat das Team von Order Print Pro nichts geändert, sondern direkt in der App/API. Siehe folgendes Zitat:
Hallo Steffen,
Vielen Dank, dass Sie sich bei uns zurückbekommen haben; *** hier.
Die Änderungen wurden auf die Anwendung und nicht auf die Vorlage selbst angewendet. ****, der App-Entwickler, arbeitete an einigen Integrationen zwischen der App und der Shopify-API. So konnten wir die Informationen aus den Bestellungen so nehmen, wie sie ursprünglich erstellt wurden.
Die Variablen blieben gleich.
Wenn Sie weitere Hilfe benötigen, zögern Sie nicht, uns jederzeit zu kontaktieren. Habt ein fabelhaftes Wochenende!.
viele Grüße, Steffen
Hallo zusammen,
ich habe genau das gleiche Problem, aber leider bei zig Rechnungs Apps, die ich jetzt getestet habe, von Simplio, Invoice Falcon und einige mehr. Die Originalrechnung ist sozusagen "futsch" und ich finde sie nicht wieder, genau wie hier beschrieben. Ich habe Simplio jetzt auch mal kontaktiert, um in Erfahrung zu bringen, ob es hier eine Lösung gibt. In 2 meiner Shops arbeite ich mit Sufio, die sind zwar teurer, aber es gibt kaum Probleme und wenn, dann sind sie schnell gelöst.
Hallo Ziva,
also ich benutze die Order Printer Pro App. Die Entwickler haben die App so angepasst, dass die Originalrechnung mit allen Positionen, auch wenn etwas erstattet wurde, erhalten bleibt.
Du kannst also jederzeit die Originalrechnung drucken, speichern oder an deinen Kunden senden. In der App kannst du ein zweites Refund-Formular erzeugen, dort sind dann die entsprechenden Gutschriften zu sehen.
Gruß Steffen
Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024Teil 1 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 9, 2024Anpassungen des benutzerdefinierten Codes an Shopify-Themes (CSS) leicht gemachtIn diesem...
By Gabe Aug 28, 2024