Product search & barcode reader for Wordpress
Lite POS system to manage inventory and orders in WooCommerce

This WooCommerce plugin allows you to manage your inventory and orders in more efficient way. You can search products by product name/ID/SKU/EAN/UPC or by scanning barcodes.

Plugin works in 2 modes - "Scan" and "Enter" mode.
"Scan" mode should be used for "Hand-Gun" barcode scanners, so when you scan a barcode - products/orders will be found and displayed to you automatically. "Enter" mode allows to find product manually, by typing name, SKU, ID, Tracking codes, etc. Both modes give you ability to find products and orders.

Main features of barcode scanner:

  • Very fast search indexation core - a few times faster compared to WooCommerce product search.
  • Allows to find & edit products and orders
  • Allows to edit product's name, price, quantity, SKU and any other fields you want
  • Custom fields editor - allows to add (to search popup) any product fields you need.
  • Plugin can search by custom fields created by you or third party plugins.
  • Auto increasing/decreasing product quantity by barcode scanning
  • Allows to create new products by scanning the new barcode.
  • Create new orders by scanning product barcodes (POS functionality)
  • Product Location Fields - specify where product can be found in the warehouse
  • Order Fulfillment mode - allows to check products in order & avoid sending the wrong items(Business plan)
  • Logs - check who is editing your products (Business plan)
  • Supports all types of "Hand-Gun" barcode scanners
  • Fully compatible with WooCommerce
  • Mobile Android app (iPhone app is coming soon) - scan barcodes & manage inventory from your phone

By default plugin allows to do search by Product ID, SKU, Name. However you can specify any other custom field (like GTIN, UPC, EAN, MPN, Tracking code, etc) by which search should be done.

Supported barcode scanner devices:

This plugin supports most of "hand gun" barcode scanners available on the market. So, if you already have one, there is 99.99% chance that it will work properly with the plugin.

If you are still deciding which scanner to use we would recommend:
Wired: NETUM USB Barcode Scanner
Wireless: Tera Wireless Barcode Scanner
With QRCodes support: 2D Tera Barcode Scanner

Some barcode scanners require installation of vendor's software/drivers. So, make sure you installed them.

You can use a simple method to check if scanner connected & works properly:
1. Connect your scanner to PC/Laptop
2. Open any text editor (notepad, notes, MS Word)
3. Try to scan barcode

If numbers/text appears in the text editor - congratulations, your scanner works properly.

Compatibility with plugins:

Barcode scanner supports some 3rd party plugins (without any additional configuration). It means that product custom fields (like GTIN, EAN, MPN, etc) which were created by 3rd party plugins also will be used in search by barcode scanner. If there is no support of your plugin you can always contact us, and we will be glad to add support of it.

Supported plugins:

  • EAN for WooCommerce
  • Product GTIN (EAN, UPC, ISBN) for WooCommerce
  • WooCommerce UPC, EAN, and ISBN
  • WePOS
  • ATUM Stock Manager
  • Germanized for WooCommerce
  • PickingPal
  • Sequential Order Number
  • WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels
  • YITH Barcodes plugin
  • YITH WooCommerce Order & Shipment Tracking
  • Advanced Shipment Tracking for WooCommerce
  • PayPal Zettle POS
  • WPML & Polylang - multilanguage plugins
  • Multi Site Network support
  • WooCommerce Product Batch Numbers
  • Product Batch Expiry Tracking for WooCommerce
  • Need more ? - Contact us

Possible use cases:

1. Quick search of items
If you have to search for products/orders regularly and you type id/sku/name manually - you may increase your productivity by using barcode scanner.
You will need to scan product/order barcode and it will be found as fast as possible without any additional interaction with keyboard.
Our indexation engine allows to make search 2-3 times faster compared to WooCommerce search.

2. Restocking items
If you receive or remove products from your store, you can use "auto increase/decrease" mode to change products quantity in WooCommerce, simply by scanning the barcodes.
Product quantity will be changed each time you scan the barcode, so you even won't have to touch the keyboard.
The sounds from the plugin will tell you if QTY was changed successfully, so actually you don't have to look at the monitor.
Very useful for restocking big amount of items.

