Menu Close
    Hire us Request quote Reading list Switch to dark mode

    Magento 2 Point of Sale

    Magento 2 Point of Sale System gives the liberty to store owner to have an online store along with multiple physical stores. The physical stores will have their own POS panels for customer and sales management.

    The admin for each physical store can create multiple sales agent. As soon as the admin creates a sales agent from the back-end, they get an email containing login details of the POS. The POS system can work in both online and offline mode.

    Features

    • The admin can create multiple physical outlets for his/her online store and associate products with them.
    • The admin can assign multiple cashiers to the POS outlet.
    • The sales agents get the login details of the POS through email.
    • Separate Panel for sales agent for sales management.
    • The admin can print barcode slips.
    • Add Invoice logo from the admin panel configuration setting.
    • The admin can assign inventory to the outlet based on sources.
    • Inventory assignment to the outlet on the basis all products and category 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.
    • Easy sales management for the admin.
    • The products can 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.
    • Hassle-free payment and checkout process.
    • 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 be connected to your POS 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.
    • POS agents can refresh the whole product list and the category list.
    • The sales agent can even refresh the individual products instead of refreshing the whole product list.
    Please Note-
    • Supported 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

    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.

    Magento 2 Point of Sale Installation Of Magento2 Multi Vendor Marketplace

    After the successful installation, the users have to run the following commands on Magento2 root directory:

    First command-“php bin/magento setup:upgrade”

    Installation Of Magento2 Multi Vendor Marketplace
    Second command-php bin/magento setup:di:compile

    Installation Of Magento2 Multi Vendor Marketplace

    Third command-“php bin/magento setup:static-content:deploy”

    Installation Of Magento2 Multi Vendor Marketplace

    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:

    Installation Of Magento2 Multi Vendor Marketplace

    Language Translation

    For module translation, navigate to the following path in your system  app/code/Webkul/Pos/i18n/en_US.csv.

    Open the file named en_US.CSV for editing as shown in the below screenshot:

    LANGUAGE TRANSLATION

    Then replace the words after the comma(,) on the right in the file with your translated words.

    csv

    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, the module translation is completed.

    Language translation

    Module Configuration

    After the module installation, the admin can configure the module settings by navigating to Stores -> Configuration -> Webkul -> POS as per the below image:

    webkul-magento2-POS-module-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: 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 want to allow the multiple logins.
    • Choose attribute for Barcode: choose the product attribute for barcode scanning.
    • Invoice Slip logo: Upload the logo that you want to display on your printed invoice slip.

    After setting of the fields, the admin can click on Save Config.

    Thus, the module configuration is saved.

    POS Management

    The Source & Stock

    Before discussing the POS Management, first lets discuss, How to manage the source & stock in POS.

    We shall see that how we can make use of the Multi-Source Inventory feature to manage the inventory within the Point Of Sale system.

    In the POS system, for each outlet we have to select an option “Source“. This source can be created by navigating through Stores>Inventory>Sources and clicking the Add New Source button.

    D

    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.

    sa

    Here we have to fill in the following details about the new source like

    d

    • Give Name to the source.
    • Give a specific code for the source.
    • Enable or Disable the source
    • Set latitude & longitude for the source.

    d

    • 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 configured in your Magento) so that we can assign sources(from where we are selling our products) for each channel.

    ds

    After this, we can assign the stock to the product by navigating to the edit product page and clicking the Assign Sources button.

    sc

    Now, the admin can manage the POS module by navigating to POS panel as per the below image.

    menu

    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 unlimited number of outlets.

    webkul pos add/manage outlet

    Here, the admin can:

        • View the complete list of the outlets.
        • Delete/Disable/Enable the selected outlets from “Actions” drop-down.
          webkul pos add/manage outlet
    • 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:webkul-magento2-POS-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 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:

    webkul-magento2-POS-associate-categories

    • 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:

    webkul-magento2-POS-associated-products

    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.

    webkul-magento2-POS-default-customer

    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 Cashierwebkul-magento2-POS-cashier-management-1

    • The admin can delete/enable/disable the selected cashiers from “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. webkul-magento2-POS-add-new-cashier

    Image- The admin can upload an image of the cashier.

    First Name- 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, the cashier is saved by clicking 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.

    orders

    Thus, the admin can view the complete order details by clicking on View Order.

    POS Configuration

    The admin can also manage the POS configuration by navigating through POS -> POS Configuration as per the below image:webkul-magento2-POS-configuration

    Print Barcode Slip

    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.

    webkul-magento2-POS-print-barcode

    Henceforth, after selection the Print Barcode Slip from the action button, the barcode slips gets generated.

    Front-End Point of Sales Panel

    The POS panel link can be obtained by adding “/pos” to the base URL of the website.


    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 (fronted) by using the Username (email address) and Password, which is created by Admin.

    webkul-magento2-POS-login-1

    Henceforth, after the Signing up, the Sales Agents will be redirected to their POS panel as per the below image.

    posfrontendcatalog

    • 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 unit 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 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.

    posaddproducttocart

    • 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 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.
    • The sales agent can directly delete the whole cart by “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 barcode option.

    addproducttocartviabarcodeorsku

    • 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

    After all the required products of a customer has been added to the cart then, the sales agent can choose/add 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 registered customers by name.

    addnewcustomers

    • If a customer is not registered to the store then, the agent can add the customer by clicking on “Add Customer” icon.

    addnewcustomer-POS

    1. First Name of the customer.
    2. Last Name of the customer.
    3. Email-Id of the customer.
    4. The telephone number of the customer.
    5. Street Address of the customer
    6. Street Address 2 is a much detailed street address.
    7. City name of the customer.
    8. Zip/Postal Code of the customer’s location.
    9. Country name of the customer.
    10. State of the customer.
    11. At last, the agent will click “Continue” to register the customer and redirecting to the Place Order page.

    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.

    checkout

    • 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 which 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.

    addressncheckout

    • The sales agent can allow its customer 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.

    splitpayment

    • 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.

    order placed

    Discount

    The admin can enable discount in the back-end as a price rule which will be applied at the time of checkout.

    webkul-magento2-POS-discount

    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.

    webkul-magento2-POS-custom-discount

    Thus, in this way the agent can provide the custom discount of the products.

    Note: The discount value entered 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 required.
    • The agent can put a cart-on hold by clicking on “Put cart on hold” icon placed on the right side of the full-screen button.

    cartonhold

    • On clicking 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.

    cartonholdpopup

    • The agent can navigate to the “Order on Hold” through POS menu icon -> Order on Hold.

    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.

    list

    Orders

    The sales agent can check the orders by navigating through the POS menu -> Orders.

    list

    • 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 orders can be returned by clicking the Return button on the order placed.return

    The cashier can select the products which need to be returned by the customer and then click on “Done” and finalize the Return.

    stock

    Note- Return process can be accomplished in only online mode.

    credit memo

    Thus, the sales person can click on a credit memo button to view the credit memo.

    view

    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 processed in offline mode by following the navigation POS menu> Order History.

    offline

    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.

    sync

    Cash Drawer

    As the sales agents Sign in, they checks the cash amount in his Cash Drawer. After checking, the amount is submitted 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 hour.

    webkul-magento2-POS-cashdrawer

    Refresh Product list

    This helps in refreshing the product list, any changes done by admin in the backend is reflected on the frontend.

    refresh

    Note: The agent can even refresh the individual products.

    refresh

    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 reflecte on the front-end.

    menu

    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.

    currency

    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 Magneto 2 POS. It allows the Physical store owner with the ease in managing the barcode.

    Note– Remeber here at a time 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.

    Thus, that is all about Point of Sale for Magento 2 still have any issue feel free to add a ticket and let us know your views to make the module better https://webkul.uvdesk.com/.

    Current Product Version - 2.1.0

    Supported Framework Version - 2.0.x, 2.1.x, 2.2.x, 2.3.x

    . . .

    Comments (10)

    Add Your Comment

  • Ideas
    I have several questions:
    1] The list of products in the POS , not same as list in the magento 2 products.
    2] How to remove the mandatory fields from customer form.
    3] The Amount of Discount not appear in POS and not in Receipt.
    4] Search about customer phone number.
    5] when sync from POS we get this error {Invalid shipping method.}
    6] there is No “next order” button after “Place Order”.

    thanks & Regards,

    • Nishad Bhan
      Hello Tahera,

      1] The list of products in the POS , not same as list in the magento 2 products.
      – You can assign products to your created outlets via – Category based or All Products based.
      2] How to remove the mandatory fields from customer form.
      – You can reach out to our support team at support@webkul.com so that they can assist you with this.
      3] The Amount of Discount not appear in POS and not in Receipt.
      -After the cashier has applied the discount as fixed or percentage it’s reflected in the invoice as well.
      4] Search about customer phone number.
      -The cashier can add a new customer will all the required details.
      5] when sync from POS we get this error {Invalid shipping method.}
      -Get back to us at support@webkul.com so that we can assist you with the issue.
      6] there is No “next order” button after “Place Order”.
      -yes, after placing an order the cashier can tap the next order button at the top to take the next order.

  • Jay
    Hello, I have a question. How does it handle customer group pricing. Say the customer who walks in is a wholesale customer. So we’ll have to charge them a different rate compared to what we would charge a regular consumer. We have set this price up in Advanced Pricing of Catalog->Products. Now how will this price reflect on the POS at the time of order?
    • Nishad Bhan
      Hello Jay, Thanks for reaching out.

      Currently, the asked feature(does it handle customer group pricing?) is not available. We are working on the same and it would get updated in a while. For any further information on the same get back to us at support@webkul.com so that our support team can assist you in a much better way.

  • Lucas White
    Very Excellent useful Composing. Well done, keep up!!Thanks for posting this useful blog…
    • Nishad Bhan
      Thanks! Hope the blog helped you. For any doubts or suggestions get back to us support@webkul.com
  • Vineet Binani
    I want this pos app in multi vendore hyper local model magento app mobile no 9872833384
    • Goldy Bhargava
      Hi Vineet,

      For information related on purchasing the application, you can just email us at support@webkul.com and can ask your requirements there.

  • Duyen
    Hi there, I have a few questions:

    1. 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.
    -> So when we choose POS pay as credit card, there is no connection with swapping machine and we have to manually handle the payment process such as enter total mount, it is right?

    2. You can divide the catalog for Web and POS separately
    -> If I choose yes, all inventory will be synced between POS and Magento. If I choose NO, the main inventory is still on Magento, no inventory synced, it is right?

    3. I do not see the full outlet setting s(http://prntscr.com/l6n9ei), from the demo (http://prntscr.com/l6na0q). Which one will be the newest version when we use it?

    4. Where I can set discount rules for POS?

    Thank You

    • Goldy Bhargava
      Hi Duyen,

      Regarding your first question:
      Yes, you have to handle the payment process manually. As you have to select the payment option firstly like
      By cash or By Credit/Debit card. Then separately on the card swapping machine you have to enter the product total & after the successful transaction, the outlet cashier can provide the invoice to the customer which is generated.

      Regarding your second question
      – Yes, if you chose the option as ” No ” then the whole inventory will be for website only.

      Regarding your third question.
      https://prnt.sc/mdp43k You can find the screenshot of newest version in this link.

      Regarding your Fourth question
      -The admin can enable discount in the back-end as a price rule which will be applied at the time of checkout.

      For further information, you can just email us at support@webkul.com

  • Back to Top
    css.php
    Hire Us!
    Brief us about your requirements and we'll get back to you.
    Woo! Hooy!
    We have just received your message and our expert will get back to you shortly.
    Send Again
    Close

    Table of Content

    Hide Index