{@com.eszes.saas.app.be.bms.ecom.model.com.EReceiptView receipt} {! POS OP-5: the public e-receipt page. `receipt` is the ONLY data name: a closed projection with no personal data. Inline style only (the page's CSP allows nothing else), no script, no image, no external reference. Qute treats { as literal only when the next char is whitespace: every CSS brace below is followed by a newline. !} Receipt {receipt.orderNumber}

{receipt.sellerName}

{#if receipt.taxId}
{receipt.taxIdLabel}: {receipt.taxId}
{/if}
RECEIPT
Receipt No: {receipt.orderNumber}
{receipt.dateTime}
{#if receipt.serviceMode}
{receipt.serviceMode}
{/if} {#if receipt.vatInclusive}
{#if receipt.gst}Prices include GST{#else}Prices include VAT{/if}
{/if} {#for line in receipt.lines} {/for} {#if !receipt.lines.isEmpty()} {/if} {#for card in receipt.giftCards} {/for}
ItemPriceQtyTotal
{line.name}{#if line.variation}
{line.variation}
{/if}{#for m in line.modifiers}
+ {m}
{/for}
{line.unitPrice} {line.quantity} {line.lineTotal}
Total qty{receipt.totalQuantity}
{card.label}{card.amount}
{#if receipt.shipping} {/if} {#if receipt.roundOffText} {/if} {#for row in receipt.savings} {/for}
Shipping{receipt.shipping}
TOTAL{receipt.total}
Round off{receipt.roundOffText}
Amount paid{receipt.amountPaid}
{row.label}{row.amount}
{#if receipt.gst && !receipt.gstRows.isEmpty()} {#for g in receipt.gstRows} {/for}
GSTTaxableAmount
{g.label}{g.taxable}{g.amount}
{#else if !receipt.vat.isEmpty()} {#for v in receipt.vat} {/for}
VATNetVAT
{v.rate}{v.net}{v.vat}
{/if} {#if !receipt.tenders.isEmpty() || receipt.change} {#for t in receipt.tenders} {/for} {#if receipt.change} {/if}
{t.label}{t.amount}
Change{receipt.change}
{/if} {#if !receipt.refunds.isEmpty()}

Refunds

{#for r in receipt.refunds} {/for}
{r.number}
{r.date}
{r.amount}
{/if}
Keep this link for returns.