3. Order fulfillment
Allows to make sure that you send correct items to the customer.
Works this way:
- You open the order and see there the list of the items.
- You start scanning the products and system tells you (with sound) if this product is correct one or not.
- If item is correct - it plays "good" sound, highlights the item and marks product with a green arrow.
- If scanned product is not from the order - plugin plays the "wrong" sound and says that the item is wrong.

4. Point of Sale
You can use barcode scanner as a POS system to create orders in offline stores.
You simply scan product barcodes which your customer wants to buy, and you will see prices for each item along with total order price.
You can also link order to WordPress user (if customer has an account on your website).

Your use case may be different, however barcode scanning & quick search is always helpful tool and can be adopted to any business process.

PHP Filers/hooks

1. Place to write a code:

All customizations and filters should be created in a separate file which won't be overwritten after the update.
You need to create file in your theme, path: /wp-content/uploads/barcode-scanner/api.php
This file will be found and loaded by the plugin automatically. From this point use api.php for all customization.
To look at more examples of the php filters and hooks you may check file api-example.php, it is located in the plugin's directory.

2. Search results:

If you need to add/edit/filter any search results before displaying it in the barcode scanner popup - create function like this one:
function scanner_find_item ($items, $customFilter) {
	return $items;
}
You will find all the item's info in the $items array.
After editing the array you need to return it, so it can be passed to the search popup.
The name of the function can be any, however paraments should be exactly as in the example.
In order for your function to run as a hook (at the right moment) - add your function as a filter named scanner_search_result:
add_filter('scanner_search_result', 'scanner_find_item', 10, 2);

3. Data saving:

If you need to modify any data before saving it into the database (or any other place), you need to define your own function like this:
function scanner_save_field_sku ($value, $field_name, $post_id) {
	$value = "PREFIX_".$value
	return $value;
}
You can modify the $value or write your own code to store value in any orher place. In this example function will process only SKU field, so make sure you have similar function for each field you want to process.
To run function at the "save" action - add this function as a filter named barcode_scanner__sku_set_after:
add_filter('barcode_scanner__sku_set_after', 'scanner_save_field_sku', 10, 3);
 
Important! Pay attention that the name of the filter contains the name of the custom field name, in our case it is _sku - that is why you see 2 underscores at the filter name.

4. Adding user custom fields:

Barcode scanner allows to create and assign wordpress users to the orders. If you have some additional user custom fields in user profile and would like to display them in the barcode scanner popup you need to register each such field with add_action() function:
Next example shows how to add 2 user fields to the barcode scanner: the user social number and the VAT number for company:
/** add new order custom fields */
add_action('barcode_scanner_add_order_custom_fields', function ($fields) {
    $fields[] = array("ID" => 1, "type" => "text", "name" => "_social_number", "label" => "Social Number");
    $fields[] = array("ID" => 2, "type" => "text", "name" => "_vat_number", "label" => "VAT Number");
    return $fields;
});
If you also need to store the user profile data into the order, you will need to add the next code:
/* Pulling custom fields data from user profile and saving them to the order meta fields */
add_action('barcode_scanner_load_order_custom_fields_data', function ($fields, $userId) {
    try {
        $fields['_social_number'] = get_user_meta($userId, '_social_number', true);
        $fields['_vat_number'] = get_user_meta($userId, '_vat_number', true);
        return $fields;
    } catch (\Throwable $th) {
        return $fields;
    }
}, 10, 2);
  • Plugin supports any barcode scanners. There are no specific requirements to scaner devices.

  • Plugin supports any types of barcodes which are supported by your scanning device.

  • You need to specify custom field name in "search fields" settings, which are located below search field. Make sure you entered a correct custom field from a database. Please ask your developer to get a proper custom field name from a database.


Related plugins:

Label Printing Plugin
Print labels for products, orders, users and promocodes

Barcode Generator
Generate and display barcodes on pages, emails, invoices and posts

EAN/UPC Generator & Importer
Assign UPC/EAN codes for your WooCommerce products


Screenshots

Barcode Scanner 1 Barcode Scanner 2 Barcode Scanner 3 Barcode Scanner 4
Version: 1.5.5
WordPress up to: 6.5.x
WooCommerce up to: 8.8.x
payment security
payment security

Related plugins

Label Printing Plugin

Label Printing Plugin

Barcode Generator

Barcode Generator

EAN/UPC Generator & Importer

EAN/UPC Generator & Importer

Write your question or comment: