Hallo zusammen!
Ich habe für meinen Shop eine individuelle Bestellbestätigungsmail erstellt. Der Versand an inländische Kunden funktioniert soweit ohne Probleme. Bestellt jedoch ein Kunde von außerhalb, wird keine Bestellbestätigungsmail versandt. Ich vermute, es liegt an der Berechnung der Preise, da hier sowohl steuerpflichtige als auch steuerfreie Bestellungen (z.B. innerg. Lieferung) zu berücksichtigen sind. Speziell der Abschnitt unterhalb der aufgelisteten Artikel wird evtl. das Problem sein. Nur finde ich es persönlich leider nicht. Habt ihr eine Idee wo der Fehler liegt? Nachfogelnd der Code.
<br>
<br>
<div style="font-family:arial; font-size:12px; max-width: 600px; margin: 0 auto; text-align: center;">
{% set currencyIsoCode = order.currency.isoCode %}
{% if order.orderCustomer.salutation %}{{ order.orderCustomer.salutation.translated.letterName ~ ' ' }}{% endif %}{{ order.orderCustomer.firstName }} {{ order.orderCustomer.lastName }},<br>
<br>
vielen Dank für Ihre Bestellung bei ###.<br>
<br>
<strong>Informationen zu Ihrer Bestellung:</strong><br>
Kundennummer: {{ order.orderCustomer.customerNumber }}<br>
Bestellnummer: {{ order.orderNumber }}<br>
Bestelldatum: {{ order.orderDate|format_datetime('medium', 'none', locale='de-DE') }}<br>
<br>
<br>
<table border="0" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; width: 100%; margin: 0 auto;">
<tr style="background-color: #ef7c00; color: #191919; height: 60px;"> <!-- Höhe verdoppelt -->
<td style="border-bottom:1px solid #cccccc; width: 70px; padding: 15px;"><strong>Produkt-Nr.</strong></td>
<td style="border-bottom:1px solid #cccccc; width: 80px; padding: 15px;"><strong>Produktbild</strong></td>
<td style="border-bottom:1px solid #cccccc; width: calc(100% - 70px - 80px - 50px - 70px - 70px); padding: 15px;"><strong>Bezeichnung</strong></td>
<td style="border-bottom:1px solid #cccccc; text-align: center; width: 50px; padding: 15px;"><strong>Menge</strong></td>
<td style="border-bottom:1px solid #cccccc; text-align: right; width: 70px; padding: 15px;"><strong>Preis</strong></td>
<td style="border-bottom:1px solid #cccccc; text-align: right; width: 70px; padding: 15px;"><strong>Summe</strong></td>
</tr>
{% for lineItem in order.nestedLineItems %}
{% set nestingLevel = 0 %}
{% set nestedItem = lineItem %}
{% block lineItem %}
<tr>
<td style="text-align: center; width: 70px;">{% if nestedItem.payload.productNumber is defined %}{{ nestedItem.payload.productNumber|u.wordwrap(80) }}{% endif %}</td>
<td style="text-align: center; width: 80px;">{% if nestedItem.cover is defined and nestedItem.cover is not null %}<img src="{{ nestedItem.cover.url }}" width="75" height="auto"/>{% endif %}</td>
<td style="text-align: left; width: calc(100% - 70px - 80px - 50px - 70px - 70px);">
{% if nestingLevel > 0 %}
{% for i in 1..nestingLevel %}
<span style="position: relative;">
<span style="display: inline-block;
position: absolute;
width: 6px;
height: 20px;
top: 0;
border-left: 2px solid rgba(0, 0, 0, 0.15);
margin-left: {{ i * 10 }}px;"></span>
</span>
{% endfor %}
{% endif %}
<div{% if nestingLevel > 0 %} style="padding-left: {{ (nestingLevel + 1) * 10 }}px"{% endif %}>
{{ nestedItem.label|u.wordwrap(80) }}
</div>
{% if nestedItem.payload.options is defined and nestedItem.payload.options|length >= 1 %}
<div>
{% for option in nestedItem.payload.options %}
{{ option.group }}: {{ option.option }}
{% if nestedItem.payload.options|last != option %}
{{ " | " }}
{% endif %}
{% endfor %}
</div>
{% endif %}
{% if nestedItem.payload.features is defined and nestedItem.payload.features|length >= 1 %}
{% set referencePriceFeatures = nestedItem.payload.features|filter(feature => feature.type == 'referencePrice') %}
{% if referencePriceFeatures|length >= 1 %}
{% set referencePriceFeature = referencePriceFeatures|first %}
<div>
{{ referencePriceFeature.value.purchaseUnit }} {{ referencePriceFeature.value.unitName }}
({{ referencePriceFeature.value.price|currency(currencyIsoCode) }}* / {{ referencePriceFeature.value.referenceUnit }} {{ referencePriceFeature.value.unitName }})
</div>
{% endif %}
{% endif %}
</td>
<td style="text-align: center; width: 50px;">{{ nestedItem.quantity }}</td>
<td style="text-align: right; width: 70px;">{{ nestedItem.unitPrice|currency(currencyIsoCode) }}</td>
<td style="text-align: right; width: 70px;">{{ nestedItem.totalPrice|currency(currencyIsoCode) }}</td>
</tr>
{% if nestedItem.children.count > 0 %}
{% set nestingLevel = nestingLevel + 1 %}
{% for lineItem in nestedItem.children %}
{% set nestedItem = lineItem %}
{{ block('lineItem') }}
{% endfor %}
{% endif %}
{% endblock %}
{% endfor %}
</table>
{% set delivery = order.deliveries.first %}
{% set displayRounded = order.totalRounding.interval != 0.01 or order.totalRounding.decimals != order.itemRounding.decimals %}
{% set decimals = order.totalRounding.decimals %}
{% set total = order.price.totalPrice %}
{% if displayRounded %}
{% set total = order.price.rawTotal %}
{% set decimals = order.itemRounding.decimals %}
{% endif %}
<br>
Versandkosten: {{ delivery.shippingCosts.totalPrice|currency(currencyIsoCode) }}<br>
{% set netTotal = order.price.netPrice %}
{% set taxRate = order.price.calculatedTaxes.first.taxRate %}
{% set grossTotal = order.price.totalPrice %}
{% if order.orderCustomer.vatIds %}
{% if taxRate == 0 %}
Gesamtbetrag netto: {{ netTotal|currency(currencyIsoCode) }}<br>
(Umsatzsteuerbefreit, da innergemeinschaftliche Lieferung)<br>
{% else %}
Gesamtbetrag netto: {{ netTotal|currency(currencyIsoCode) }}<br>
inkl. {{ taxRate }}% MwSt.: {{ order.price.calculatedTaxes.first.tax|currency(currencyIsoCode) }}<br>
{% endif %}
{% else %}
Gesamtbetrag netto: {{ netTotal|currency(currencyIsoCode) }}<br>
inkl. {{ taxRate }}% MwSt.: {{ order.price.calculatedTaxes.first.tax|currency(currencyIsoCode) }}<br>
{% endif %}
<strong>Gesamtbetrag brutto: {{ grossTotal|currency(currencyIsoCode) }}</strong><br><br>
<div style="margin-top: 20px;">
<div style="display: inline-block; width: 48%; vertical-align: top; text-align: center;">
<strong>Gewählte Zahlungsart:</strong><br>
{{ order.transactions.first.paymentMethod.translated.name }}<br>
{{ order.transactions.first.paymentMethod.translated.description }}<br>
</div>
{% if delivery %}
<div style="display: inline-block; width: 48%; vertical-align: top; text-align: center;">
<strong>Gewählte Versandart:</strong><br>
{{ delivery.shippingMethod.translated.name }}<br>
{{ delivery.shippingMethod.translated.description }}<br>
</div>
{% endif %}
</div>
{% if order.transactions.first.paymentMethod.translated.name == 'Vorkasse' %}
<div style="margin-top: 20px; text-align: center; width: 100%;">
<strong>Unsere Bankverbindung:</strong><br>
Bankname: ###<br>
IBAN: ###<br>
BIC: ###<br>
Bitte überweisen Sie den Gesamtbetrag auf unser Konto.<br>
Geben Sie dabei unbedingt die Bestellnummer als Verwendungszweck an.<br>
</div>
{% endif %}
<div style="margin-top: 20px;">
<div style="display: inline-block; width: 48%; vertical-align: top; text-align: center;">
{% set billingAddress = order.addresses.get(order.billingAddressId) %}
<strong>Rechnungsadresse:</strong><br>
{{ billingAddress.company }}<br>
{{ billingAddress.firstName }} {{ billingAddress.lastName }}<br>
{{ billingAddress.street }} <br>
{{ billingAddress.zipcode }} {{ billingAddress.city }}<br>
{{ billingAddress.country.translated.name }}<br>
</div>
{% if delivery %}
<div style="display: inline-block; width: 48%; vertical-align: top; text-align: center;">
<strong>Lieferadresse:</strong><br>
{{ delivery.shippingOrderAddress.company }}<br>
{{ delivery.shippingOrderAddress.firstName }} {{ delivery.shippingOrderAddress.lastName }}<br>
{{ delivery.shippingOrderAddress.street }} <br>
{{ delivery.shippingOrderAddress.zipcode}} {{ delivery.shippingOrderAddress.city }}<br>
{{ delivery.shippingOrderAddress.country.translated.name }}<br>
</div>
{% endif %}
</div>
<br>
<br>
{% if order.orderCustomer.vatIds %}
Ihre Umsatzsteuer-ID: {{ order.orderCustomer.vatIds|first }}
Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit. <br>
{% endif %}
<br>
<br>
Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.<br><br>
Freundliche Grüße,<br>
Ihr ###-TEAM<br><br>
</div>