Printing — A4 PDF & thermal receipts
Fexl Lite prints invoices two ways: a full A4 PDF rendered through a Handlebars-style template engine, or an 80mm thermal receipt through a USB ESC/POS printer. Same invoice, two outputs — A4 for VAT-compliant business documents, thermal for the customer at the counter. This page is the one to bookmark when the printout doesn’t look right.
A4 PDF — the four built-in templates
Every tenant ships with four built-in templates, configurable under Settings → Invoice Templates. The active template is the one used for Save PDF and Print on the invoice detail dialog.
- Modern — clean, contemporary, colour accents in the header. Default for new tenants.
- Classic — traditional bordered table, widest column count, best for B2B and VAT-heavy markets.
- Minimal — sans-serif, tight whitespace, no chrome. Good for retailers who hate borders.
- Compact — receipt-shaped A4 with minimal margins; 14 line-item rows per page. Useful when you regularly issue 50+ line invoices.
The visual editor
Each template is editable through the visual editor — no HTML required for most changes. You can adjust:
- Header (store info, logo, invoice title text).
- Body columns (which fields show, in what order, how many rows per printed page).
- Footer (terms, signature line, custom text per stamp).
- Branding (your logo, colours, optional QR with the invoice number).
You can clone a built-in to a custom template at any time — the new template lives at custom-<timestamp> and is fully editable. Built-in templates can be overridden (header, footer, columns) without losing the ability to revert.
Where to configure
Open Settings → Invoice Templates
The list shows all four built-ins plus any custom templates. The active one has a green Active badge.
Edit or clone
Pencil icon opens the visual editor. The clone icon copies the template to a new custom row.
Set as active
The check icon promotes the template — it becomes what Save PDF and Print use across the whole tenant. There is one active template per tenant; per-channel templates aren’t supported.
Thermal receipts — ESC/POS, 80mm, Tauri only
Thermal printing runs through the Rust receipt module in the desktop app (com.minib2c.pos bundle id). It speaks ESC/POS over USB at a fixed 48-character width — the same protocol almost every cheap thermal printer supports out of the box.
Setup
Configure under Settings → Printer:
- Pick the USB device from the auto-detected list.
- Choose what the receipt header / footer text says.
- Choose whether the invoice number renders as plain text or a QR code (handy for warranty lookup).
A Test print button runs a one-page test through the device — use it to confirm wiring before sending a paying customer’s receipt.
Friction to know about
- No printer connected — the Print Receipt button still works, but the toast surfaces one clean error with a deep-link to Settings → Printer, not the raw driver message.
- Wrong character width — if your receipts wrap mid-line, the printer is in 32-char mode. Most ESC/POS printers ship in 48-char by default; the device’s own panel has the toggle.
- Logo cut off at the top — thermal printers can’t render full-colour logos. Fexl Lite renders the store name in larger bold text instead.
Quick comparison
| A4 PDF | Thermal receipt | |
|---|---|---|
| Available on | Web + desktop | Desktop (Tauri) only |
| Width | A4 (or A5 for Compact) | 80mm / 48 chars |
| Templates | 4 built-in + custom | One layout, configurable header/footer |
| Use for | VAT records, B2B, archives | Customer at counter |
| Triggered by | Save PDF / Print | Print Receipt |