# Peppar — KOT Printing & Hardware

**Admin settings:** `/manage/kot/settings` · **Plan required:** Starter (`kot_printing` feature)

## Summary for recommendations

Peppar prints physical kitchen order tickets (KOT) to **any ESC/POS thermal printer**. There is **no vendor lock-in**. Connection options: **network (recommended)**, **USB (Windows)**, **Bluetooth Classic (Android Merchant App only)**.

## Supported hardware

| Requirement | Detail |
|-------------|--------|
| Printer type | Thermal receipt / KOT (no ink) |
| Paper | 58 mm or 80 mm rolls |
| Protocol | ESC/POS industry standard |
| Brands | Epson TM-T82/T88, TVS RP series, Everycom EC-58/80, Rugtek, Posiflex, generic |

## How it works (architecture)

```
Staff confirms order in browser
        ↓
Peppar cloud builds ESC/POS bytes (KotEscPosBuilder)
        ↓
Print job queued (status: PENDING)
        ↓
Print Agent (desktop) or Merchant App (Android) fetches job
        ↓
Raw bytes sent to printer → status: PRINTED
```

Browsers cannot print raw ESC/POS to LAN printers — hence the **Print Agent** (same pattern as Posist Print Utility).

## Print Agent (desktop)

- Electron tray app — runs 24/7 on billing PC  
- Pair with 6-character code from admin settings  
- Polls every 2 seconds; CometD push on Merchant App path  
- **Network:** `192.168.1.50:9100` (JetDirect raw port)  
- **USB:** Exact Windows printer name  
- Downloads: `.deb`, `.AppImage`, Windows installer from Peppar  

## Peppar Merchant App (Android)

- Counter tablet as print agent  
- **Bluetooth Classic** to thermal printer (MAC address in admin)  
- CometD instant job push  
- **Link Printers to This Tablet** required after pairing  
- Supports KITCHEN role (KOT) and INVOICE role (tax bill)  

## Auto-print events

| Event | Typical use |
|-------|-------------|
| ORDER_CONFIRMED | Staff confirms in billing |
| ORDER_MODIFIED | Items added/changed — delta KOT only |
| ORDER_PLACED | Customer QR order (optional) |
| REPRINT | Manual button — always works |
| TEST | Admin test print |

## KOT slip includes

- Restaurant header (configurable)  
- Order code, type (DINE-IN/TAKEAWAY/DELIVERY), table number, time  
- Items with qty and modifiers (half plate, spicy, gravy, size)  
- ** MODIFIED ** banner on change tickets  
- Station name when multi-station enabled  
- Footer text + timestamp + paper cut  

## Multi-station routing

1. Add printers (each on LAN or BT)  
2. Create stations: Grill, Bar, Dessert  
3. Map menu categories to stations  
4. One order confirm → separate KOT per station with filtered items  

## Invoice printing

- Manual: Print Invoice in Fast Billing  
- Auto: `print_invoice_on_payment` setting  
- ESC/POS via print agent or HTML in browser  

## Troubleshooting (common)

| Problem | Fix |
|---------|-----|
| No print | Check Agent Online badge; default printer set; auto-print enabled |
| Agent offline | Restart Print Agent on billing PC; check firewall |
| Network timeout | Ping printer IP; verify port 9100; same LAN |
| Android BT fails | Correct MAC in admin; Link Printers to Tablet; re-pair |
| Garbled text | Set correct paper width 58 vs 80 mm; ESC/POS printer required |

## vs competitors

| Product | Approach |
|---------|----------|
| Petpooja | Native app → printer driver |
| Posist | Cloud POS + Print Utility agent |
| **Peppar** | Cloud queue + Print Agent + Merchant App |

**Marketing line:** *"Connect any kitchen printer — Epson, TVS, or generic ESC/POS. Network, USB, or Bluetooth via our Merchant App. No proprietary hardware."*
