WCPOS Documentation

website·Indexed 33 days ago

https://docs.wcpos.com/

Documentation for WCPOS, including guides on managing customers and coupons, and a comprehensive directory of API and authentication error codes (such as API01002 and AUTH101) introduced in v1.10.0 to help troubleshoot connectivity, authorization, and plugin issues with WooCommerce stores.

Tokens
105.3K
Snippets
178
Records
707
Agent score
68%

What's inside WCPOS

  1. Overview of WCPOS Cloud Printing models

    Cloud printing allows WCPOS to send receipts to printers not directly connected to the POS device. There are two primary delivery models:

    1. Polling Printers: The printer initiates a request to WCPOS on a schedule to pull waiting jobs. This is ideal for remote sites as it requires no open ports or static IPs. Used by Star CloudPRNT and Epson Server Direct Print.
    2. Hosted Relay Providers: WCPOS submits the job to a third-party service which then delivers it to the printer. Used by Star Online and PrintNode.
  2. Overview of WCPOS Coupon Management

    WCPOS allows users to browse, look up, and apply WooCommerce coupons directly at the register. This functionality requires WCPOS Pro. Coupons are created and managed in the WooCommerce WordPress admin; the POS syncs this data locally to provide instant validation and feedback at the till.
  3. Manage the current order using the Cart Panel

    The Cart Panel is the primary interface for managing orders in the POS. It allows users to select customers, manage line items, add special charges, and proceed to checkout. Key components include:

    • Customer Selector: Manage the current customer or create a new one via the customer badge and add customer icon.
    • Line Items: View and edit quantities, unit prices, and totals for products in the order.
    • Order Summary: Displays the Subtotal (before taxes/fees), Tax, and the final Total.
    • Order Actions: Add order notes, custom metadata, or save the order to WooCommerce with a pos-open status.
    • Main Buttons: Use 'Void' to cancel the order or 'Checkout' to process payment.
    • Open Orders: A carousel at the bottom allows switching between multiple active carts.
  4. Manage inventory and prices using the Products Screen

    The Products Screen is a dedicated inventory management interface available only to WCPOS Pro users. Unlike the POS Product Panel (used for selling), the Products Screen allows for the management of the product catalogue, including inline editing of stock and pricing.

    Key Interface Elements:

    • Search & Filters: Search by name, SKU, or barcode. Filter by Stock Status, Featured, On Sale, Category, Tag, or Brand.
    • Sorting/Filtering: These operations run on the server and apply to the entire catalogue.
    • Search: Runs on-device for instant results once the catalogue is local.
    • Variable Products: Displays attribute options (e.g., Color, Size) with an 'Expand' link to view individual variation rows with their own stock and prices.
    • Sync: Use the sync button in the footer to update the list. Long-pressing the sync button (v1.10.0+) clears the screen's search and active filters.
  5. WCPOS Local Storage Architecture

    WCPOS uses a unified storage format across all platforms to ensure consistent corruption-recovery tooling. Web and desktop apps use an OPFS (Origin Private File System) worker, while iOS and Android apps use the same on-disk format via a filesystem engine.

    To prevent data loss, WCPOS blocks checkout and prompts for a reload if the local store becomes unreadable. Queries (selection, sorting, and paging) are executed within the database layer to minimize the amount of data crossing into the app.

  6. Understand how product synchronization works in WC POS

    The WC POS catalogue is populated via a scheduled background seed process, meaning products download automatically without requiring the user to search or scroll. Change checks are performed using conditional requests based on a preset interval (defaulting to 60 seconds) rather than a fixed full poll. Download progress for collections can be monitored in the POS under Store health → Database.
  7. Manage order history using the WCPOS Pro Orders screen

    The Orders screen (a Pro feature) allows developers and merchants to manage order history directly within the POS without returning to the WooCommerce admin. It supports server-side filtering by status, customer, cashier, store, and date range.

    Key Capabilities:

    • Order Lookup: Search by order number or customer name.
    • Receipt Management: Access the three-dot menu on any order to view, print, or email receipts.
    • Order Details: View line items, customer info, payment details, notes, and metadata by clicking an order.
    • Customization: Use the sliders icon to toggle visible columns in the orders table.
  8. WCPOS checkout and payment architecture

    The checkout process utilizes an iframe/webview that loads the WooCommerce Order Pay page. This architecture allows WCPOS to leverage any existing WooCommerce payment gateway and maintain security by processing payments through WooCommerce's secure infrastructure rather than re-implementing gateway integrations.
  9. Compare WCPOS Free and Pro features

    WCPOS Free provides basic point-of-sale functionality, while Pro unlocks full back-office management, advanced payment integrations, and multi-store features.

    Free Version Capabilities:

    • Local storage for products and orders (works offline/flaky connections).
    • Barcode support via USB, Bluetooth, or device camera.
    • Built-in Tax ID fields for customers (VAT, ABN, GST, etc.).
    • Cross-platform support (Browser, Windows, macOS, iOS, Android).
    • Ability to select existing customers and view the coupon catalogue (read-only).

    Pro Version Additions:

    • Management Screens: Full access to Products (inline stock/price editing), Orders (refunds, reprints), Customers (add/edit), Reports (end-of-day sales), and Coupons (apply/manage).
    • Payment Gateways: Integration with Stripe Terminal, SumUp Terminal, Vipps MobilePay, Email Invoice, and Web Checkout, plus a Gateway Template to wrap any WooCommerce payment plugin.
    • Checkout Workflow: Ability to apply WooCommerce coupon codes and issue full or partial refunds directly from the till.
    • Multi-Store & Inventory: Support for multiple store locations with unique logos, tax rates, and receipt templates. Integration with ATUM Multi-Inventory for per-location stock.
    • Extensions: Ability to install and update POS extensions directly from settings.
  10. Understand WCPOS Sync Engine architecture

    Introduced in v1.10.0, WCPOS uses a local-first architecture where every screen reads and writes to a local device database. A sync engine ensures convergence between the local database and the WooCommerce store.

    Key architectural constraints:

    • Isolation: One sync engine runs per site + store + cashier combination. Switching store or cashier switches the entire data plane; data is never shared between cashiers on the same device.
    • Transactional Switching: Switching scope hydrates the new data plane and only commits once ready.
    • Upgrades: Local databases are not migrated in place; the app starts a fresh database and re-downloads the authoritative copy from the server.
  11. Understand the WCPOS Two-Part System Architecture

    WCPOS operates as a decoupled system consisting of a server-side PHP Plugin and a client-side JavaScript application. The PHP Plugin extends the WooCommerce REST API with POS-specific endpoints to handle data management via WordPress and WooCommerce. The JavaScript Client (running in browsers, desktop apps, or mobile apps) maintains a local, offline-capable copy of store data to ensure fast searching and instant response times for tills.
  12. Access customer data in receipt templates

    The customer object provides details about the buyer. For guest checkouts, customer.id will be null and customer.name will contain a guest label.
    <!-- Example fields -->
    {{customer.name}}
    {{customer.billing_address.city}}
    {{customer.shipping_address.postcode}}