Tuỳ biến (Customization)Cài đặt bán hàng (Setting Sale)
Tab Receipt Print
Template in hoá đơn POS + QR Link section (tích hợp QR thanh toán dán trên hoá đơn).
Tab receiptprint của /setting-sale/general.
Vị trí menu admin
POS Settings > In hoá đơn. URL: /setting-sale/general/tab/receiptprint.
Component: features/setting/sale/SettingSaleReceiptPrint.tsx.
Section "In hoá đơn POS"
<FormLayoutCard title="setting:pos_print_section">:
| Field | Loại | Ghi chú |
|---|---|---|
pos_receipt_template | <SettingInputReceiptTemplate previewWidth={320}> | Editor template với preview live width 320px. Thường là HTML/Markdown layout cho receipt. |
| Collapse "Print Template Variable" | <ProductReceiptPrintVariable> | List các biến hỗ trợ ($order_id, $customer_name, $item_list, $total, $payment_method...). |
Section "QR Link"
<SettingSaleQrLink form={form}> - sub-component cấu hình QR thanh toán dán vào receipt:
- URL pattern QR (chứa biến
{amount},{order_id}). - Bank account info (số tài khoản, ngân hàng, tên chủ TK).
- Toggle hiện QR trên template chính.
Lưu qua schema getSaleQrLinkSchemas().
Khi nào dùng
- Tuỳ chỉnh layout in hoá đơn theo template doanh nghiệp (logo, footer, ngôn ngữ).
- Tích hợp QR Code thanh toán (VietQR, MoMo QR, banking QR...) tự động sinh trên receipt.
- Test preview trước khi lưu.
Các lối đi từ trang
- Tab order_print trong
/setting/commondùng cùng component nhưng setting key khác - xem Order Print.
Lưu ý - Lỗi thường gặp
- Preview hiển thị sai font: preview dùng iframe internal CSS, có thể khác máy in nhiệt thực tế. Print test trên máy in thật.
- Variable không render: tên biến trong template phải khớp
<ProductReceiptPrintVariable>. Sai tên = render text raw. - Width 320 không đủ cho A4: template thiết kế cho receipt nhiệt 80mm/58mm. Để in A4, dùng template khác trong Setting Common Order Print.
- QR không hiện: kiểm tra QR Link section đã cấu hình + bật toggle.
Ai được xem và chỉnh?
- Người có quyền Cài đặt công ty / quản trị cài đặt mới mở và chỉnh được.
- Save: cùng role.