Search & Filtering
Finding the right products quickly is essential for efficient point-of-sale operations. WCPOS provides powerful search and filtering capabilities to help you locate products instantly, even with large inventories.

Product search and filtering interface in WCPOS
Product Search
Unified Search Field
WCPOS features a single search field that simultaneously searches across multiple product attributes:
- Product Name - Searches the product title and description
- SKU - Matches product postmeta
_skufield - Barcode - Searches the configured barcode field, which defaults to WooCommerce's GTIN field
_global_unique_idand can be changed to_skuor any custom postmeta key in Settings.
Simply type your search term into the "Search Products" field, and the POS will instantly filter results across all these fields.
Tokenized Search Technology
The search functionality uses the FlexSearch library with advanced tokenization capabilities:
- Substring Matching - Finds your term anywhere inside a word (e.g., searching "berry" finds "blueberry")
- Performance Optimized - Uses a performance preset for fast search results
- Language Aware - Adapts to your store's configured language
- Lazy Initialization - Optimizes memory usage by loading search indexes only when needed
From v1.10.0, search matches substrings inside words — "berry" finds "blueberry", and "saippua" finds "Kuorintasaippua". The trade-off is a minimum term length: queries shorter than 3 characters aren't matched against the text index. Short codes still work through the barcode and SKU lookups.
Before v1.10.0, matching was prefix-only (search found the start of a word, never the middle).
How Search Works
When you type in the search field, the POS:
- Tokenizes your input into searchable terms
- Searches locally stored product data first for instant results
- Queries the server for the matching products if they aren't local yet, and stores them so the same search is instant next time
- Updates results in real-time as you type
Search fetches what you searched for — the rest of your catalogue downloads through the background seed (see Product Synchronisation), so search stays fast without pulling unrelated data.
Product Filtering
Filter Bar
Below the search field, you'll find interactive filter toggles and dropdown menus that allow you to narrow down products by specific criteria.
Available Filters
Stock Status
Filter products based on their inventory status:
- In Stock - Products with available inventory
- Out of Stock - Products with zero inventory
- Backorder - Products available for backorder
Featured Products
Toggle to show only products marked as "Featured" in your WooCommerce store.
On Sale Products
Filter to display only products currently on sale or with active discounts.
Category
Use the category dropdown to filter products by their assigned product categories. This helps you quickly find products within specific departments or product lines.
Tag
Filter by product tags to find items with specific attributes or characteristics you've defined in your WooCommerce store.
Using Filters
- Toggle Filters - Click any filter button to activate it (active filters appear highlighted)
- Multiple Filters - You can combine multiple filters to narrow your search further
- Clear Filters - Click an active filter again to deactivate it
- Search + Filter - Use filters together with the search field for precise product location
Barcode Configuration
Search Fields
The search functionality automatically includes your configured barcode field. The barcode field used for searching depends on your POS settings configuration.
F.A.Q.
What is the _global_unique_id field for barcodes?
The _global_unique_id field is the GTIN field WooCommerce added to provide better barcode standardization across stores. It is the default barcode field in WCPOS.
Key Points:
- Modern Standard: This field was designed specifically for global barcode identification (GTIN / UPC / EAN)
- Default: The POS uses
_global_unique_idas the barcode field out of the box; you can switch it to_skuor any custom meta field in the settings - Flexibility: You can configure any product meta field as your barcode field if you're using third-party barcode plugins
- One field per product: The POS searches a single configured barcode field, and WooCommerce stores one barcode value per product (or per variation). If you need multiple codes on a product, store them in a custom field and point the barcode setting at it
- Rebuilds on change: Changing the barcode field rebuilds the local catalogue's barcode index, so scans immediately match the newly selected field
To configure which field the POS uses for barcodes, visit your POS settings in the WordPress admin area.
Why don't I see all my products when I search?
The background catalogue seed may not have finished yet. If you don't see a product:
- Search for it - This fetches the matching products from your server directly if they aren't local yet
- Check download progress - Store health → Database shows how much of your catalogue is on this device
- Check its visibility - Out-of-stock products are hidden by default, and only standard WooCommerce product types are supported
Learn more in our Product Synchronisation guide.
Can I search for partial product names or SKUs?
Yes! The tokenized search matches substrings, which means:
- Searching "blue" will find products with "blueberry", "blue shirt", etc.
- Searching "berry" will also find "blueberry" — the term can appear anywhere in the word
- Searching "ABC" will find SKUs like "ABC123", "ABC-XYZ", etc.
- You don't need to type complete words or codes (but terms shorter than 3 characters aren't matched)
The search is designed to find products quickly with minimal typing.