Mobile vendor printing
Feature 053-mobile-vendor-printing (2026-09-04, #733). This page is the
product-facing companion to the generic-printing topology. Implementation
detail lives in Printer Vendor Port.
What changed for a merchant who already set up printers under 052
Saved printers are upgraded in place when passive evidence identifies a
manufacturer. Name, stations, and identity stay. Printed bytes stay
receipt-escpos — the vendor path changes delivery and status, not the slip.
A merchant who force-locks a printer back to generic
(vendorLockedGeneric) is left alone by later backfills.
What works in this tree
| Capability | Runtime status |
|---|---|
| Identify Star / Epson / Bixolon / Sunmi from scan or saved evidence | Shipped (resolveVendor) |
| Drive Star via StarIO10 (LAN, BLE, classic BT, USB) | Shipped when the native module loads |
| Android classic Bluetooth (SPP) and USB for any ESC/POS printer | Shipped (generic:spp, generic:usb) |
| Paper / cover state | Star adapter only. Generic status() reports supported: false |
| Cash drawer with a receipt | PrinterSession.openCashDrawer() on the print path |
| Cash drawer with no sale | Backend POST /cash-drawer/open + CashDrawer permission |
| Epson / Bixolon vendor SDK adapters | Profiled, not registered. They print on the generic path |
| Sunmi built-in AIDL printer | Profiled, not registered. No generic fallback |
| Auto-provision of a Sunmi built-in row | Column is_auto_provisioned exists; no application writer in this tree |
What sales may now say
Update the older "no vendor SDK in this release" line:
- Android reaches network, BLE, classic Bluetooth, and USB printers. A recognised Star uses Star's software and can report paper out.
- iPhone / iPad still print to network and BLE. Star Bluetooth is
available when StarIO10 is in the binary. Epson Bluetooth on iOS waits
on an MFi PPID and is declared
awaiting_mfi_approvalrather than offered as working. - A no-sale drawer open is an audited permission, not a hidden button.
Full wording: Mobile printing limits.