Zum Hauptinhalt springen
Version: 1.x

Email Notifications

WCPOS gives you per-email control over which WooCommerce notification emails fire for POS orders, separate from your site-wide WooCommerce email settings. You can also notify the cashier who processed the sale.

The settings live on the Checkout screen — go to WP Admin → POS → Settings → Checkout. Email controls sit above the Order Status and Payment Gateways sections.

About POS order emails

WooCommerce's default email triggers don't always fire cleanly on POS orders, because POS uses custom statuses like POS - Open and POS - Partial that WooCommerce doesn't know about. WCPOS manually re-triggers the New Order email when an order transitions out of one of these statuses into Completed, Processing, or On Hold — so you reliably get a notification regardless of the path the order took through checkout.

The three email groups

Each group has a master toggle at the top. When the toggle is on, a checkbox list appears underneath letting you enable or disable each individual email type. When the toggle is off, none of those emails are sent for POS orders (regardless of the per-email checkboxes).

Admin emails

"WooCommerce admin notification emails for POS orders"on by default.

Sent to the address(es) configured in WooCommerce → Settings → Emails → (email type) → Recipient(s).

EmailDefaultSent when
New order✓ CheckedA POS order moves into Processing / Completed / On Hold
Cancelled order✓ CheckedA POS order is cancelled
Failed order✓ CheckedA POS order fails (gateway error, etc.)

Customer emails

"WooCommerce customer notification emails for POS orders"on by default.

Sent to the customer's billing email — only fires for orders with an attached customer (skipped silently for Guest sales).

EmailDefaultSent when
Order on hold✓ CheckedA POS order goes to On Hold
Processing order✓ CheckedA POS order goes to Processing
Completed order✓ CheckedA POS order is completed
Refunded order✓ CheckedA POS order is refunded (full or partial)
Failed order✓ CheckedA POS order fails

Cashier emails

"Send new order notification to the cashier who processed the POS order"off by default.

EmailDefaultSent when
New order✓ Checked (when master toggle is on)A POS order is completed by that cashier

WCPOS identifies the cashier from the order's _pos_user meta (the WP user logged into the till) and pulls their account email. If the cashier email is the same as the admin email — for example, a single-owner store where the same person is both admin and cashier — WCPOS de-duplicates the recipient so you don't get the email twice.

The admin and cashier toggles operate independently — turning one off doesn't affect the other.

Common scenarios

Stop the inbox getting flooded by busy days

Turn Admin emails → New order off if your shop runs 50+ sales a day and the admin doesn't need a notification for every one. Keep Cancelled order and Failed order on — those are the ones you actually want to know about.

For revenue tracking, the Reports screen is a better tool than counting New Order emails anyway.

Send notifications only to the cashier on duty, not the admin

Turn Admin emails master toggle off, and Cashier emails master toggle on. The cashier who completes each sale gets the New Order email at their personal account address, and the admin inbox stays clean.

This works well for multi-cashier stores where the owner doesn't want to be in the loop on every transaction.

Disable customer emails for in-store sales

Tourist-heavy stores, market stalls, and quick-serve cafes often don't want to email customers a receipt — they already have the printed one. Turn the Customer emails master toggle off and no Processing / Completed / Refunded emails will go out for POS sales.

This leaves the customer-facing emails for your online orders untouched, since those run through standard WooCommerce (not the POS path).

Keep customer emails on, but not the 'Processing' one

If your POS orders complete instantly (cash + card-present), the customer gets a Processing email and a Completed email within the same second. Uncheck Processing order in the Customer emails list to drop the redundant one.

I upgraded from before v1.8.9 and my old single 'Enable emails' switch is gone

The single on/off switch from earlier versions has been replaced by the three-group structure above. WCPOS transparently migrates your old setting — if you previously had emails off, all three master toggles are off; if you had them on, the Admin and Customer master toggles are on and Cashier is off (the new default).

You don't need to do anything; the migration runs automatically when you open the Checkout settings page after upgrading.

Developer hooks

For programmatic control beyond the UI, the following WordPress filters are available:

FilterPurpose
woocommerce_pos_admin_email_enabledOverride the admin master toggle
woocommerce_pos_customer_email_enabledOverride the customer master toggle
woocommerce_pos_admin_emailsFilter the list of enabled admin emails
woocommerce_pos_customer_emailsFilter the list of enabled customer emails

Cashier notifications are wired up via WooCommerce's existing woocommerce_email_recipient_new_order filter, so per-recipient overrides (e.g. CC'ing additional addresses) work the same way they do for any WooCommerce email.

  • Checkout Settings — payment gateways and order status on the same settings page
  • Orders — view POS orders that have been processed
  • Cashier Access — which WordPress users can sign in as cashiers