تجاوز إلى المحتوى الرئيسي
الإصدار: 1.x

Setting Up Stores

Pro Feature

Multi-store requires WCPOS Pro. Without Pro, WCPOS runs as a single virtual store assembled from your WooCommerce general settings — there's no Stores screen.

This page walks through creating a store location end-to-end. For the conceptual overview (what multi-store does, per-store pricing, ATUM integration) start with Multi-Store.

Before you start

  • WCPOS Pro is installed and the license is activated. Activating Pro adds a Stores submenu under POS in WP Admin.
  • The cashiers who'll work at this store have WordPress accounts with a role that includes the Access WooCommerce POS capability. If you haven't set that up yet, see Access Settings.
  • (Optional) A logo file ready to upload — PNG or JPG, ideally 300×300 or larger.

Create the store

1

Open the Stores list

In WP Admin, go to POS → Stores. You'll see a list of any existing stores with columns for Store, Address, Authorized Users, and a per-row Open POS button.

If this is your first store and Pro was just activated, the list will be empty. Click Add New Store in the page header.

2

Name the store

At the top of the editor, set a Store name. This is what appears on receipts, in the store picker at login, and in store filters across the POS. Required.

Examples: "Main Street Cafe", "Warehouse — Pickup", "Market Stall #3".

3

Fill in the main column

The left side of the editor groups everything that ends up on the receipt:

  • Store Logo — upload via the WP media library. There's a "Use site logo when no store logo is set" toggle if the site has a Customizer logo and you want it as a fallback.
  • Address — Address 1, Address 2, City, State, Postcode, Country. Country is a search-as-you-type dropdown.
  • Contact — Web Address, Phone, Email.
  • Receipt MessagesComplimentary Close, Returns Policy, Footer. Plain text with light HTML allowed (<strong>, <em>, <b>, <i>, <br>, <p>).
  • Receipt Templates — leave the "Store-specific receipt templates" toggle off to inherit the site-wide template list from POS → Templates, or turn it on to pick a custom set for this store. Drag-handle reorder works once you've chosen a custom set.
  • Receipt Preview — live preview with a template selector and a Sample Data / Order toggle so you can see what the receipt will actually look like before saving.
4

Configure the sidebar

The right column is the per-store configuration that doesn't show on receipts:

  • Authorized Users — checkbox list of every WordPress user whose role has the Access WooCommerce POS capability. Check the cashiers who should be able to sign in at this store. Leaving the list empty means all POS-capable users are authorized — handy for single-store sites.
  • Tax RateCalculate Tax Based On dropdown: This store address (default) or Base location. The table beneath shows the resolved tax rates per tax class for the chosen address; it's read-only, so configure the actual rates in WooCommerce → Settings → Tax.
  • Tax IDs — repeatable rows of (Type / Value / Country / Label) for per-store VAT, ABN, GSTIN, etc. Leave empty to fall back to the site-wide Store Tax IDs.
  • Store Settings — Currency, Currency Position, Locale, Timezone. Defaults to the site values; override only if this store operates differently from the site default.
  • Opening Hours — per-day time slots plus a free-text Notes field. Optional, used by some templates.
5

Save

A brand-new store keeps a visible Create button until you save it for the first time. Click Create.

Once persisted, the page switches to autosave — edits save automatically after a short delay, with a Saving… → Saved indicator in the corner. You can leave the page at any time and changes persist; the browser warns if you try to close on unsaved changes.

What cashiers see at login

When a cashier signs in, the POS shows a store picker listing every store they're authorized for:

  • Authorized for one store — that store auto-selects and the Open POS button is enabled immediately. The picker still appears so the cashier can see which store they're about to enter.
  • Authorized for multiple stores — the picker shows a radio list. Pick a store, then Open POS.
  • Authorized for none — the picker is empty. Either add the cashier to a store's Authorized Users list, or leave that list empty to authorize everyone.

The selected store is appended as ?store={id} when the POS launches, and is recorded on every order placed during that session (the _pos_store order meta). This is what powers per-store reports, the store filter on Orders, the right logo and address on receipts, and per-store pricing.

Per-store pricing

WCPOS Pro has a native per-store pricing mechanism — separate from ATUM. On every product (and variation) edit screen, the Price and Tax tabs gain a per-store override:

  1. Open a product in WP Admin → Products → edit.
  2. On the Price tab, check the "Set per-store price" box for the store you want to override.
  3. Enter the regular price (and optional sale price) for that store.
  4. Save the product.

When a cashier is operating from that store, the POS uses the per-store price. When operating from a store with no override, the standard WooCommerce price applies.

The same pattern works on the Tax tab for per-store tax status / tax class — useful when one location is in a tax-exempt zone and another isn't.

ATUM vs native per-store pricing

WCPOS's native per-store pricing is the right tool when you want different shelf prices at different locations but shared stock. If you also need per-location stock counts, install the ATUM Multi-Inventory integration — it adds an Inventory Location dropdown and a Pricing Source selector (Default / WCPOS Pro / ATUM) to the store editor, so you can mix the two systems per store.

Edge cases

What happens to orders that already exist when I add a new store?

Nothing. Orders are stamped with _pos_store meta at the time of sale. Adding a new store doesn't retroactively reassign any existing order. Orders placed before Pro was activated (or under a single-store setup) have no _pos_store meta and continue to render with the site-level defaults.

If you need to reassign an existing order to a different store, open it in WP Admin → WooCommerce → Orders and use the Store dropdown that Pro adds to the single-order screen.

How do I delete a store?

The Trash button on the store editor (and the row action on the Stores list) does a WordPress soft-delete (wp_trash_post). It doesn't hard-delete, so:

  • The store is hidden from the cashier picker and from filter dropdowns.
  • Existing orders that reference the trashed store still resolve correctly for receipt re-prints and order detail views — the trashed store's name, address, and logo continue to be available.
  • Restoring from Trash brings the store back to active state with all its settings intact.

Only a full hard-delete (from Trash → Delete Permanently) removes the store record. Orders that reference a hard-deleted store fall back to "Store #ID" and the site-wide defaults.

Can a cashier work at more than one store?

Yes — check their name in the Authorized Users list on every store they should access. There's no concept of a "primary store" per user. Each time they sign in they choose which store to operate from via the picker.

Can I run different currencies per store?

Set the Currency and Currency Position in the store's sidebar. These override the site-wide WooCommerce currency for any session opened at that store — receipts, prices, and totals all format with the store's currency.

This is display formatting only; you still need WooCommerce-compatible payment gateways for each currency, and exchange-rate handling is your store's responsibility.

Why is there no Stores submenu when I install Pro?

Two common causes:

  1. Pro isn't activated — go to POS → Settings → License and confirm the License Key shows as active.
  2. Old free + Pro layout — pre-v1.8 Pro was an add-on to the free plugin. If you've upgraded to v1.8+, the free plugin needs to be deactivated and deleted (see the note on Installing WCPOS Pro) — keeping both installed can mask the Stores menu.