Skip to main content
Version: 1.x

Checkout Settings

The Checkout Settings page (WP Admin > POS > Settings > Checkout) controls which payment gateways appear in the POS, how orders are processed, and which notification emails fire for POS sales.

Email Notifications

At the top of the page are three groups of email toggles — Admin emails, Customer emails, and Cashier emails — that control which WooCommerce notification emails are sent for POS orders, independently of your site-wide WooCommerce email settings.

See Email Notifications for the full reference, including per-email toggle defaults, the cashier-recipient model, common scenarios, and developer hooks.

Payment Gateways

This section lists all WooCommerce payment gateways installed on your site. Each gateway can be independently enabled or disabled for the POS.

ColumnDescription
DefaultChoose which gateway is pre-selected when a cashier opens the checkout
GatewayThe payment gateway name
Gateway IDThe WooCommerce gateway identifier (useful for developers)
EnabledToggle the gateway on or off for POS checkout
Order StatusThe status a POS order is set to when it's paid with this gateway (see Order Status below)

Each row also has a menu (⋮) with POS settings — change the gateway's POS-only Title and Description — and WooCommerce settings, which deep-links to the gateway's full settings in WooCommerce.

Enabling a Gateway

  1. Find the gateway in the list
  2. Toggle the Enabled switch on
  3. The gateway will appear at POS checkout on the next page load
Free vs Pro

In the free version only the built-in Cash and Card gateways are editable. Enabling other installed WooCommerce gateways for the POS requires WCPOS Pro.

Reordering Gateways

Drag gateways to change their display order in the POS checkout. Use the Default column to pick which gateway is pre-selected when a cashier opens the checkout modal.

POS vs Online Store

Gateway settings here are independent of your WooCommerce payment settings. A gateway can be:

  • Enabled for POS, disabled online — useful for cash payments which don't apply to web orders
  • Enabled online, disabled for POS — useful for gateways like PayPal that aren't practical for in-person sales
  • Enabled for both — the gateway works everywhere
note

A gateway must first be installed and active in WP Admin > WooCommerce > Settings > Payments before it appears in the POS checkout settings list. If a gateway is missing, check that the plugin is installed and the gateway is enabled in WooCommerce.

Order Status

Order status is set per gateway, from the Order Status column in the gateways table — so a sale can resolve differently depending on how it was paid:

  • Cash and Card default to Completed, since payment is collected at the point of sale.
  • Gateways where the money arrives later — such as BACS (direct bank transfer) or Cheque — default to On hold.

Pick any WooCommerce order status for each gateway. (Older versions used a single global default; that value was migrated onto each gateway when you upgraded.)

Prevent Overselling

The Prevent overselling toggle stops POS sales of items that don't have enough stock. It is off by default — until you enable it, checkout behaves exactly as before.

WooCommerce's REST API doesn't validate stock when orders are created, so a busy till (or a stale product list) could sell more units than you have. With the toggle on, WCPOS checks stock in two places:

  1. At the till — the cashier can't add an item to the cart (or raise its quantity) beyond the available stock. The POS shows the quantity that is available, e.g. "Only 3 available for Hoodie – Blue, M".
  2. At checkout, on your server — the order itself is validated before payment completes. Even if the till's local data was out of date, an order that would oversell is rejected and the cashier is shown exactly which items are short and how many are available. The POS then refreshes stock for those items so the cart can be corrected with accurate numbers.

Open carts are never blocked from syncing — validation only runs at the moment of checkout.

How stock is decided

Product setupBehavior when the toggle is on
Manages stock (a quantity is tracked)Sales are limited to the stock quantity. Multiple cart lines of the same product count toward the same limit.
Variation tracks its own stockThe limit applies per variation.
Variation uses the parent's stockAll of that product's variations share the parent's quantity.
Doesn't manage stockThe product's stock status decides: Out of stock can't be sold; In stock and On backorder can.

Backorders still win

Per-product backorder settings take priority — this is how you allow overselling for specific products while the toggle is on:

  • Do not allow — sales stop when stock runs out (this is what the toggle enforces).
  • Allow — the product can always be sold, even below zero stock.
  • Allow, but notify customer — the product can always be sold; the cashier sees a "will be backordered" note when a sale dips below available stock.

Prevent Overselling vs. "Show out of stock"

These two settings are independent:

  • Prevent overselling (this page) controls whether out-of-stock items can be sold.
  • Show out of stock products (a display setting in the POS product panel) controls whether out-of-stock products and variations are visible. When hidden, out-of-stock variations disappear from product lists and their options grey out in the variations popup.

You can show out-of-stock items for visibility while Prevent overselling blocks their sale — the cashier sees the item with an Out of Stock badge and a disabled add-to-cart.

note

Changing the toggle reaches open POS sessions the next time a cashier logs in or the app revalidates — the server-side check applies immediately.