PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.21
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.21
1.10.25 1.10.24 1.10.23 1.10.22 1.10.21 1.10.20 1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 All 169 releases
woocommerce-pos / templates / gallery / thermal-simple-58mm.xml

thermal-simple-58mm.xml in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.21, at templates/gallery/thermal-simple-58mm.xml

167 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <!--
2 Simple Thermal Receipt (58mm) — clean, no-fuss receipt for narrow 58mm
3 printers. Same shape as the 80mm Simple template, with column widths
4 and the logo trimmed for 32-character paper.
5
6 Most blocks are wrapped in {{#section}}…{{/section}} guards, so optional
7 sections (logo, tax IDs, customer note, footer imprint) auto-disappear
8 when the underlying data is empty. Layout uses width="*" for the label
9 column and a fixed amount column on the right; do not replace the star
10 columns with hard-coded numeric widths.
11 -->
12 <receipt paper-width="32">
13
14 <!-- ── Logo + store identity ─────────────── -->
15 {{#store.logo}}
16 <align mode="center"><image src="{{store.logo}}" width="160" /></align>
17 {{/store.logo}}
18 <align mode="center">
19 <!-- Only the height is doubled (not the width): at 32 columns a width-doubled
20 store name longer than 16 characters overflows, and ESC/POS printers
21 tend to drop the space at the wrap boundary AND continue the next text
22 node on the wrapped line — the HTML preview hides this because <size>
23 maps to a CSS scale, not to columns. Use a normal-width, double-height
24 heading so any realistic store name fits cleanly on 58mm paper. -->
25 <bold><size height="2"><text>{{store.name}}</text></size></bold>
26 {{#store.address_lines}}
27 <text>{{.}}</text>
28 {{/store.address_lines}}
29 {{#store.phone}}<text>Phone: {{store.phone}}</text>{{/store.phone}}
30 {{#store.email}}<text>Email: {{store.email}}</text>{{/store.email}}
31 {{#store.tax_ids}}
32 <text>{{#label}}{{label}}: {{/label}}{{value}}</text>
33 {{/store.tax_ids}}
34 </align>
35 <line />
36
37 <!-- ── Order info ─────────────── -->
38 <text>{{i18n.order}}: #{{order.number}}</text>
39 <text>{{i18n.date}}: {{order.created.datetime}}</text>
40 {{#cashier.name}}<text>{{i18n.cashier}}: {{cashier.name}}</text>{{/cashier.name}}
41 {{#customer.name}}<text>{{i18n.customer}}: {{customer.name}}</text>{{/customer.name}}
42
43 <!-- ── Items ─────────────── -->
44 <line />
45 {{#lines}}
46 <bold><text>{{name}}</text></bold>
47 {{#sku}}<text> SKU: {{sku}}</text>{{/sku}}
48 {{#line_savings}}
49 <text> {{i18n.regular_price}}: {{regular_price_display}}</text>
50 {{^savings_in_discounts}}
51 <row>
52 <col width="*"> {{i18n.savings}}</col>
53 <col width="12" align="right">-{{line_savings_display}}</col>
54 </row>
55 {{/savings_in_discounts}}
56 {{/line_savings}}
57 {{#discounts}}
58 <row>
59 <col width="*"> @ {{unit_subtotal_display}}</col>
60 <col width="12" align="right">-{{discounts_display}}</col>
61 </row>
62 {{/discounts}}
63 <row>
64 <col width="*"> {{qty}} x {{unit_price_display}}</col>
65 <col width="12" align="right">{{line_total_display}}</col>
66 </row>
67 {{/lines}}
68
69 <!-- ── Fees / Shipping / Order-level discounts ─────────────── -->
70 {{#fees}}
71 <row>
72 <col width="*">{{label}}</col>
73 <col width="12" align="right">{{total_display}}</col>
74 </row>
75 {{/fees}}
76 {{#shipping}}
77 <row>
78 <col width="*">{{label}}</col>
79 <col width="12" align="right">{{total_display}}</col>
80 </row>
81 {{/shipping}}
82 {{#discounts}}
83 <row>
84 <col width="*">{{i18n.discount}}{{#label}}: {{label}}{{/label}}</col>
85 <col width="12" align="right">-{{total_display}}</col>
86 </row>
87 {{/discounts}}
88
89 <!-- ── Totals ─────────────── -->
90 <line />
91 <row>
92 <col width="*">{{i18n.subtotal}}</col>
93 <col width="12" align="right">{{totals.subtotal_display}}</col>
94 </row>
95 {{#tax_summary}}
96 <row>
97 <col width="*">{{#tax.display_excl}}{{label}}{{#rate}} ({{rate}}%){{/rate}}{{/tax.display_excl}}{{#tax.display_incl}}{{i18n.included_tax}}: {{label}}{{#rate}} ({{rate}}%){{/rate}}{{/tax.display_incl}}</col>
98 <col width="12" align="right">{{tax_amount_display}}</col>
99 </row>
100 {{/tax_summary}}
101 <line style="double" />
102 <row>
103 <col width="*"><bold>{{i18n.total}}</bold></col>
104 <col width="12" align="right"><bold>{{totals.total_incl_display}}</bold></col>
105 </row>
106 {{#totals.total_saved_incl}}
107 <row>
108 <col width="*">{{i18n.total_saved}}</col>
109 <col width="12" align="right">{{totals.total_saved_incl_display}}</col>
110 </row>
111 {{/totals.total_saved_incl}}
112 <line style="double" />
113
114 <!-- ── Customer note ─────────────── -->
115 {{#order.customer_note}}
116 <line style="dashed" />
117 <bold><text>{{i18n.customer_note}}</text></bold>
118 <text>{{order.customer_note}}</text>
119 {{/order.customer_note}}
120
121 <!-- ── Payments ─────────────── -->
122 {{#payments.0}}
123 <line style="dashed" />
124 <bold><text>{{i18n.paid}}</text></bold>
125 {{/payments.0}}
126 {{#payments}}
127 <row>
128 <col width="*">{{method_title}}</col>
129 <col width="12" align="right">{{amount_display}}</col>
130 </row>
131 {{#tendered}}
132 <row>
133 <col width="*"> {{i18n.tendered}}</col>
134 <col width="12" align="right">{{tendered_display}}</col>
135 </row>
136 {{/tendered}}
137 {{#change}}
138 <row>
139 <col width="*"> {{i18n.change}}</col>
140 <col width="12" align="right">{{change_display}}</col>
141 </row>
142 {{/change}}
143 {{/payments}}
144
145 <!-- ── Order barcode ─────────────── -->
146 <feed lines="1" />
147 <align mode="center">
148 <barcode type="code128" height="40">{{order.number}}</barcode>
149 </align>
150
151 <!-- ── Personal note ─────────────── -->
152 <feed lines="1" />
153 <align mode="center">
154 {{#store.personal_notes}}<text>{{store.personal_notes}}</text>{{/store.personal_notes}}
155 {{^store.personal_notes}}<text>{{i18n.thank_you_purchase}}</text>{{/store.personal_notes}}
156 </align>
157
158 <!-- ── Footer imprint ─────────────── -->
159 {{#store.footer_imprint}}
160 <line style="dotted" />
161 <align mode="center"><text>{{store.footer_imprint}}</text></align>
162 {{/store.footer_imprint}}
163
164 <feed lines="3" />
165 <cut />
166 </receipt>
167