| 开发者 | erenlabs |
|---|---|
| 更新时间 | 2026年8月25日 00:27 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
wp-admin, on the machine already sitting at the counter: scan, cart, discount, take payment, print the receipt.languages/eren-labs-retail-pos-for-woocommerce.pot). Translations for the free version are served as WordPress.org language packs from translate.wordpress.org — nothing is bundled, so you always get the current community translation. A language switcher on the POS screens lets each user read the plugin in a language of their own, separately from the rest of wp-admin, using whatever language packs WordPress has installed; anything else falls back to English. Right-to-left languages get an RTL layout.
Documentation
Full documentation lives at https://erenlabs.net/eren-labs-retail-pos-for-woocommerce/docs/: a walkthrough of every screen, what each setting does, how scanning resolves a code, how returns refund and restock, and a troubleshooting section for the questions the counter actually raises.
Pro
Retail POS Pro adds what a full-day retail counter needs:
_barcode meta, WooCommerce's GTIN field (_global_unique_id), or the SKU (optionally kept in sync with the SKU on save)._wc_cog_cost (Cost of Goods) and _cost. The free version only writes it — there are no margin or profit figures anywhere in free; profit reporting is a Pro feature.eren-labs-retail-pos-for-woocommerce folder to /wp-content/plugins/.manage_woocommerce) to open the POS screens.Not for a shop counter. WooCommerce can take a manual order from the admin, but it will not scan a barcode, it does not quote gross prices to a cashier, it prints no receipt, and it takes several screens per sale. This plugin is the counter layer on top of it — the catalogue, stock, tax and orders stay WooCommerce's. There is a fuller comparison here: what WooCommerce's built-in order screen does and does not cover.
At https://erenlabs.net/eren-labs-retail-pos-for-woocommerce/docs/. It covers the sale screen, scanning, returns, barcode labels, the POS order list, the dashboard, languages, and troubleshooting.
Any scanner gun that types into a text field — the usual USB or Bluetooth HID kind — works, and you do not have to program an Enter suffix into it. The scan box fires by itself once four or more characters land (and on Enter as well), and it takes focus back after every action, so the next scan always lands in the right place. If a scan comes back "product not found", these are the three fields to check.
Yes, with no app to install. A camera button on the scan box opens a live viewfinder: browsers with a built-in BarcodeDetector (typically Android Chrome) decode natively, and where there is none (typically iOS Safari) the bundled ZXing decoder takes over. If a damaged or dense label will not read live, "Read from photo" takes a still and retries it twelve ways. Camera scanning is on the Sell and Returns screens; the Labels screen takes a scanner gun or a typed code. Browsers only release the camera on a secure connection, so the site has to be served over HTTPS. There is a longer write-up of how this works in practice: scanning barcodes at the till with just a phone.
No. Search by name or SKU and pick from the results. When you do want them, the Labels screen prints scannable barcode labels for any product that already has a SKU or barcode, and the plugin can keep a product's barcode in step with its SKU on save.
Yes, and it is a setting if you would rather it did not. Stock reduction goes through WooCommerce core, so lookup tables and integrations stay correct. Stock-managed lines are capped at the stock on hand while you build the cart, and after the sale a snapshot shows what is left of everything you just sold.
Yes. They are ordinary WooCommerce orders tagged as POS sales, they take the status you configure (Completed by default), and they show up in your reports and integrations like any other order.
Yes. Every figure the terminal quotes — each cart line, the subtotal and the Complete sale button — is the gross, tax-inclusive amount the customer hands over, even if your shop displays prices excluding tax elsewhere. WooCommerce calculates the tax itself, so your rates and tax classes apply unchanged, and a percentage or fixed discount scales the line totals proportionally so VAT stays right in a mixed-rate basket.
Not in the free version: one sale is settled with one payment method covering the full total. Split payments, partial payment and a customer credit ledger are Pro features.
Yes. Scan or search products into the Labels queue, choose how many copies of each, and print. EAN-13 and EAN-8 are auto-detected with a Code 128 fallback, and the label size in millimetres and what appears on the sticker are set in Settings.
The receipt opens as a narrow monospace window sized for thermal roll paper and prints through your browser's own print dialog, so any printer your browser can print to — including a thermal roll printer — will do. There is no driver-level or ESC/POS printer integration in the plugin.
Anyone who can manage WooCommerce — the Shop manager role, plus administrators — can open the POS screens; nobody needs a full administrator account to work the counter. Developers can point the rpsw_capability filter at a different capability.
Yes — returns are blind. Scan what the customer brings back, refund it, and stock is restored automatically when stock reduction is on; the payout is recorded as a refunded POS order so the day's figures stay honest. There is no stock cap on the returns cart, so you can take back more than the shop currently holds. What a blind return actually does, step by step.
No. This is a WordPress admin screen and it needs a live connection to your site — every scan, search and sale is a request to WordPress. If the internet drops at the counter, the terminal stops with it.
Every string is translatable. The plugin ships its translation template only; translations are served as WordPress.org language packs, and a switcher on the POS screens lets each user read the POS in any language WordPress has a pack installed for, independently of the rest of wp-admin. Anything else falls back to English, and right-to-left languages get an RTL layout.
The plugin removes its own options and scheduled events and stops there. Your products, stock, customers and orders stay exactly as they are — including the POS ones, because they are ordinary WooCommerce orders and always were.
languages/eren-labs-retail-pos-for-woocommerce.pot) and no catalogs of its own, so translations are served as WordPress.org language packs. A per-user language switcher lets each cashier read the POS in a different language from the rest of wp-admin, with English as the fallback.