Skip to main content
Point of Salefor WooCommerce

From install to your first sale.

Setup is self-service, all in wp-admin, your Stripe Dashboard and the register itself.

Setting up, step by step

  1. Step 1: Install the plugin

    WordPress

    Upload the plugin under Plugins and activate it. WooCommerce has to be active first. You get a Point of Sale menu in wp-admin, with an overview, settings, locations and registers, and the audit log.

  2. Step 2: Connect Stripe

    WordPress

    Card payments use your Stripe secret key. Start with a test key, so you can try everything before taking real money. The plugin reads the key from the first of these that's set:

    • A WOOPOS_STRIPE_SECRET_KEY constant in wp-config.php
    • A WOOPOS_STRIPE_SECRET_KEY environment variable
    • The WooCommerce Stripe Gateway's settings, if you already use it online
    • Point of Sale → Settings shows which one is in use, and never shows the key.
    • Optionally, add a Stripe webhook as a backup to the register's own checks: point it at /wp-json/woopos/v1/stripe/webhook, and set its secret as WOOPOS_STRIPE_WEBHOOK_SECRET.
  3. Step 3: Add your locations and registers

    WordPress

    Under Point of Sale → Locations & registers, add a location for each store, with its address. Its address is used for tax and receipts. Then add a register for each counter device, such as “Front counter”.

    • For card payments, choose Create Stripe Terminal location from this address on each location. A location without one takes cash only, and the register says so.
    • Orders, cash drawers and reports record both the location and the register.
  4. Step 4: Register your card readers

    Stripe

    In the Stripe Dashboard, go to Terminal → Readers → Register reader and enter the code your reader shows. Assign it to that location's Stripe Terminal location.

    • Back in Locations & registers, you can pick each register's Default card reader. Without one, each device chooses its own reader.
    • In test mode, Add simulated reader gives you a reader to practice with before your hardware arrives.
  5. Step 5: Add your staff

    WordPress

    Give each person a WordPress account with the POS Cashier or POS Supervisor role. Shop managers and administrators can do everything.

    • On each person's profile, choose All locations or tick the locations they work at. New staff can't use a register until you do.
    • Cashiers can't get into wp-admin.
  6. Step 6: Set up each device

    At the register

    On each iPad, tablet or computer, open /pos/ on your site and sign in as a supervisor or manager. Choose which register the device is, then select Use this register. Cashiers who sign in on that device use that register from then on.

    • The first time each person signs in, a short guided setup lets them choose their text size, colors and layout. Their choices follow them to any register.
    • Settings → Install app shows how to add the register to the home screen, so it opens full screen like an app.
    • A device that isn't used for 90 days needs setting up again.
  7. Step 7: Set supervisor PINs

    At the register

    Supervisors, managers and administrators each set a 6-digit approval PIN under Settings → Approval PIN. They confirm it with their WordPress password. Then they can approve a cashier's price change, discount, return or paid out on the spot, without signing in.

  8. Step 8: Connect a receipt printer and cash drawer

    At the register · Optional

    Plug the cash drawer into the printer, and connect the printer to your network. Then, on the register it belongs to, open Settings → Receipt printer and card reader.

    • Choose Star printer (CloudPRNT) or Epson printer (Server Direct Print), and your paper width.
    • Choose Make a printer password, and enter the details it shows in the printer's own web settings.
    • Choose Print a test page to check it works.
    • Without a printer, receipts print through the device's own print dialog.
  9. Step 9: Add a barcode scanner and favorites

    At the register · Optional

    A scanner that types like a keyboard works straight away: scan an item and it's added to the sale. F2 jumps to scan and search from anywhere.

    • Supervisors and managers choose Edit favorites on the Sale screen to pick up to 24 big tiles for each location, in the order they want.
  10. Step 10: Practice in training mode

    At the register

    A manager can turn on training mode for a register, or for one person on their WordPress profile. Practice sales take cash, or test cards while Stripe is in test mode. They're marked as training, never open the drawer, stay out of reports and stock, and are deleted after 7 days.

  11. Step 11: Ring up your first sale

    At the register

    Open the cash drawer with a starting float, scan or search for an item, and take payment by card, cash or both. At the end of the day, count the drawer and close it to get its Z report.

Choosing a reader or printer? The hardware page lists what works. Stuck on a step? Send us a message.

Requirements

Everything your store, hosting and counter need, in one place.

WordPress
6.5 or later. A single site: multisite isn't supported yet.
WooCommerce
9.0 or later. High-performance order storage (HPOS) is supported, on or off.
PHP
8.1 to 8.4.
Database
MySQL 5.7 or later, or MariaDB 10.3 or later.
HTTPS
Required. The register only runs over HTTPS, and receipt printers only connect to your site over HTTPS.
Stripe
A Stripe account and a Stripe Terminal smart reader for card payments. Without them, the register takes cash.
Devices
An iPad, Android tablet, or Windows or Mac computer with a current browser, and a network connection. There's no offline mode.
Browsers
Chrome and Edge are tested automatically, at desktop, tablet and phone sizes. Safari on iPad, Chrome on Android, and Firefox and Safari on a computer should work, but aren't tested automatically yet.
Hosting and caching
Page caches and CDNs must not cache /pos/ or /wp-json/woopos/. Most already skip signed-in users. On nginx, one optional rule lets browsers keep the register's files for a year.
Language
The register's screens are in English for now. The wp-admin side can be translated.

Ring up a sale yourself.

The live demo is the real register, running in your browser with nothing to install. Turn on your screen reader and try a full sale.