Magento 2 (Adobe Commerce)Point of Sale System gives the liberty to store owners to have an online store along with multiple physical stores.
Also, the physical stores will have their own POS panels for customer and sales management.
The admin for each physical store can create multiple sales agents. As soon as the admin creates a sales agent from the back-end, they get an email containing login details of the POS.
Moreover, the POS system can work in both online and offline modes.
Watch the video tutorial below to understand the extension workflow:
Features – Magento 2 (Adobe Commerce Cloud)Point of Sale
- Create multiple physical outlets for his/her online store and associate products with them.
- Assign multiple cashiers to the POS outlet.
- The admin can force log out of the cashier POS account.
- The sales agents get the login details of the POS through email.
- Separate Panel for a sales agent for sales management.
- The admin can print barcode slips.
- Add the Invoice logo from the admin panel configuration setting.
- The admin can assign inventory to the outlet on the basis of sources.
- Inventory assignment to the outlet on the basis of all products and categories of the source.
- Default customer and address assignment to the outlet.
- A new customer can add from the Sales agent POS panel.
- Easy real-time synchronization of sales and transactions.
- The products can be added to cart in three ways- on clicking the product, through SKU and Barcode Reader.
- The agent can Put the POS in Full-screen mode.
- The POS easily operates in offline mode as well to provide better processing.
- The Sales agent can hold an order for later check-out processes.
- Agents can change among multiple languages and currencies.
- The cashiers can view the cash drawer for computing the profit generated in a day or days by them.
- The cashiers can print the order receipt with the help of a printer.
- A cash drawer can connect to your printer to open after printing the sales receipt.
- The sales agent can even file the return and generate cash memo for the product(s).
- Cashiers can update the product stock after the product return.
New Features
- POS agents can refresh the whole product list and the category list.
- The sales agent can add the POS to the homepage as PWA.
- The sales agent can even refresh the individual products instead of refreshing the whole product list.
- Admin can create the custom payment methods label for POS that will be printed in receipts and invoices.
- Admin can edit the static content for the POS orders email – Subject and static content.
- The cashier can search the customer by phone number at POS end.
- Admin can view Cashier and Outlet Reporting includes details like revenue, tax, shipping, quality.
Please Note-
- Do not use the default source while working with the POS. Always create one stock and two sources. Among them, one is for POS and the other is for the website (frontend).
- Support product types- simple, virtual, configurable, downloadable, bundle, and grouped.
- The Magento POS connects only to the Printer, and barcode reader, whereas it doesn’t connect directly with the cash drawer and card swapping machine.
- POS requires a browser to work on it.
- POS supports 7.5 screen size minimum.
Installation-Magento 2 Point of Sale
First, Customers will get a zip folder and they have to extract the contents of this zip folder on their system.
The extracted folder has an src folder, inside the src folder you have the app folder.
Now, they need to transfer this app folder into the Magento 2 root directory on the server as shown below.
After the successful installation, the users have to run the following commands on the Magento2 root directory:
First command –
composer require mpdf/mpdf
Second command –
php bin/magento setup:upgrade
Third Command –
php bin/magento setup:di:compile
Fourth Command –
php bin/magento setup:static-content:deploy
Thus, after running the commands, they have to flush the cache from the Magento admin panel by navigating through->System->Cache management as shown below:
Language Translation-Magento 2 Point of Sale
For module translation, navigate to the following path in your system app/code/Webkul/Pos/i18n/en_US.csv.
Open the file name en_US.CSV for editing as shown in the below screenshot:
Then replace the words after the comma(,) on the right in the file with your translated words.
After editing and translating the CSV file, the users need to save the translated file name according to your region language and country code such as – de_DE.CSV.
Followed by uploading the translated file to the same folder from where the users have obtained it.
Thus, module translation is completed.
Module Configuration
After the installation of Magento 2(Adobe Commerce) Point of Sale module, the admin can configure the module settings by navigating to Stores > Configuration > Webkul > POS as per the below image:
POS Configuration
Here, the admin can:
- Enable Offline Mode- The admin can give the cashiers the privilege to do the transactions in offline mode by enabling this option.
- Product Page Load Size: Set the number of products to load while POS initialization.
- Enable Cashier Single Login: Enable the single cashier login by selecting “Yes” else choose “No” in case you want to allow the multiple logins.
- Geo Location API Key: Here, the admin can select API for Geo Location.
- Choose attribute for Barcode: choose the product attribute for barcode scanning.
- Invoice Slip logo: Upload the logo that you want to display on your invoice slip.
PWA Configuration
The POS system can also be used as PWA i.e. Progressive Web Application. For managing the configurations for the same, the admin will navigate to Stores > Configuration > Webkul > POS > PWA Configuration.
Here, the admin will manage the following details regarding the application:
- Name: The admin will provide the complete name of the application.
- Short Name: The admin will provide the short name of the application.
- Icons: The admin will provide the application icons of different sizes that6 include (48 x 48), (72 x 72), (96 x 96), (144 x 144), (168 x 168), (384 x 384), and (512 x 512).
- Splash Background Color: The admin will add the hex code of the splash screen background color.
- Theme Color: The admin will enter the hex code of the app theme.
Email Template Configuration
The admin is responsible for sending the sign-in details to the cashier. For sending the mail the admin will manage the email template by navigating to the Stores > Configuration > Webkul > POS > Email Template Configuration.
POS Cashier Credentials Email Template: The admin will enter the email template that will be send to the cashier
POS Order Email Template: The admin can set POS order template.
After setting up the fields, the admin can click on Save Config.
POS Payment
The admin can create the custom payment methods label for POS that will be printed in receipts and invoices.
Magento 2 Point of Sale Management
The Source & Stock
Before discussing the POS Management, first let’s discuss, How to manage the source & stock in POS.
We shall see how we can make use of the Multi-Source Inventory or MSI feature to manage the inventory within the Point Of Sale system.
In the POS system, for each outlet, we have to select the option “Source“. This source will be created by navigating through Stores>Inventory>Sources and clicking the Add New Source button.
Manage Source:
If we are selling products from multi-location like California, New York and others then we will need to create sources for each inventory location.
Here we have to fill in the following details about the new source like
- Give Name to the source.
- Give a specific code for the source.
- Enable or Disable the source
- Set latitude & longitude for the source.
- Add contact details like name, email id, phone no & fax.
- Select the Country of source.
- Can select City, street & post code.
Manage Stock:
Here we will need to create stock for each channel (Magento Websites, if there are multi-website configure in your Magento) so that we can assign sources(from where we are selling our products) for each channel.
After this, we can assign the stock to the product by navigating to the edit product page and clicking the Assign Sources button.
Now, the admin can manage the POS module by navigating to POS panel as per the below image.
Thus, the admin can view several menu options to manage the POS module.
Add / Manage Outlets
Note:- Before creating the outlets, you must need to create sources as per need.
Under this section, the admin can add and manage an any number of outlets.
Here, the admin can:
- Edit the existing outlets.
- Add a New Outlet to the store.
Thus, for adding the new outlet, the admin will click on Add New Outlet button which navigates the admin to the Outlet Information under which will have four sections:
Outlet Information:
Here, the admin has to enter the values into the following fields:
Outlet Name- The admin can decide the name of the outlet.
Select Source- From here, the admin can select the source for the outlet which is already created by the admin explained above.
Product Assignment Basis- The admin can assign the products to the outlet in two ways;
Category based, All Products based.
- If the admin selects the product assignment basis as Category based, then the admin needs to select the categories from the source, which they want to associate with the outlet before saving the outlet.
For the reference, check the below image:
- In the case of selecting All Products base, all products from the source will get synced to the POS outlet.
The admin can also see all associated products as per the below image:
Set Default Customer- Select Yes to set the default customer for the POS frontend or else No.
If the admin selects this option as Yes, then they need to add default customer and address before saving the outlet.
Outlet Address- Enter the address of the outlet. The address section has an HTML edit option and tools.
Status: The admin can enable or disable the outlet.
Add/Manage Cashier (Sales Agent)
The admin can add/manage cashiers by navigating through:
POS -> Add/Manage Cashier
- The admin can delete/enable/disable the selected cashiers from the “Actions” drop-down.
- Mass selection check-box for selecting all the cashiers at once for deleting/enabling/disabling cashiers.
- Cashier check-box for deleting/enabling/disabling cashier.
- The Edit button is for viewing/editing cashiers.
- Add New Cashier helps for adding new cashier for an outlet. The admin has to fill some fields under Cashier Information to add a new cashier.
Image- The admin can upload an image of the cashier.
First Name- The first name of the cashier can enter here.
Last Name- Here the admin can enter the last name of the cashier.
Email Address/Username- The admin can enter the email or the username of the cashier.
Contact No.- The admin can enter the contact number of the cashier.
Password- This field is for entering the password of the cashier account.
Confirm Password- This field is for confirming the cashier’s password.
Sort Order- Here the admin can enter the sort order for the cashier.
Outlet- The admin can choose the outlet for which the cashier account is being added.
Status-The admin can enable or disable the cashier’s account.
Thus, tap on Save Cashier button.
POS Orders
To view, the complete list of POS orders, the admin needs to navigate through POS > POS Orders.
Henceforth, the admin can view the separate section for POS orders.
Thus, the admin can view the complete order details by clicking on View Order.
POS Order column in Sales Order Grid
The admin can check POS order Grid under Sales->Orders.
Cashier Force Logout
The admin can logout any cashier from the backend. For this, the admin will navigate to POS > Cashier Manager. After that, the admin will select the cashier for logging them out.
Further, under the Action tab, the admin will select the Force Logout Cashiers.

