User manual · for CloudPOS.vu on the Web

CloudPOS-WebPrinting

A small local program that lets CloudPOS.vu on the Web print receipts to your thermal printer. This manual explains how to install it and use its configuration screen.

What it does (and why you need it)

When you run CloudPOS in a web browser, the browser cannot send print jobs to a receipt printer on its own — this is a hard browser security rule. CloudPOS-WebPrinting is a tiny program that runs on the same computer as the browser. The web app sends the receipt to the proxy; the proxy forwards it to the printer.

CloudPOS-WebPrinting configuration screen
The configuration screen of CloudPOS-WebPrinting (open at http://127.0.0.1:9101).
Web version only. This proxy is for the web build of CloudPOS. The native desktop / mobile builds print directly and do not need it.

It supports two ways to reach a printer:

Install on a POS terminal

You only need the single file cloudpos-printing.exe (≈ 3.5 MB, no dependencies to install).

1
Copy cloudpos-printing.exe to a permanent folder, for example C:\Program Files\CloudposPrinting\.
2
Run it once. For a quick test, double-click it (it starts in combined mode — server + tray icon). A tray icon appears in the bottom-right of the screen.
3
Right-click the tray icon → Config… (or left-click it) to open the configuration screen in your browser.
For production use you will want it to run automatically and survive logouts — see Run as a service + tray icon. The quick test above is enough to verify everything works.

The configuration screen

This is the screen shown in the screenshot above. Here is what each part does.

1 · Printer mode (Windows Spooler / TCP / IP)

A
Windows Spooler — choose this for a USB printer, or for a network printer that is already installed in Windows. A Receipt printer dropdown appears; pick your thermal printer (e.g. EPSON TM-T88V Receipt). Leave it as System default to use the Windows default printer.
B
TCP / IP — choose this to reach a network printer by its IP only. Two fields appear: Printer IP address / host (e.g. 192.168.1.50) and Port (usually 9100). The printer accepts the bytes silently and may not respond — that is normal.

2 · Network — Proxy listen port

The port the web app connects to (default 9101). You almost never need to change this. If you do change it, the proxy must be restarted for it to take effect, and the Proxy URL inside CloudPOS must be updated to match.

3 · Security token

A secret that proves to the proxy that your CloudPOS app is allowed to print. Without it, any website the operator opens could print garbage to your printer. Click Copy to copy it.

Treat the token like a password. Anyone who has it (and access to the terminal) can print. To change it, click Regenerate token, then re-pair CloudPOS with the new value.

4 · Action buttons

Save settings (blue)Stores your choices. Most apply instantly; a port change needs a restart.
Test print (outline)Prints a small sample receipt to confirm the proxy can reach your printer. Always do this after choosing a printer.
Regenerate token (red)Creates a brand-new token and discards the old one. Re-pair CloudPOS afterwards.
Recommended first-time sequence: pick your printer → Test print → confirm a receipt comes out → Copy the token → Save.

Pair with the CloudPOS web app

A one-time setup on each terminal:

1
In CloudPOS (web): Settings → Printers → Add Printer, pick Local Proxy (Web only).
2
Leave Proxy URL as http://127.0.0.1:9101.
3
Paste the token you copied from this screen.
4
Test connection → should say “Proxy connected”. Then Test print to confirm a receipt prints.
5
Save. Assign that printer to your POS terminal as its receipt printer. Done.

Run as a service + tray icon (production)

For reliable printing that survives logouts and starts at boot, run the proxy as a Windows service (no icon), plus a tray app for the Config menu. Both come from the same .exe with different flags:

PartCommandStarted by
Service (no icon, boots at start)cloudpos-printing.exe --serveNSSM (auto)
Tray (Config / About menu)cloudpos-printing.exe --trayWindows Startup folder (per user)

The two share the same settings and token (in C:\ProgramData\CloudposPrinting\), so configuring one configures both.

Install the service (with NSSM)

Download NSSM, then in a terminal as Administrator:

set EXE=C:\Program Files\CloudposPrinting\cloudpos-printing.exe

nssm install CloudposPrinting "%EXE%"
nssm set CloudposPrinting AppParameters "--serve"
nssm set CloudposPrinting AppDirectory "C:\Program Files\CloudposPrinting"
nssm set CloudposPrinting Start SERVICE_AUTO_START
nssm set CloudposPrinting AppStdout  "C:\ProgramData\CloudposPrinting\service.out.log"
nssm set CloudposPrinting AppStderr  "C:\ProgramData\CloudposPrinting\service.err.log"
nssm start CloudposPrinting

Start the tray at login

Create a shortcut to cloudpos-printing.exe --tray and place it in the Startup folder (press Win+R → type shell:startup).

Why two parts? A Windows service runs in a hidden session that cannot show a tray icon. Splitting into --serve (the worker) and --tray (the menu) is the only way to have both reliable boot-time printing and a tray icon.

Tray menu

Config…Opens this screen in the browser.
AboutShows version, build, listen address, current mode, and file locations.
Open data folderOpens %ProgramData%\CloudposPrinting (logs, settings, token).
ExitCloses the tray app (the service keeps running if installed separately).

Troubleshooting

“Test print” does nothing / “Cannot reach the proxy” in CloudPOS

Connection works, but nothing prints

Files & locations

ProgramC:\Program Files\CloudposPrinting\cloudpos-printing.exe
Settings%ProgramData%\CloudposPrinting\settings.toml
Token%ProgramData%\CloudposPrinting\token.txt
Log%ProgramData%\CloudposPrinting\cloudpos-printing.log