Skip to main content
Point of Salefor WooCommerce

A register built with the people who use it.

Prolific Digital built this point of sale with American Printing House for the Blind, so blind and low-vision staff can run the counter on their own. Then we made sure it works for every WooCommerce store.

We went looking for an accessible register. We couldn’t find one.

We’ve worked with WooCommerce for more than 10 years. None of the point of sale systems we found could be run by a blind cashier from start to finish, and none were made to be built on. So we built the one we kept wishing we had.

Accessibility that survives the next update

On the registers we worked with, we fixed labels, focus and announcements ourselves, and the next plugin update overwrote every fix. Accessibility you have to keep putting back isn’t accessibility.

Here it’s part of the register itself. It’s designed in from the first screen, and automated accessibility checks cover every screen and dialog, so an update can’t quietly take it away.

Built on the hooks WordPress is built on

Most registers give you very little to build on. Ours uses the same actions and filters as WordPress itself, with more than 30 documented hooks and a JavaScript API for adding screens to the register.

We hold ourselves to it, too. Training mode, receipt printing and the card reader display all run on the same hooks your own plugin would use, so anything we can add to the register, you can too.

Give loyalty points for every register sale
add_action( 'woopos_order_paid', function ( $order, $ctx ) {
    my_loyalty_add_points(
        $order->get_customer_id(),
        $order->get_total()
    );
}, 10, 2 );

Shaped with the people it’s for.

We built it with American Printing House for the Blind (APH) for the shop and front desk of APH’s new museum, where some of the people at the register are blind or have low vision.

That meant designing for the hard cases first: a cashier who never looks at the screen, a supervisor approving a refund by PIN, a drawer counted and closed by someone using a screen reader. If those work, everything else does too.

Then we made sure it works for any WooCommerce store, a gift shop, a café, a bookstore or a box office. Nothing in the register is tied to a museum. Because a register that works without the screen also works better with it.

How the register is designed for accessibility

What we believe.

Five principles every screen and every update is held to.

  1. Non-visual use is the main path, not a fallback.

    Every flow is designed for a screen reader user as well as a sighted one. Nothing needs a sighted colleague to finish.

  2. Speed under pressure.

    The most common sale, scan, pay, done, takes the fewest steps, and nothing slows down a line.

  3. Money is never ambiguous.

    Totals, change due and payment state are always stated plainly, on screen and out loud.

  4. The server is the source of truth.

    The register never decides what something costs or whether an order is paid. Your site does.

  5. Works for any store.

    It shows your store's own name, and nothing in it is tied to one kind of business.

Who’s behind it.

Prolific Digital

We’ve worked with WooCommerce for more than 10 years. We designed and built the register, and we keep it current with every release of WordPress and WooCommerce.

Visit Prolific Digital

American Printing House for the Blind

APH shaped the register around the people who’d use it, for the shop and front desk of its new museum.

Want to talk about your store? Send us a message. It comes straight to the team that built it.

Questions, answered.

Licensing, setup, hardware, and what it’s like to run the counter.

Talk to the people who built it

Send us a question before or after you buy. It goes straight to the team at Prolific Digital.

Contact us

Licensing and setup

Who can use it?

Any business with a WooCommerce store and a license. A gift shop, a café, a bookstore, a box office or a museum front desk all work the same way. Nothing in the register is tied to one kind of business, and it shows your store's own name.

How is it licensed?

It's a paid plugin, licensed per location. Contact us for pricing. A license covers one location, and while it's active you get every update and every new feature as it's released, for the current release of WordPress and WooCommerce.

Is setup self-service?

Yes. You install the plugin, connect your Stripe account and set up your location and registers from wp-admin. If you get stuck, send us a message through the contact form.

Which versions of WordPress and WooCommerce does it support?

The latest releases, and we keep pace with new ones as part of your license. The minimums are WordPress 6.5, WooCommerce 9.0 and PHP 8.1. It supports WooCommerce's high-performance order storage (HPOS).

Accessibility

Which screen readers is it designed for?

It's designed for the screen readers cashiers actually use: JAWS and NVDA on Windows, and VoiceOver on iPad and Mac. It's built on standard, well-labeled controls rather than tricks for one screen reader, so every flow, from the first scan to the receipt, follows the same rules. That includes split payments, returns and exchanges, and the supervisor's PIN pad.

Do my staff need to use a screen reader to benefit?

No. The things that make it work without the screen also make it faster with one: big totals you can read across the counter, a single key (F2) to get back to scanning, and plain answers to "how much" and "is it paid". Staff can choose light, dark or high contrast, and set their own text size.

What standard does it meet?

WCAG 2.2 AA at minimum, with AAA contrast wherever it's practical. Every screen and dialog is scanned automatically, including in high contrast at 200% text, and it supports Windows forced colors and reduced motion.

Setting up

What hardware do I need?

An iPad, Android tablet or computer with a current browser. For cards, a Stripe Terminal smart reader such as the Stripe Reader S700 or S710. The hardware page lists every reader that works. Optionally, a USB or Bluetooth barcode scanner, and a Star CloudPRNT or Epson receipt printer, which also opens the cash drawer.

Do I need Stripe?

For card payments, yes. Today the register is tested only with Stripe Terminal, and support for more payment providers will come later. You can also take cash, record a payment taken on a separate terminal, and split one sale across card, cash and store credit.

What about PCI compliance?

Cards are processed by Stripe, a PCI DSS Level 1 certified provider, the highest level there is. Card details go from the Stripe reader straight to Stripe and are never stored in the register or in WooCommerce, which keeps your store's PCI scope as small as it can be. Stripe guides you through the short self-assessment every business that takes cards completes each year.

Does it work offline?

No. The register needs a network connection, because the server checks every price and payment. It installs like an app on iPad, Android and desktop, but it isn't an offline register.

We use FooSales today. Can we switch?

Yes. Your products, stock, orders and customers are already WooCommerce data, so there's nothing to migrate for the register itself. You keep your Stripe Terminal readers.

Running the counter

Can new staff practice without affecting real sales?

Yes. Turn on training mode for a register or a person. Practice sales are kept out of reports, cash drawers and stock, can't take real money, and are cleared after seven days.

Who can change prices or give refunds?

You decide. Cashiers can sell and nothing more. Price changes, discounts, returns and tax exemptions need a supervisor, who can approve them with a PIN on the cashier's register, without logging the cashier out.

Can developers extend it?

Yes. Other plugins can add screens and register features through a public PHP and JavaScript API, and the register's security rules apply to them too.

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.