With this, the admin can logout the cashier even from the admin end. This can be useful when the cashier forgots to logout their POS system or some other conditions may occur.
Cashier Reporting
The details include the Reporting date, Initial Amount, Final Update.
We can “view” the report details:
Outlet Reporting
The outlet reporting details include Revenue, Tax, Shipping, and Quantity. Both the ordered and the amount can view as per the below image:
Amount:
Print Barcode Slip
Firstly, the admin can print the barcode slips by navigating to the Catalog > Products
On the product listing page, the admin needs to select products for which Barcodes need to print.
Thus, the admin can select Print Barcode Slip from the action drop-down list.
Henceforth, after selecting the Print Barcode Slip from the action button, the barcode slips get generated.
Front-End Point of Sales Panel
The POS panel link will be available by adding “/pos” to the base URL of the website.
For, e.g., www.example.com/pos
In the given demo, the base URL is http://mobikul.webkul.com/magento2mobikul. If we add “/pos,” then we will get the POS link for the demo website which will be http://mobikul.webkul.com/magento2mobikul/pos
Thus, the user can easily Login the POS System (frontend) by using the Username (email address) and Password, which is created by Admin.
NOTE: – If the POS is logged in by any user, then all front-end pages will redirect to the POS-END.
Henceforth, after the Signing up, the Sales Agents will be redirected to their POS panel as per the below image.
- The POS panel shows all the products in the default category. The agent can change the category to view the product category wise.
- POS menu is for sales management like Orders, Orders on hold, and Cash Drawer.
- Product Search is for searching the product by Name and SKU.
- Cart Hold icon can be used for holding a cart for later checkout or product addition.
- The cart icon shows the count of the products in the cart.
- The sales agent can add a product to the cart by clicking on it. The number of clicks on the product is the number of units of the products added to the cart.
- Cart area has all the product with quantity detail. The sales agent can directly delete products from the cart.
- The sales agent can use a barcode reader to add products to the cart by enabling Barcode Reader input via the Barcode button.
- The cashier can add products to the cart by the product’s SKU.
- The Low Stock indicator on the product will indicate that the product quantity is low.
Shortcuts
The POS is enabled with shortcuts in order to make the POS functioning faster-
Thus, below are the shortcuts:
- Home ——————— (ctrl+shft+1)
- Order History ———— (ctrl+shft+2)
- Hold Order History ——- (ctrl+shft+3)
- Cash Drawer ————– (ctrl+shft+4)
- Refresh Product List —– (ctrl+shft+5)
- Refresh Category List —- (ctrl+shft+6)
- Open Menu —————- (ctrl+shft+7)
- Product Search ———– (ctrl+shft+f)
- Hold Cart —————- (ctrl+shft+h)
- Put on Fullscreen ——– (F11)
- Choose customer ———- (alt+c)
Add products to cart
The sales agent can add products via multiple methods:
- By clicking on the products.
- Through the product SKU.
- By a barcode reader.
Add Products By Clicking on Products
- The sales agent can add products to the cart by simply clicking on the products.
- The number of clicks on a product is the number of units of that product added to the cart.
- The sales agent can view the products category wise by choosing a category from the category select dropdown.
- Product search is for searching a product by name or SKU.
- The products of the cart can be deleted by the Delete Product icon button present on each product is shown in the cart.
- The Products are shown in the cart with details like the name of the product, unit of product, the price per unit and, the total price of the product by adding all units price.
- The cashier can see the subtotal and grand total price of the cart.
- The sales agent can change the quantity of a product by selecting the product and clicking on the “Quantity” button icon.
- The agent can give the required quantity and save it by clicking on the “Done” button.
- Also, the sales agent can directly delete the whole cart by the “Delete Cart” button.
Adding Products By Barcode Reader/SKU
The sales agent can add products to the cart by scanning barcodes of the product through a barcode reader or by entering the SKU of the product.
Please Note: The barcode reader must be attached to the sale agent system for adding the products to the cart via the barcode option.
- The Barcode icon button is for enabling the input from the barcode reader to add a product to the cart.
- The cashier needs to click on the “Barcode/SKU” icon that will open a pop-up. In this, the cashier can either enter a barcode through a scanner or type the product SKU.
- When all the required products are added, then the agent can click “Close” to disable input from the barcode reader.
- However, after entering the SKU, the cashier can click on “Done” to add a product to cart and then on the “Close” button to disable the pop-up.
- Unit of product in cart increase with number scan of a product or SKU is entered.
Customer Management by Sale Agent
Once all the products of customer requirements are inside the cart, the sales agent can choose/add the customer for which the order has to be made.
The sales agent has to click on Choose/Add customer icon.
- The sales agent can choose a customer from the registered customer list. They can search for registered customers by name.
- If a customer is not registered to the store then, the agent can add the customer by clicking on “Add Customer” icon.
- First Name of the customer.
- Last Name of the customer.
- Email-Id of the customer.
- The telephone number of the customer.
- Street Address of the customer
- Street Address 2 is a much detailed street address.
- City name of the customer.
- Zip/Postal Code of the customer’s location.
- Country name of the customer.
- State of the customer.
- At last, the agent will click “Continue” to register the customer and redirecting to the Place Order page.
Customer details:
The sale agent can view the customer details with include email and phone number as per the below image:
ALso, the cashier may search the customer by thier contact number.
Completing Order
After the customer has been added to the cart for creating an order, the agent will complete the order by placing the order to generate the invoice.
- If the customer is registered, then select the customer from the registered customer list and click on the “Pay” button. After clicking the button, the Place Order page will appear on the screen.
- If the customer is not registered, then, the agent will add the customer and click on “Continue” to register the customer and redirecting to the Place Order page.
- The “place order” page shows the name of the customer and the address which can be Edited that is the salesperson can choose from multiple addresses saved or add a new additional address.
- Amount to pay is the total amount of products in the cart.
- The Extra amount is the amount that needs to be returned by the salesperson as a change.
- Address of the customer chosen and saved by the “Done” button. The sales agent can change/add an address of the customer by clicking on the Edit button.
- On clicking “Add New,” the customer adds page will open. Change the address and continue to place the order with a new address.
- The sales agent can allow its customers to split the payment between card and cash by split payment option.
- This option is meant for dividing the payment amount into bits as the customer can pay some amount in cash and some amount as the card.
- Lastly, the agent will click on Place Order to place the order and generate the invoice. The agent can print the invoice or move to the next order.
Discount-Magento 2 Point of Sale
The admin can enable a discount in the back-end as a price rule which will be applied at the time of checkout.
The sales agents can also give the custom discount on a single product to the customer.
For providing the custom discount to the customers, the sales agent needs to follow the steps below:
- The agent has to select the product and add it to the cart.
- After that, the agent has to click on the product in the cart.
- Right after that, Discount button in the bottom bar will get enable.
- The agent can now select the type of discount they want to give on the product; they are of a Fixed type or a Percentage type.
- Now, the agent can enter the Discount value.
Thus, in this way the agent can provide the custom discount of the products.
Note: The discount value enter by the agent must be less than the price of the item.
Order On Hold
- The sales agent can put the cart-on hold for the later processes and can continue to process on the held cart when require.
- The agent can put a cart-on hold by clicking on “Put cart on hold” icon visible on the right side of the full-screen button.
- On clicking the cart on hold button, the salesperson will get a pop-up that will be asking about a custom note for the particular order.
- The pop-up note is meant to recognize the order when there is a long queue of customers.
- The agent can navigate to the “Order on Hold” through the POS menu icon -> Order on Hold.
Thus, after Clicking on the Order on Hold tab the agent will be redirected to the orders on hold.
- List of orders on hold.
- Order Details including the product information along with the price and grand total.
- The agent can Re-cart the held order to continue the further processes.
- The agent can Remove Cart from the held order list.
Orders
The sales agent can check the orders by navigating through the POS menu -> Orders.
- List of the orders including online and offline orders.
- Order detail of each order.
- Customer details like name and address.
- Date, time and time zone of order.
- Payment method detail.
- Print Invoice button to print the invoice.
- Return
Return Orders
The cashier can return the order by clicking the Return button on the order placed.
The cashier can select the products which need to be returned by the customer and then click on “Done” and finalize the Return.
Note- Return process can be accomplished in only online mode.
Thus, the salesperson can click on a credit memo button to view the credit memo.
Offline Orders
The cashier can even process a transaction in offline mode, this is a beneficial feature for the areas where internet connectivity is weak.
Also, the sales agent can view all the transactions in offline mode by following the navigation POS menu> Order History.
Thus, the cashier can view all the offline orders which can get auto-sync or the cashier can individually sync the order for Sync Order button which will add this to the list of orders.
Cash Drawer
As the sales agents Sign in, they check the cash amount in his Cash Drawer. After checking, the amount is submit initially just after the Sign in.
- The Credit amount is the amount taken by the agent from the customer against the payable amount of an order.
- The Debit amount is the return of extra money as a change to the customer.
- Balance is the net amount added to the cash drawer after debit and credit.
- Opening Balance is the starting balance amount in the cash drawer.
- Closing Balance is the closing amount is the cash drawer after a set of work hours.
Refresh Product list
This helps in refreshing the product list, any changes done by admin in the backend is reflected on the frontend.
Note: The agent can even refresh the individual products.
Refresh Category list
This option helps in refreshing the category list.
If any changes are done by the admin in the back-end, then that will reflect on the front-end.
Multi-currency support
The salesperson can change the currency according to the requirements, by clicking on the Menu tab the salesperson can select among currencies available.
Store View
Here, the cashier can switch the POS multiple store view.
Frequently Asked Questions
Ques-1- How to associate additional(or custom) attribute to the Barcode in Magento 2 Point of Sale?
–>>The POS store owner can now easily associate the barcode with other attributes in Magento 2 Point Of Sale. It allows the Physical store owner with the ease in managing the barcode.
Note– Remember here at a time that only one attribute will be associated with the barcode.
For this, the admin needs to create the attribute as per default Magento. Here, one needs to remember that the attribute is Unique and Comparable on the storefront must be set to ‘Yes’.
The admin can find the ‘Unique Value‘ field in ‘Advanced Attribute Properties‘ which must be set as ‘YES‘.
Then the admin needs to go to StoreFront Properties in the side panel. Where Comparable on Storefront is set to ‘YES‘.
This will allow the attribute to be visible on the POS configuration as in the below screenshot.
Magento 2 Point Of Sale as PWA
The cashiers or sales agent can also use the POS as a Progressive Web Application in order to use it in a seamless and better manner. The Cashier can easily add the POS on the homepage as any other mobile application.
For this, the cashier will view the pos in the browser. Then click on the Add To Homescreen button under the three-dot at the top right corner.

After that, the cashier needs to provide the Name of the Application and then need to confirm the next popup to add the PWA as shown in the image below:

The cashier will then be able to see the Application in the home screen as shown in the image below:
Add To Desktop
The POS system can also be added to the desktop home screen. By following the process shown below:
First, the cashier will click on Add To Home screen icon near the search bar. After that, click on the install button.
Installation will take some seconds only and the PWA will be visible in the desktop home screen as shown in the image below.:
Thus, that is all about the Magento 2 (Adobe Commerce Cloud)Point of Sale module still have any issues feel free to add a ticket and let us know your views to make the module better https://webkul.uvdesk.com/.
Current Product Version - 5.0.1
Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x