Downloads

One till, every device.

macOSDetected

Version 1.9.9 · Apple Silicon · .dmg

Download for macOS

On an Intel Mac? Get the Intel build

Every app connects to the free WordPress plugin — install it first.

How it fits together

One store at the centre. Every till in sync.

  • One plugin is the only setupThe free plugin adds a secure REST API to your WooCommerce store. That’s the whole install — nothing to host or configure per device.
  • Every app reads and writes the same storeRing up a sale on the desktop, refund it on your phone — one set of products, orders and customers, updating in real time.
  • Offline-first, so the till never stopsEach device keeps working without a connection and re-syncs the moment it’s back online.

What stays in sync

  • Products & prices
  • Stock levels
  • Orders
  • Customers
  • Tax & receipts

Get started

Three steps to your first sale

It takes about two minutes, start to finish.

  1. 1

    Install the free plugin

    The foundation everything connects to. In your dashboard: Plugins → Add New, then search “WCPOS”.

    WCPOSFree · GPL

    Latest 1.9.14 · WordPress 5.6+ · WooCommerce 5.3+ · PHP 7.4+

  2. 2

    Pick your device

    All free, all in sync. Grab the one we detected up top, or any of these.

  3. 3

    Want more? Go Pro

    A licensed plugin that adds terminal payments, refunds and stock control on the same foundation.

    Unlock the full till

    Payments, refunds, stock & pricing, order management, end-of-day reports, multi-store and priority Discord support.

Release history

What’s new

Recent changes — every app shares one version line.

1.9.14LatestJul 31, 2026

Fixed

  • Receipt timestamps now respect your WordPress time format. Receipts could force 12-hour AM/PM times even when your site is set to a 24-hour clock. The receipt date formatter now follows the time format configured under Settings → General, while the store locale continues to control the date language.
  • Hardened cloud-print job handling. Bulk-cancelling print jobs now verifies it is acting on actual print jobs (a POS-level user could previously trigger status changes on unrelated posts), and cancelling is refused for jobs that are not waiting — so a failed job keeps its payload and stays retryable. Also adds regression coverage proving receipt text cannot inject printer control bytes into thermal output (a protection already shipped in earlier releases).

Changed

  • PHP 8.4+ build hardening. The bundled PDF engine now calls PHP 8.4's new functions directly instead of relying on runtime compatibility shims. Installs that loaded the shims were already protected, but a bootstrap that missed them (e.g. a partial plugin update) could fatal when rendering PDF receipts — that failure class is now gone entirely. The same issue broke PDF receipts on WCPOS Pro on PHP 8.4+, fixed separately in Pro 1.9.14.
  • Updated translations.
1.9.13Jul 26, 2026

Fixed

  • Garbled prints on Star CloudPRNT printers. After 1.9.12, receipts sent to Star CloudPRNT printers (the TSP100 line) could print the plain text lines followed by a metre of garbage characters, because cashier-initiated prints were still rendered as ESC/POS — which no Star CloudPRNT printer can decode. WCPOS now serves these printers native StarPRNT for cashier prints too, and automatically corrects the stored printer language on existing installs on the next settings sync (no reconfiguration needed). Other cloud printers are unaffected.

This is the print-path follow-up to 1.9.12's TSP100 StarPRNT fix.

1.9.12Jul 24, 2026

Patch release fixing Cloud Print on Star TSP100 printers and making customer receipt downloads opt-in.

  • Fixed cloud printing to Star TSP100 printers — StarPRNT-native Star printers (the TSP100/TSP100IV line) rejected Cloud Print jobs with a "510 Incompatible Media Type" error and never printed, because WCPOS sent them ESC/POS. WCPOS now serves these printers native StarPRNT, so Cloud Print works on the whole TSP100 family. Other cloud printers are unaffected.
  • Customer receipt downloads are now opt-in — the Receipt button on My Account → Orders (added in 1.9.11) is now off by default and turned on under Settings → General → Customers, with an optional picker to choose which template customers get. Stores that want it must enable it; the [wcpos_receipt] shortcode is unaffected.
  • Fixed the Cloud Print printer name being squeezed — a long or translated status label (eg: French "En attente de l'imprimante") no longer shrinks the editable printer-name field to a few characters; the status now sits on its own row.
  • Fixed receipt template selection for downloaded receipts — gallery templates now resolve correctly for customer receipt links, and the storefront receipt uses the template you selected.
  • Updated translations.
1.9.11Jul 24, 2026

✨ New Features

  • WCPOS Cloud Print relay — if your hosting or firewall blocks a cloud printer's direct connection (a permanent "Waiting for printer"), WCPOS now routes Star CloudPRNT and Epson Server Direct Print polling through the WCPOS Cloud Print relay automatically, and print jobs start on the printer's next poll instead of waiting for the next heartbeat. Printer cards tell you when a security layer is blocking cloud print. When the relay is used, print jobs (receipt contents) pass through cloudprint.wcpos.com — see the privacy FAQ. Site owners can opt out in code.
  • Cloud Print queue — the Cloud Print settings screen now shows a live queue of your print jobs and their status, so you can see what has printed, retry a failed job, and clear the backlog. Completed job payloads are stripped and old jobs are purged automatically.
  • Receipts on your online store — customers can download their order receipt as a PDF, rendered with your WCPOS receipt template, from a new Receipt button on My Account → Orders. A [wcpos_receipt] shortcode is also available for the order-received or custom pages.

🐞 Bug Fixes

  • Cloud printers that mangle the poll URL — printer credentials now travel in the URL path, so printer firmware that URL-encodes the query string (eg: Star TSP100IV) can authenticate. Existing configured printer URLs keep working.
  • WCPOS Pro license image — the Pro panel now loads its image correctly.

🧰 Maintenance

  • Updated translations (2026.7.6); CI merge-gate hardening and dev-dependency housekeeping.
1.9.10Jul 21, 2026

🐞 Bug Fixes

  • Stale prices on products converted from simple to variable — variable products now show the lowest price of their current visible variations in the POS, instead of a leftover price left behind by the conversion.
  • Fatal error in the receipt template editor on translated stores — receipt previews no longer crash when a translated label contains a literal percent sign (reported on Czech stores).
  • Cloud printer polling — Star CloudPRNT and Epson Server Direct Print polling URLs now include the marker WCPOS requires, so the URL you copy from the settings screen works as-is. Star results in the 2xx family (eg: 211 Paper Low) now count as printed rather than failed, and polling problems are recorded in the WCPOS logs with enough detail to act on.
  • Missing POS favicon — POS browser tabs and home-screen shortcuts show the WCPOS icon again.

✨ Improvements

  • Refresh button on the Extensions screen — re-check the extensions catalogue on demand instead of waiting for the hourly cache to expire.

🧰 Maintenance

  • Updated translations (2026.7.2); dev-dependency and CI housekeeping.
1.9.9Jul 18, 2026

🔒 Security

  • Hardened receipt/report template file resolution — the templates REST endpoint now validates the requested template type and confirms that resolved template files stay inside the plugin's trusted template directories, closing a path-traversal issue. All stores should update.

🐞 Bug Fixes

  • POS checkout, receipt and login URLs now follow your site's permalink trailing-slash style, so rewrite rules that force a trailing slash no longer redirect these links to an http target and get blocked as mixed content.

🧰 Maintenance

  • Updated translations; CI / test-matrix housekeeping.

Stores updating from 1.9.7 also receive the 1.9.8 changes in this release (checkout/receipt/login links respect the Force SSL setting; Force SSL toggle restored under Advanced settings).

Full history on GitHub — Free · Desktop