下载

一个收银台,适配所有设备。

macOS已检测到

版本 1.11.1 · Apple Silicon · .dmg

下载 macOS 版

使用 Intel Mac?获取 Intel 版本

每个应用都连接到免费的 WordPress 插件——请先安装它。

它如何协同工作

一个商店居于中心。每个收银台保持同步。

  • 唯一需要设置的是一个插件免费插件会为您的 WooCommerce 商店添加安全的 REST API。这就是全部安装内容——无需为每台设备托管或配置任何东西。
  • 每个应用都读写同一个商店在桌面端完成销售,在手机上退款——同一套商品、订单和客户数据,实时更新。
  • 离线优先,让收银台不停机每台设备都能在无连接时继续工作,并在重新联网时立即重新同步。

保持同步的内容

  • 商品和价格
  • 库存水平
  • 订单
  • 客户
  • 税费和收据

开始使用

三步完成第一笔销售

从开始到完成大约只需两分钟。

  1. 1

    安装免费插件

    这是所有内容连接的基础。在您的仪表盘中:插件 → 安装插件,然后搜索“WCPOS”。

    WCPOS免费 · GPL

    最新 1.11.2 · WordPress 5.6+ · WooCommerce 5.3+ · PHP 7.4+

  2. 2

    选择您的设备

    全部免费,全部同步。下载上方检测到的版本,或选择以下任意一个。

  3. 3

    想要更多功能?升级 Pro

    一个授权插件,在同一基础上添加终端付款、退款和库存控制。

    解锁完整收银台

    付款、退款、库存和定价、订单管理、日终报表、多店铺以及优先 Discord 支持。

发布历史

最新变化

近期插件发布。桌面版另行编号。

发布说明来自 GitHub,可能会以英文显示。

1.11.2最新2026年10月15日
  • The POS no longer grows in memory through a cashier day. Background sync reads, the search index's start-up reads and the storage engine's change history were each kept for the life of the page; an all-day till on web, desktop and mobile now holds steady.
  • Desktop no longer adds a listener on every sync poll. Each change check left one more abort handler on the store's connection, thousands over a day.
  • Process Payment stops spinning when the store's pay page blocks a sale. A third-party gateway script that vetoes the submit is reported back with the store's notice instead of leaving the button busy.
  • Cash and Card tenders submit the pay form directly, so another gateway's checkout script can no longer cancel them.
  • Stripe's checkout script stays off the POS payment page on stores with an older saved script list. The shipped removals are now a floor that a saved list adds to, and they show as always removed in Checkout Settings.
  • The pay page always has a payment method preselected. A default gateway that was disabled or removed now falls back to the first enabled one instead of failing with "Invalid payment method".
  • Receipt PDFs keep Greek and other non-Latin text instead of printing "?" for labels, dates and payment methods.
  • The plugin download is a third smaller. Template gallery previews load from a CDN and unused PDF fonts are no longer bundled.
  • Developers: translations updated to 2026.10.0; a site can host its own gallery previews with the woocommerce_pos_template_gallery_preview_base_url filter.
1.11.12026年10月15日
  • Cash and card payments work again on stores running WooCommerce Stripe 11.1.0. Stripe's checkout script now stays off the POS payment page, where since Stripe 11.1.0 it blocked every other payment method with "Payment failed. Please try again."
  • A payment page for an order that no longer exists answers "not found" instead of crashing inside another gateway's code.
  • Free sites offer Cash and Card at the till consistently. The free-tier gateway rule applied only to the settings screen; it now applies wherever the POS reads its gateways, and falls back to an enabled gateway rather than a disabled default.
  • POS login lockouts are keyed by account and connecting device. Forwarded address headers are no longer trusted, and five wrong passwords from one place no longer lock the cashier out everywhere.
  • The POS login page only redirects to known origins. A sign-in link can no longer hand the cashier's tokens to another site.
  • A failed sign-in no longer leaves a phantom session in the Sessions list.
  • Developers: the uninstall cleanup definitions load on their own so Pro can reuse them; CI fails when the vendored worker's RxDB moves inside a published plugin lane.
1.11.02026年10月14日
  • Sync now finishes its check for records deleted on the store. Tills on some stores rejected that check and never removed orders or customers deleted in WooCommerce.
  • A guest customer entry no longer stops customer sync. A change recorded for the Guest customer could stall the customer lane on a till.
  • Long product searches no longer fail on variable products. Searches of more than ten words, or a long scanned barcode, now return results instead of an error.
  • Orders no longer go missing from search. A background index cleanup could restore an order's older text, so a sale stopped matching its own order number.
  • Checkout failures show one error, not two. A failed sale reported the same error twice; it now shows once, with the store's reason when one is given.
  • Adding a customer whose email already exists now says so. The store's message, such as "an account is already registered with this email", replaces a generic error.
  • A cashier who is signed out in another tab now sees why sync is paused. The till recovers on its own as soon as another tab renews the session.
  • Stores behind a caching host can connect again. A host cache that replayed old responses no longer blocks connecting; the app works around it.
  • Damaged local sync data repairs itself. A damaged row in a till's record of which orders exist on the store is now dropped and re-checked with the store, instead of being refused on every launch.
  • The app no longer rebuilds its local storage indexes on every launch. A storage check mistook normal edits for damage and rebuilt the indexes each time the app reopened.
  • A payment page that fails to load on Android now offers Retry. Process Payment no longer spins forever when the store's payment page cannot load.
  • Typing quickly in Android search no longer logs sync errors. A search cancelled by the next keystroke is now treated as cancelled.
  • Opening the POS page no longer signs out a till that is already open. A page load now reuses the browser's live session instead of revoking it.
  • The POS survives a plugin update in progress. A request that lands mid-update retries instead of failing, and Site Health checks the plugin's files against the published checksums.
  • PrintNode and Star cloud printing stop retrying a bad key or account. A 401, 403 or 404 fails once with a clear message.
  • Cloud printing explains that it needs HTTPS. Sites without HTTPS get a clear message instead of a relay error.
  • A shop manager can no longer list or end an administrator's POS sessions. On multisite this includes administrators of archived or deactivated network sites.
  • The order-pay coupon form requires the order key, as the pay form already does.
  • Refunds stay attached to matched orders on HPOS stores.
  • POS Only products are hidden from ID-listing queries and related products.
  • The old /wcpos-login/ page is retired, and lookalike paths no longer serve the sign-in form.
  • Order paid dates follow one rule for all three payment-complete answers.
  • Developers: storage engine updated to RxDB 17.6.0; clearer error reports for failed pushes and checkout timeouts; Guest (customer id 0) never enters the sync journal; the order-meta receipt snapshot is no longer written and existing rows are cleaned up; a query-string token signs in REST requests only; the scheduled integrity digest rebuild retries on database contention; updated translations template.
1.10.272026年10月12日
  • The pay window closes a sale on the stored Order Status of whichever gateway the cashier picks on the pay page, not only the gateway the sale opened with. A bank transfer chosen inside the pay page on a store whose default gateway is something else no longer leaves the till waiting on a checkmark.
  • A gateway that lands a POS order on its stored unpaid status never marks the order as paid. 1.10.26 fixed this for bank transfer, cheque and cash on delivery; it now holds for every gateway, including third-party ones, and for a save made by another plugin between the status filter and the gateway's own write.
  • POS Only products show in WooCommerce Analytics and WP-CLI again. They stay hidden from the storefront only; a category report over POS Only products no longer reads "No data".
  • Developers: a new filter, woocommerce_pos_hide_pos_only_products, switches the storefront exclusion off for a context of your own.
1.10.262026年10月12日
  • A sale through a gateway set to land on Pending payment or On hold now closes at the till. The pay window no longer hangs on a checkmark with the order left in the cart; once the order reaches the status you stored for that gateway, the sale is done. Failed, cancelled and parked orders never close this way.
  • A bank-transfer, cheque or cash-on-delivery sale set to land on an unpaid status is no longer marked as paid. Such an order was stamped with a paid date and counted as revenue in Analytics while nothing had been paid; it now stays unpaid until payment is recorded.
  • A server error quoted on the Logs screen keeps its comparison operators. Only real HTML tags are stripped from the quoted text now.
  • Updates the bundled Sentry PHP SDK to 4.33.2.
1.10.252026年10月8日
  • Saving or checking out a sale no longer fails with "Allowed memory size exhausted" on a store with a few thousand orders. Since 1.9.0 every order save loaded the 200 most recent orders to guess which field holds VAT numbers; it now asks the database one small question instead.
  • A damaged row in the till's own bookkeeping no longer blocks the local database. The till discards the row on the spot instead of refusing the read on every launch; sales, products and customers are never discarded this way.

GitHub 上的完整历史 — 免费 · 桌面版