Business Setup

  1. Click on register business link on the welcome page.
  2. Registering business involves multiple steps; Business Details, Tax details, and Owner details.
  3. Business Details: Fill out the relevant fields; select the appropriate currency & Time zone; click on Next. Time Zone & Currency can be different for different registered businesses.
  4. Tax Details: You should fill out at least one Tax name and Tax number. Tax is like GST/VAT which varies for different countries. Fill details & click on next.
  5. Owner Details: Provide asked details. Username & Password are used to login so make sure you remember them.
  6. The owner created during this registration will be admin of the business. More admin can be added/edited/deleted from user management section.
  7. Click on the register button and after successful registration, it will get redirected to login screen. Login with owner username/password created.

Note: You can change any of the above details in the business settings section.

  • Mostdesk allows you to add multiple businesses. But many times you don’t want to allow external visitors to register their businesses.
  1. After login, you will be redirected to the homepage.
    The first thing you should do it setup your business details so that the system works according to you.
  2. Setup your business by adding below mentioned details:
    1. Brand: Add all the brands.
    2. Tax Rates: Setup taxes and tax groups.
    3. Units: Add product units (pieces, meters, Litre etc)
    4. Categories: Add categories & Sub-Categories
    5. Business Settings: Add some more details about your business. The more information you provide the better it will for you.
    6. Business Location: (Only available in Mostdesk) Add Multiple business locations/ storefront/warehouse 

User Management

Adding users
  1. User Management -> Users -> Add New
  2. Fill the user details, select user role, give a unique username.
  3. Sales Commission Percentage (%): Provide the commission % for this user. This option gets applied if the commission agent feature is enabled. (Not available in Mostdesk -LITE)
  4. Activate/Deactivate the user.
  5. You can edit/delete a user.
Assing locations
  • Refer to the image below
Max sales discount:
  • The maximum discount this user can give during sales in the POS & sales screen. If you don’t want to have this restriction then simply keep this value blank.
  • Disable login

Refer to the image below

Adding Roles
  1. Every new business comes with some default roles – Admin & Cashier.
     have all permissions in the application.
    Cashier have permission to only Mostdesk section.
  2. You can create a role by clicking on Add button -> Giving a role name and then selecting the appropriate permission for that role.
  3. Sometime you may need to give a user access to a/some particular location(s) only. In this case, select the locations from “Access locations” permission. Select “All Locations” to give permission to access all locations for your business.
  4. Roles permissions can be edited & Deleted.

Note: You must update the role of an existing user before deleting a role.

Commission Agent is useful for many businesses. Businesses pay sales agent/commission agent commission on every sale they bring.

Enabling & Choosing Commission Agent Type:

By default Commission Agent is Disabled. You can enable it from Settings -> Business Settings -> Sales. Sales Commission Agent drop-down.

You will see 3 different types:

  1. Logged in User: If this option is used then the Logged in User will be automatically considered as the commission agent for the sales added by him. Meaning the user adding the sales will get the commission for the sales.
  2. Select from User’s List: If this option is enabled then in Mostdesk & Sales Screen you will see the list of “users” present in your business. The user adding the sales will select the commission agent from the list of users displayed.
  3. Select from Commission Agent List: If this option is enabled then in Mostdesk & Sales Screen you will see the list of “Sales Commission Agents” present in your business. The user adding the sales will select the commission agent from the list of “Sales Commission Agents” displayed.

Select the option as per your business requirements.

Adding Commission Percentage:

You can add commission % while adding/editing the User or Sales Commission Agent

Calculating Commission Amount:

To See the commission amount, Go to Reports -> Sales Representative Report.

Select the User for which you want to see the commission amount.

On selecting it will show you the detailed summary of Total Sale, Total Sale Commission & Total Expense. Also, the table below lists all the transactions.

NOTE: Sales commission is calculated without shipping or tax. Sales commissions are from the sales of the items, not the overhead cost such as taxes, freight, shipping, handling, etc.

Commission payment:

After getting the commission amount, Mostdesk have 2 ways to make payment for the commission.

Using expense
  • Calculate the commission from the sales representative report and after paying the amount add it as an expense in Add Expense menu.
  • In Add expense, select the Expense-For dropdown
Using HRM module
  • Use the HRM module
  • In the HR module, when creating payroll for a user, it will automatically include the sales commission.
  • Sales commission will be shown as Payroll-Components so that the business owner and the user both know details of the commission.
Creating Superadmin user:
  1. Login to the server from Cpanel or DirectAdmin or Plesk or Filezilla (FTP) or similar panels.
  2. Open .env file with the file editor.   .env file is present inside the Mostdesk directory
  3. Inside the env file, you will find “ADMINISTRATOR_USERNAMES” configuration. Add the username of the user which you want to make as superadmin.
    Example if you want “user1” to be superadmin then add it like below:
    NOTE: user1 mentioned here is for example only and the username is case sensitive.
  4. You have to add an already existing/signed up username here. To add multiple users as superadmin you can add them comma separated.

To reset password or change password from database, do this:

  1. Open PHPMyAdmin
  2. Go to Mostdesk database
  3. Open users table
  4. For the user for which you want to change the password, in the password field put
  5. The password will get changed to 123456

Contact Management

To view customer or supplier ledger

  1. Go to Contacts -> Supplier/Customer and click on actions button
  2. In that  you will be able to see Ledger for the customer or supplier.
  3. You can select a date-range and use the checkbox filters to show/hide certain transaction type.

Opening balance:

Opening balance is the balance contact (customer or supplier) have at the beginning of using the software.

Suppose you’re shifting the data from another software to Mostdesk then the opening balance of the contact will be the balance amount which the contact has to pay/receive to/from you.

Opening balance for customer = Amount the customer has to pay

Opening balance for supplier = Amount you have to pay to the supplier.

Adding Opening balance

You can add an opening balance when adding/editing the supplier or customer. In the add contact screen, you will find the opening balance field.

View Opening balance payment

To view the opening balance of contact, go to List Supplier/customer, go to view, and on the view page, you will find the opening balance & opening balance due.

Pay or receive payment of opening Balance

Adding payment of the opening balance is the same as any other payments. Go to list Customer/Supplier -> Actions -> Pay.

It will open a popup modal where you can enter the payment amount.

Any contact can be supplier, Customer or Both (Supplier & Customers)

Adding Suppliers & Customers

  1. Goto Contacts -> Suppliers or Customer
  2. Click on add new contact. Select contact type – Supplier/Customer/Both
  3. Based on the contact type selected –  it will show the relevant fields. Fill the relevant details.
  4. Click on More More Information button to see more field.
  5. Pay Terms: This will help the system to notify you of any pending payments for suppliers & customers. You can specify pay term in either days or months.
  6. Customer Group: Read details here.
  7. Credit Limit: This is the maximum amount of credit that can be given to the customer. If in any sales the credit exceeds this amount then it won’t allow selling on credit.
  8. Opening Balance: Opening balance of a customer or supplier before you start using Mostdesk. So if there is any previous balance you can add here.
  9. Advance balance: Sometimes customer/supplier pay/takes money in advance. This wil show the amount of advance balance paid or take by the customer/supplier respectively.
Viewing Suppliers & Customers
  1. To view details about a Supplier or Customer click on View button. It will show the complete details along with the relevant transactions (Purchases & Sales) for that contact.
  2. Pay Due amount: You can use this button to pay the due amount for a customer or supplier. This will pay the overall due amount for all invoices.
Advanced Balance

Advanced balance(to customers) is the sum of the amount that the business should pay for the customers.

Advanced balance(to suppliers) is the sum of the amount that the suppliers should pay for the business.

To add an advanced balance, Go to Customers -> customers/suppliers and click on the action button. Here you will find a pay option and click on it.  Add payment pop up will be shown and add the required amount value and click on save button.



Making sales/ purchase using advanced balance:

To make a purchase or sale using this advanced balance, add a sale or purchase. Select the customer/supplier that you have added advanced balance. While making the payment select the advance option and save it.

Opening Balance

Opening balance(to customers) is the sum of the amount that the customers have to pay for the business.

Opening balance(to suppliers) is the sum of the amount that the business has to pay for the suppliers.

Adding an opening balance

To add an opening balance, Go to Contacts->customers/suppliers. Either select the add button or click on edit for an existing user. There you could find a more information button, click on that and add the opening balance amount to be added for that user.

(Not available in Mostdesk-LITE)

Customer Groups:

With customer Groups, you can classify a customer as Retail Customers, WholeSale Customer, Friends, Colleagues and whatever you will love to…

1. To add a “Customer Group” go to Contacts -> Customer Groups & Click on “Add” button.

2. It will show a popup asking for customer group name & Calculation Percentage.
Calculation percentage is used to calculate selling price.


– Suppose if the Selling Price set for a product Product1 is $200
– Customer Group Name = Friend
Calculation Percentage = -20
– Note: -20 (notice a minus sign) or you may set it 20 = +20%

– And you have created a customer with Harry with Customer Group assigned as Friend.

– Now go to pos or Sell screen. Select the customer Harry and add the product1.

– You will notice that the selling price set for the product1 will be 200-20% = $160

This is how customer Group works.

Customer Group does an internal calculation and applied the calculation percentage to the selling price. It will not show a separate discount on the invoice or the pos screen.

This feature is highly useful when you have retail, wholesale or different customer categories.

You can view report for different customer group from “Customer Groups Report” or in other terms if you have retail and wholesale customer group you can see which type of customer group is giving more sale.


Adding Products
  1. Go to – Products > Add Products.
    • Provide a Product Name,
      SKU: Add a unique SKU which will be used to identify the product & Print barcode in labels. Leave it empty to auto-generate it. You can also add a Prefix for auto-generated SKU.                     Steps to change the default SKU length: In order to change the default SKU length, make the following simple change in the code. 1. Open the file pos\app\Utils\ProductUtil.php. 2. Search for the function ‘generateProductSku’. 3. Change the default value 4 to any required length.
      Barcode Type: Select a barcode type, default/recommended is C128 option. We recommend changing if only if the product added already have an SKU number for it.
      Not For Selling: If a product is maked not-for-selling then it will not be displayed in Mostdesk or sales screen. This can be useful when using manufacturing module to make the ingredients as product not-for-selling also if you want to temporary disable selling for some products.
      Alert Quantity: Alert quantity is used to alert when remaining stocks reaches to this level or below it.
      Manage stock
      : Enable/Disable stock management at a product level. Product stock management is not required for services like Repairing, Hair Cutting, Web Development Printing. For items with Manage Stock Unchecked (disabled), you can sell them in unlimited quantities.  Selling of service using Mostdesk
  2. Business Location: Select the business location(s) where this product can sold or purchased.
  3. Select Applicable tax for that product. Adding Tax
  4. Product Type:
Single Product:
    1. Applicable for products with no variation with them then select single
    2. When selecting Single product – You will need to enter the Default product price including/excluding tax, Profit Margin % (you can set default profit margin from settings -> Business Settings; this will help to type % every time). Based on the profit margin it will auto calculate selling price excluding of Tax. You can also enter the selling price manually and it will auto adjust the profit margin for you.
Variable Product:

      1. Applicable to a product having variations (like size or color or design or flavors etc) You can define variation templates from Products -> Variations. The advantage of creating variation is that it saves time to add same variations multiple time.
      2. When selecting Variable product – It will display different fields to add all variations and its related Purchase price, Selling Price. You have to select the variations from the dropdown and it will auto-populate the variations for that template. You can change the variable name, Variation values.
      3. 🆕 To give same purchase price or selling price or profit for all variations of a product click on the double tick present in the first variation.
      4. Read more about adding variations
Combo or Bundle Product

Adding a bundle product

  1. Combo product are also called bundle products.
  2. It is offering several products as one combined product.
    For example a product “Computer Set” can have: 1 PC Monitor + 1 PC CPU + 1 Pc Keyboard + 1 PC mouse
    So when someone buys Computer set she gets all the products in it.
  3. Stock of bundled product depends on stock of individual products present in that bundle.
    Example: if you have 5 PC Monitor, 4 PC CPU , 10 pc Keyboard, 50 PC mouse, the stock of Computer set will be 4 PC.
  4. When the bundle product is sold, stock of all products inside them is automatically deducted.
  5. Individual products present in bundle product can also be sold separately.
  6. Bundle products cannot be purchased, only individual products present in it can be purchased.

Click on Save.

You can edit a product. You can also Copy / Export to CSV, PDF or Excel file.

Adding Products with multiple variations:

If you have products which involve multiple variations like for example a Shirt can have Color & Size variation, then we have multiple ways to work with it:

Solution 1, Create combined variation: Can a variation with a name “Color-Size” and add values like Red-Small, Red-Medium, Red-Large, etc, this can be used for while adding the Shirt.

Solution 2, Create multiple Products: Create multiple different products like Shirt-Red, Shirt-Green, Shirt-Blue with size as variations. When you create multiple products you will NOT have to enter the same details multiple times, first, add the Shirt-Red with all size variations of it and then use the Duplicate Product action to copy the data.

Assigning/remove locations of multiple products at once:

Go to List Products and refer to this screenshot.

Deactivating & Activating Product:

Refer to the screenshot.

Using Product barcode:


How can we use the product’s barcode instead of creating and printing new for every product?
How can we use the brand’s barcode of the product instead of creating and printing new for every product?


When creating a product, in the SKU field enter the barcode number of the product. This barcode will be used to identify the product in all screens like POS, Sales, purchases, reports, and others.

How to add a product that already has a Barcode?

Adding products that already have a barcode, follow the same steps as adding any other products.

  1. Go to add products
  2. Fill in all the product details
  3. IMPORTANT: in the SKU field scan or enter the barcode of the product.
Adding product quantity or adding product stock

For systematically managing your business, product quantities can be added in 3 ways:

  1. Adding Opening stock
  2. Adding purchases
  3. Manufacturing product: Useful for manufacturers, required manufacturing module.
Import Products:
  1. Go to Products -> Import Products
  2. Download the template file.
  3. Fill all the information as per the displayed columns name & instructions. Don’t remove the heading from template file.
  4. Import the file
Common Errors:
  1. Error: UNIT not found
    Solution: Make sure the unit you provided in excel file is already present in the system. Go to  Products -> Units, add the unit & import the file again.
Not well-defined error:

Many times it can show some not well-defined errors like “non-numeric value encounter” or others

In this case, the best way is to split your import into multiple files.

For example, if you’re importing fil with 500 products, divide it into 2 files of 250 each and import it.

  1. Deleting Products

    Deleting of a product will remove the products from the database.

    NOTE: This delete will not work if the product have some transactions related to it. Transaction can be Opening Stock, Purchase, Sales or Stock transfer of the product. It will show some error like:

    • Product can’t be deleted because purchases related to this product exist
    • Some products couldn’t be deleted because it has transaction related to it.
    Deleting individual product

    Bulk Delete multiple products


    Delete product Errors:
    Some products couldn’t be deleted because it has transaction related to it:

    When a product has any transactions it cannot be deleted.

    Transactions can be either Sales, Purchase, or Adding opening stock.

    The best way to avoid such products is by deactivation them

    1. Variations can be added from Products -> Variations menu.
    2. These variations are used in variable products product.

    Example of variation is for example, a Jeans can have multiple colors, so add variation called Colors and provide the value for it. As given in the image below.

Different Products have different units. Mostdesk allows you to add different units for products.

Adding Units
  1. Go to Products -> Units
  2. Give the unit name, a short name, and choose if want the unit to allow decimals.

Name: Meter
Shortname: Mtr.
Allow Decimal: Yes.

Allowing decimal allows you to purchase/Sell the product in decimal and vice-versa.

Multiple Units:

This can be useful if you purchase products in a different unit and sell it in a different unit.

For example: Purchase in dozens and sell in pieces.
Or purchase in boxes and sell in pieces.


  1. Add the lower unit from Add Unit Screen. For example pieces.
  2. Add the higher unit as per the screenshot:
    • Check “Add as multiple of another unit”
      Multiple units - units of measurement
    • Provide the conversion Details.
  3. Use the unit in Add/Edit Product. While adding/editing purchase/ sale you can see the dropdown for units. Select the desired unit and it will change the unit purchase/sales price accordingly.

NOTE: You will not see the main Units (Dozen in this example) in the Add-Product Unit dropdown, select piece as the unit of product. All purchases/sales get saved in the lower unit (pieces in the above example). So after adding purchases/sales if you edit the conversion details, it will affect the purchases/sales quantity accordingly.

Selecting relevant Sub Units for a products

For some products not all sub-units will be required. Suppose for example you sell Oranges only in Dozens or only in pieces then it will be useful.

Enable it from Business settings ->Products -> Enable relevant sub-units

Now when adding products select the Unit for the products and it will give option to select multiple applicable sub-units. Selecting the sub-units will allow you to do purchases or sales on this selected sub-units.

Categorizing products helps you to easily manage and filter them in reports.

Adding Category & Sub-Category

  1. Go to Product -> Categories -> Add
  2. Add Category name, category code(HSN code)
  3. If the category is sub-category select “Add as sub taxonomy” and select the parent category.


  1. Go to Products > Product List
  2. Click on Actions > Product stock history

Enabling expiry for products
1.To enable expiry go to Settings -> Business Settings -> Product section. And check the “Enable Product Expiry” checkbox.
2. On enabling Product expiry, you can choose either “Add Item Expiry” or “Add manufacturing date & Expiry Period”
  • “Add Item expiry” => Choose this option if you want to directly add the expiry of the item to the purchase screen.
  • “Add manufacturing date & Expiry date” => Choose this option if you want to add the manufacturing date of the item and the expiry period. Based on the manufacturing date and expiry period it will auto-calculate the expiry date. And this expiry date can be edited. You will have to add expiry period for the product in the “Add or Edit Product” screen. And the manufacturing date in the “Add Purchase” screen.
3. “On Product Expiry” => With this option you can set what the system should do when a product expired.
  • “Keep Selling” => Choose this option if you want the application to keep selling the product even after expiry.
  • “Stop Selling n days before” => Choose this option to stop selling the item n days before the expiry. You will have to specify the value of n (which is the number of days before to stop selling)
4. “Stock Accounting Method” => This feature is used to set the way the product should be sold.
  • FIFO (First In First Out) => In this the old stock should be sold first.
  • LIFO (Last In First Out) => In this the most recent purchase stock should be sold.
For an Example:
1. Purchase 20 pcs of product A on 20 March 2018. Expiry date 10 April 2018
2. Purchase 20 pcs of the same product  A on 23 March 2018. Expiry date 8 April 2018
3. Today I sold 22 pcs.
If the “Stock Accounting Method” is FIFO => Then the Product purchased on 20 March 2018 will be deduced with 20 pcs and after that product purchase on 23 March 2018 will be deduced with 2 pcs.
So in stock, we will have products from 23 March 2018 with 18 pcs.
If the “Stock Accounting Method” is LIFO => The opposite of the above will happen.
NOTE: You must set the required accounting method before selling the item for that accounting method to be used.
Stock Expiry Report:
1. Go to Reports => Stock Expiry Reports.
2. Here you can filter stock “Category”, Brands, “Stock expiry date”
3. Click on “Edit” to modify the stock left and expiry period.
4. If stock left is decreased the unit purchase price is adjusted accordingly.
Stock Expiry Alert:
– You can view stock expiry alert in Homepage bottom section. Here it shows a list of products expiring soon.
– You can set the number of days before which the expiry alter should be shown in the Homepage from “Settings -> Business Settings -> Dashboard Section” View Stock Expiry Alert For input field.
Displaying product expiry date in the invoice
  1. Make sure the product expiry feature is enabled as mentioned above.
  2. Go to invoice layout and enable “Show Product expiry”
  3. If the product expiry date is added when adding Purchase or Opening stock then when making sales it will display the product expiry dropdown. Select the expiry date which you want to sell.  Then in the print invoice, it will show the expiry date.

    Demo Video

(Not available in Mostdesk-LITE)

What is Lot Number?
Enabling Lot Number

To enable lot number go to, Settings -> Business Settings -> Purchases

Check the Enable Lot number checkbox and update settings.

Adding Lot number from Purchases

If the lot number is enabled as described above then when adding purchase stock it will display the lot number field for entering the lot number.

Adding lot number from add opening Stock:

If lot number is enabled then when adding opening stock it displays the input field to enter lot number.

Selling products from specific Lot

Refer to the Mostdesk selling documentation Lot number description.

Displaying product lot number in the invoice
  1. Make sure the lot number feature is enabled as mentioned above.
  2. Go to invoice layout and enable “Show lot number”
  3. If the lot number is added when adding Purchase or Opening stock then when making sales it will display the lot number & product expiry dropdown. Select the lot number which you want to sell.  Then in the print invoice, it will show the lot number.

With Mostdesk we aim to make it “One in All” POS/Stock Management Application.

Selling price groups allow you to add different prices for a product.

  1. Sell at different prices: wholesale/retail
  2. Different prices for different locations
Adding Selling Price Groups:
  1. Go to products -> Selling Price Group


    Selling Price Group

  2. Click on “Add” button to add a new price group. For example Retail price or WholeSale price or Bulk Purchase price or Location 1 price etc as per your wish.
  3. You can view a list of selling prices in “Selling Price Group” screen.


Adding price for different price groups:

  1. In Add/Edit product screen in the bottom, you will find the button “Save & Add Selling-price-group price”. Click on that button. Note: this button will not be visible if there are no selling price groups.
  2. In the next screen, you will see the list of the product name (if variable product then all variations), the default price & selling price groups price. Enter the prices for it.
  3. Click on Save.
Exporting & Importing selling price group:
  1. Go to Products -> Selling Price Group.
  2. First download the excel file with the selling price group by clicking on “Export Selling Price Group Prices” button.
  3. In the downloaded file change the price of products.
    1. Only selling price group prices of the product will be updated, not the SKU or name.
    2. Any blank price will be skiped.
  4. Then import the file.
Selling at a particular price group:
  1. Go to Mostdesk.
  2. In the top, you will see the list of selling price groups. Select the one as per your requirement.
    Note: This will not be visible if there are no selling price groups or if a user is assigned only one particular price group only.
  3. Select the prie group & the selling prices for the product will be as per the price group.
Assigning a user to a particular price group:
  • Sometime you may want to assign a particular or few selected price group to a user. In that case, create a role with the desired permission & price group assigned.
  • You must assign at least one price group for a role if that role has permission to sell.
Assigning a price group to a Business Location
  • Helps selling same product at a different price in different business location.
  • Go to Add/Edit Business Location and select the 
1. How to hide the Selling Price Group in POS window to all cashiers

In add/edit roles you can set which all selling price groups will be visible to that role. So in the cashier role, you can uncheck/remove permission for all other selling price groups except the one you want to show or use for the cashier.

Video Demonstration

Enabling Warranty:

To enable warrany in products go to Settings -> Business Settings -> Products -> Enable Warranty

Using Warranty
  1. Adding Warranty: Add warranty types by going to Products -> Warranty.
  2. Assigining warranty for products: Go to Add/Edit product and select the warranty that is applicable for the product.
  3. Sell with warranty: Any products which has warranty assigned when sold will use the transaction date as start of warranty. You can display warranty in receipts by enabling it from Invoice layout.

Mostdesk comes with an inbuilt feature to print customised labels for products.

You can go to print label screen from multiple places:

  • From Products Sidebar menu Products -> Print Labels.
  • Go to Products -> View Products and click on Actions -> Labels. This will add the selected product to print label list.
  • Go to Purchases -> List Purchases and click on Actions -> Labels. This will add the products from the selected purchase to print label list.
Printing Labels
  1. Once you’re in print label screen, add the products for which you want to print labels by entering the name or barcode/sku id.
  2. Adjust the quantity of each product’s label (No. of labels).
  3. Select the information you want to display in labels by checking/unchecking the options under “Information to show in labels” heading.
  4. Select the Barcode Setting according to your sticker. We have included some commonly used settings.
    You can add new setting from Settings -> Barcode Settings menu.
  5. Click on Preview to view the labels.
  6. If everything looks good you can click on Print button to print it.
    Note: You must set the Margins to ‘default’ in browser print window.
  7. If some information is getting half displayed because of sticker size, then it is advised to hide them or better to use a 20 Labels Per sheet settings.
Error: Unsupported SKU id for the selected barcode type

This error means the SKU provided by you when creating the product doesn’t satisfy the encoding as per barcode type.

The solution can be edit the product and change the barcode type as “Code 128” save & try printing the label again.

Duplicate Products helps you to easily create a new product with the same data as another product, this helps you save repetitive entering of data and ultimately saves time by making the product entry process faster.

Error 1: Mismatch between sold and purchased quantity

Error 2: Mismatch in stock shows in Stock-Report and sales screen. Sales screen accepts products greater or less than as in stock reports.
This rarely happens because of some unknown reasons or if you try to manually update the stock in the database.


NOTE: You must have the role of admin for this to work.

Step 1: Go to this URL
Step 2: Select the business location and press search button. It will show the list of products for which there is a mismatch.
Step 3: Click on Fix button for each product.
Refer to the screenshot below

Open config/constants.php

change “enable_product_bulk_edit” false to true

Bulk edit helps you to edit multiple products at once and saves your time.

To edit multiple products follow the steps:

  1. Go to Products -> List Products
  2. Select the products you want to edit by clicking on the checkbox present in each product row.
  3. Scroll down you will find the Bulk Edit option, click on it and you can edit the selected products.
  4. Also, in the bulk edit screen you can add any other products to edit them.

To add opening stock:

  1. Go to List Products
  2. Actions > Add or Edit Opening Stock


  1. Adding Purchase
    1. Go to – Purchases -> Add Purchases
    2. Type Supplier Name or Business name in the Supplier field. If the supplier doesn’t exist you must add them from Contacts -> Suppliers -> Add
    3. Enter Purchase reference number, Purchase date & Order Status.
    4. Select Business Location: Select a location where you want to add the purchase. You can add a new Location from Settings -> Business Locations.
    5. Type product name or scan the product barcode number. It will show related matched products, select a product to add it to the purchase list.
    6. On adding a new product you can enter purchase quantity, purchase price, and tax information.
    7. To add a discount: Select the discount type (fixed or percentage) and enter the amount. Mostdesk will auto-calculate the amount after discount.
    8. Enter purchase tax, Shipping Details, Additional Shipping charges, Payment status, & Additional notes.

    You can view the list of purchases from Purchases -> List Purchases.

    You can Print Labels for your purchase by Clicking “Print Labels” in List Purchases screen.

    See details on printing Labels here.

    No matching product found

    This error will be displayed in 3 conditions:

    1. Reason 1: There are no products matching the name or SKU which you have entered. Check it once in the list products.
    2. Reason 2: Check the business location selected in add purchase have that product. So if the business location is Location-1, then in add/edit product the product must be assigned to that location.  Check More here in Add/Edit Products
    3. Reason 3: Make sure the product has Stock-Management ENABLED in Add/edit product. If stock management is not enabled in products then it won’t show in the add/edit purchase.
  • Purchase payment meaning paying to the supplier for the Purchases.

    Payments Statuses
    1. Paid: The PO is 100% paid.
    2. Due: The PO is 100% not paid.
    3. Partial: Partial amount of the PO has been paid.
    4. Overdue: PO is 100% not paid & past the due date.
    5. Partial Overdue: Partial amount of the PO has been unpaid & past the due date.

    Adding Payments
    Adding payment when adding purchase:

    In the add purchase screen, you can add the payment for the purchase.

    Adding payment from the List Purchase screen

    In list purchase click the actions for any PO and it will display the list of actions for it. This option is not displayed if there is no payment due.

    Adding payments from Contact

    Go to contact -> Suppliers. Click on actions for the supplier and it will show “Pay Due amount”, click on it and pay the amount. “Pay Due amount” this option is not displayed if there is no payment due.

    Adding/Editing Payment Method or Pay-Via

    Follow Add/Edit Pay-Via / payment method.

  1. What is a Purchase Order?

    A purchase order is a document given by the buyer (usually you) to the supplier to request a purchase of goods.

    A purchase order contains the buyer invoicing details, delivery details, products, quantities, pricing, tax, discounts, payment terms, payment details, shipping charges if any, and other notes.

    The supplier will issue a sales order against the purchase order you have provided.

    A purchase order has multiple statuses: Ordered, Partial, Completed

    Enabling Purchase Order

    To enable purchase Order, follow the below steps:

    1. Go to Settings -> Business Settings
    2. Purchase tab -> Enable Purchase Order
    3. Save it.
    Using Purchase Order in Mostdesk
    Creating purchase order

    After Enabling Purchase order, inside Purchase you’ll find the Purchase -Order menu.

    Go to add Purchase order, fill in all the details and save it.

    Stocks are not added on issuing Purchase orders.

    Once a Purchase order is created you can print it and send it to the supplier.

    Converting purchase Order to Purchase

    On receiving Purchase orders the supplier issues a sales or invoice.

    1. Go to Purchase -> Add Purchase, select the supplier.
    2. On Selecting it will populate the list of all Purchase orders related to the supplier on the “Purchase Order” dropdown.
    3. Select the Purchase Order and it will auto load the products for that order with the product’s price, tax, discounts applied automatically as the sales order.
    4. You can increase or decrease the quantity.
    5. Save it and the status of the Purchase order will change automatically.
  1. Adding Bonus Items or Free items given by Suppliers

    2 ways you can do this:

    Solution 1:

    When adding purchases simply make purchase price 0 for the free items.

    Solution 2:

    Find the average price of the item and use that for unit price.

    for example, if you purchase 10 quantity for a price of $2 each, 10X2 = $20
    and get 2 quantity free, then the average cost of each will become 20/12 = $1.66

  1. You can add some custom fields in add/edit purchase & view purchase.

    To enable custom fields:

    1. Go to settings -> Business settings -> Label for purchase custom fields:
    2. Provide a label for the fields you need, fields will automatically get enabled once the label is added.
    3. Check “Is required” checkbox to make the field as required in add/edit purchase.
    • Status should be Complete for the transaction to complete
    • Once the status is marked completed stock transfer cannot be edited. But can be deleted
    Editing stock transfer
    Stock transfer can be only be edited when the status of the transfer is pending or in transit. After it is completed, the stock transfer cannot be edited. Although you can delete it and create a fresh one if you would like to.

    Video Demo

Sales / Sell

  1. What is a Sales Order?

    Sales Order is a document given by the supplier to the buyer against a Purchase Order by the buyer.

    A sales order contains the buyer invoicing details, delivery details, products, quantities, pricing, tax, discounts, payment terms, payment details, shipping charges if any, and other notes.

    Once the buyer agrees on the sales order, goods are shipped by the supplier.

    Sale order has multiple statuses: Ordered, Partial, Completed

    Enabling Sales Order

    To enable Sales Order, follow the below steps:

    1. Go to Settings -> Business Settings
    2. Sales tab -> Enable Sales Order
    3. Save it.
    Using Sales Order in Mostdesk
    Creating sales order

    After Enabling sales order, inside Sales you’ll find the Sales-Order menu.

    Go to add sales order, fill in all the details and save it.

    Stocks are not deducted for sales orders.

    Once a sales order is created you can print it and send it to the buyer for approval.

    Converting Sales Order to Sales

    On approval of sales orders, you can create sales from the sales order.

    1. Go to Sales -> Add sales, select the business location & Customer.
    2. On Selecting it will populate the list of all sales orders related to the customer on the “Sales Order” dropdown.
    3. Select the Sales Order and it will auto load the products for that order with the product’s price, tax, discounts applied automatically as the sales order.
    4. You can increase or decrease the quantity.
  • Interactions points in Mostdesk Screen.

    Selling Products, Changing Product Price, Tax & Discount, Lot number & Expiry

    Go to – Sell -> Mostdesk

    Selecting Customer:

    By default, there is “Walk-In Customer”. You can search for a customer by name/customer id or phone number or can add new customer by clicking the plus (+) button “Add Customer”.

    Searching & Adding Product:

    Enter Product Name Or scan the barcode to search the product. If multiple products are matched then it displays the dropdown of products, selects the product from it. Or if there is a single product then it directly gets added to cart.

    Changing Product Price, Tax & Discount for a product

    • After the products get added, click on the product name to modify product price, tax & discounts.
      NOTE: Option for different tax in products will be shown only if 
    • Inline tax is enabled. You can enable it from Business Settings -> Tax -> Enable Inline Tax in purchase and sell

    Selecting Lot number for a product

    •  If lot number is enabled then it will show the option to select lot number. (Enabling Lot number)

    Selecting Expiry for a product

    • Expiry Date: If the expiry date is enabled then it will show the option to select lot number.  (Enabling expiry)

    Cancel Sales:

    To cancel the sales click on the cancel button. Cancel invoices are not saved in the system, so no stock will de deducted.

    To finalize the invoice click on Finalize – Add the payment options and save it.

    On save it will display an invoice printing option.

    NOTE: For invoice to print correctly – The Margins options should be set to “Default”.

    List of sales can be viewed from Sell -> List Sales.

    List of drafts can be viewed from Sell -> Drafts.

    Both Sell & Drafts can be edited to make any changes.

    Express Checkout: Express Checkout means the sale will be marked as Paid and the payment method will be cash. No separate payment screen will be displayed. Printing of invoice depends on the business location settings.

    100% Credit Sales
    • To sell on credit to the customer you first need to enable this button by going to Settings -> Business Settings -> POS -> 
    • Then on the POS screen, you will be able to see a button “Credit Sale”, simply click this button to make sales on credit.
    Half Credit & half payment Sales:

    Suppose invoice amount is $1000, customers pays $700 cash and $300 is credit amount on him, then follow these steps:

    1. Click on multiple pay button
    2. Select the payment method and enter the amount paid by the customer. ($700 in our example)
    3. Click finalize payment.
    4. Now, the pending amount is automatically added as credit amount on him (or amount to be taken from the customer)
    Draft & Quotation

    This is useful if you want to create a quotation before sales.

    Marking a sales as Draft or Quotations will not deduct the available stock.

    You can view all Quotations & Drafts from List Quotation or List Draft respectively. Existing draft/Quotation can be edited to make it as final sales.

    Suspended Sales

    Suspend Sales means unfinished sale or hold Sale.
    Suspended sales stock gets deducted from available stock. You can view all suspended sales by clicking on the Yellow Color button present in very top right of screen (above the date).

    Some Use Case of Suspended sales
    1. In a grocery store, if you have suspended button, you can suspend particular customers sales and entertain another customer, when his comeback you can proceed with his sale.
    2. In Restaurant, you can suspend the order of customers if not yet paid, and finish it when they finish eating and paid their order, so you can proceed to final sales. You can put Table 1, Table 2, Table 3… so when they finish it’s easy to identify table 3 going to pay.
    3. In hotel lots of customers check in stay for 2 nights and order some foods and customers say, just charge to room 024. So you can suspend their orders and edit if there is some additional order and suspend again. Until final it when they pay their bills. on Hotel, on Reference Number: Room 009, Room 012
    Card / Multiple Pay / Cash
    • Multiple Pay: Used when the customer wants to pay with different payment methods like some amount by card, some by cash and some other payment methods. This option is also used when the customer doesn’t pay the exact tender amount and you need to calculate the Return Change.
    • Card: Used when the customer wants to pay the complete invoice by card.
    • Cash: Used when customer pay the exact amount of invoice by cash. If the customer pays less or more amount then the invoice amount then use Multiple Pay to get change return.
    Adding payments from Contact

    Go to contact -> Suppliers. Click on actions for the supplier and it will show “Pay Due amount”, click on it and pay the amount. “Pay Due amount” this option is not displayed if there is no payment due.

    Adding/Editing Payment Method or Pay-Via

    Follow Add/Edit Pay-Via / payment method.

    Rounding Mechanism for total Sales amount or total payable

    Rounding helps to round the total payable to nearest currency exchange available.

    To enable rounding go to Settings -> Business Settings -> Sales and choose the Amount rounding method

    Amount rounding method

    1. Round to nearest whole number: It will round the paybale value to nearest whole number. For example 1.49 will be rounded to 1.00, and 1.51will be rounded to 2.00
    2. Round to nearest decimal (multiple of 0.05): It will round the paybale value to nearest decimal number which is multiple of 0.05. For example 1.49 will be rounded to 1.50, 1.51 will be rounded to 1.50,  1.59 will be rounded to 1.60, 1.54 will be rounded to 1.55
      Similary all other round to nearest decimal number works as per the multiplier.
  1. Suppose during POS the total payment amount by a customer is $250, but the customer pays $300 cash.

    In this case, the cashier needs to return $50 cash to the customer.

    So, enter all these details in the system, follow the below steps:

    1. Click on the “Multiple Pay” button. It will open a popup
    2. Enter the paid amount by the customer ($300 here)
    3. On the right side, it will show a “Change Return” Amount. This amount needs to be returned to the customer
    4. Click on finalize button to save the sales.
  1. Featured Products for POS screen

    Adding featured products helps you quickly access some products which are frequently or most commonly sold.

    To add featured products follow these steps:

    1. Go to Settings -> Business Locations.
    2. Add/Edit any business locations
    3. In add/edit screen you can select multiple products that can be featured in pos for this location.


    Select feature products in add/edit business locations

  1. Mostdesk can be used:

    • Exclusively for Services or
    • Exclusively for Product Selling (trading) Or
    • Combination of Services & selling of Products.
    Selling Services

    Services are Intangible products.

    Example: Repairing, Salon & Spa services, Web Development, Accounting, banking, cleaning, consultancy, education, insurance, expertise, medical treatment, transportation and a lot more.

    1. To add service Go to Add New Products.

    2. Add the name of your Service, Like Computer Repair, Accounting, E-Commerce Development, Consulting, Plumber, Saving, Hair Cutting, etc.

    3. While adding service-based products uncheck the Manage Stock? option. When Manage stock is unchecked or disabled the stock for such products is not managed, because such a product doesn’t have a stock count with it.

    4. If you want to add a description for such service like for example in computer repair you want to describe the problem for such service then check the “Enable Product description, IMEI or Serial Number” checkbox.

    Now to create invoice or receipt for such service

    1. Go to Add Sales or POS screen.

    2. Enter the name of the service.

    3. If you have enabled “Enable Product description, IMEI or Serial Number”, then it will show you a popup to add a description. If you haven’t enabled description you can click on the button as shown the image below.

    4. To print the description in the invoice, go to Setting -> Invoice Settings -> Invoice Layout. And click on the layout you’re using. Enable “Show sale description“. And Click on “Update” to update the invoice layout.
    Now it will display the Description you entered on the invoice or receipt.

    🎥 Video demo

    • There are 2 ways of adding sales return

      First way:

      Edit existing invoice for the sales by going to edit the invoice and remove the product or reduce the quantity of the product. And save it. The system will automatically add the returned quantity back to stock. This is a simple & recommended way of doing.

      Second Way:

      Follow the screenshot below:

      Question: Why sell return value not decrease the payment value from the parent invoice?
      • Mostdesk will adjust these values in the Profit & Loss report.
      • Regarding payment, users have to add a transaction for receiving payment from the customer and then paying them back. This way all the transactions are recorded.
    • Enabling Subscriptions:

      To enable subscription, go to Modules -> Check the “Enable Subscriptions” and save it.

      IMPORTANT: For subscription invoice to auto-generate cron job must be set up.

      Using Subscriptions:
      1. Subscriptions can be added from both POS sales or normal Sales screen.
      2. In POS or sales screen to add a subscriptions click on “Subscribe?” Checkbox
      3. On clicking subscribe it shows a popup modal, enter the subscription frequency like every 1 day or every 5 days or every 1 month etc. Also enter the subscription frequency, like if a user wants so subscribe only 5 times the enter 5, for unlimited leave it blank.
      4. All subscriptions appear in Sell -> Subscriptions screen. From here you can also start/stop a subscription.
      5. When a subscription invoice is auto-generated then a notification is sent to admin & sales person.
      • Cash Register gives you an overview of a particular user/cashier session
      • Whenever a cashier opens to POS screen she must Open Cash Register by entering the “Cash In hand”
      • If the cashier has access to more than one location then location also needs to be selected (Added in Mostdesk V 2.19)
      • Every sale made by the cashier will be logged into the Cash Register. In POS screen, You can view the Register details by clicking on “Register details” button present in the top navigation bar. It displays the Cash in hand, and cash details by other payment methods as well. Also, the amount refunded by the cashier.
      • To close a cash register click on Red Color – Close Register Button. On closing Cash register the cashier will have to enter the details of the Total Cash, Total Card Slips, Total cheques and other fields.
      • To view all cash register Go to Reports -> Register Report. Here you view all cash register details.
      • Invoice Layout

        Invoice Layout helps you to create different invoice formats.

        To add a new invoice layout:

        1. Go to Settings->Invoice Settings->Invoice Layout->Add
        2. Give a unique distinguishable Layout name
        3. Add the text to be shown in the top/header of invoice. Generally, it can be your shop name, aligned center with Heading 1 format.
        4. Add other relevant details.
        5. You can show/hide address fields.
        6. You can mark a layout as default. The default layout is used when no layout is found for a location.
        7. Click on Save.

        To use an invoice layout in a location go to” Business Locations -> Edit” and assign the invoice layout.

        Invoice Design:
        • In invoice layout, you will find options for invoice designs.
        • Used for browser-based printing only & NOT print server-based printing.
        • Slim design is used for thermal line printer-based printer.
        Editing invoice layout HTML/CSS/Javascript

        To manually change the code for invoice layout the path is: resources/views/sale_pos/receipts/{design_name}.blade.php
        Where design_name = name of the design you want to change like classic/elegant/detailed/slim etc.

        Tax Summary:

        To see the tax summary in invoice, go to add/edit invoice layout, and enter the “Tax Summary Label” option and it will show the tax summary in invoice.

        Total in words:

        To display total in words in the invoice Enable:

        2. Choose “Word Format”
      • Displaying QR code in Invoice:
        1. Edit an invoice layout
        2. Scroll down to the QR code section at the bottom
        3. Click Show QR Code
        4. Enable all the fields required in QR code, like Business Name, Business Name, Invoice URL, and others
        5. Save the invoice layout. Print an invoice and you’ll see the QR code in the invoice
        6. Show Labels: Enable this option to show the labels(key-value pair) in QR code
        7. ZATCA (Fatoora) QR code: This is mostly required in Saudi Arabia country. Enabling this will generate a QR code in LTV-base64 format.

        Video Demo

      • Gift receipt:

        A gift receipt shows proof of purchase but leaves out the amount spent. To print a gift receipt follow the below steps:

        1. Add a new invoice layout with the name “Gift Receipt”
        2. In invoice layout select the Invoice Design as Slim and Check the Hide all prices checkbox
        3. In Business Settings -> POS, check the Show invoice layout dropdown and save it.
        4. Now in the POS screen whenever you want to issue a gift receipt, simply select the invoice layout as Gift Receipt and print the invoice.
        1. With invoice external URL you can share the invoice to a customer via a link.
        2. With this link, they can see & print the invoice without they having to login into the system.
        3. The link can also be sent in Email & SMS notification. To send url in Email/SMS notification add it in notification template using the url tag.
        1. With invoice external URL you can share the invoice to a customer via a link.
        2. With this link, they can see & print the invoice without they having to login into the system.
        3. The link can also be sent in Email & SMS notification. To send url in Email/SMS notification add it in notification template using the url tag.
Configuring keyboard shortcuts for POS screen

Mostdesk supports keyboard shortcuts, by default we have configured shortcuts for different actions in POS screen.

But you can configure it yourself as per your convenience.

To configure keyboard shortcuts, go to Settings -> System Settings. Here in the POS section, you will find a list of Operations and the shortcuts for them.

You can use the Available Key Names with any combination of letters or number to create shortcuts.

– Make sure the shortcuts do not conflict (is not same) with the shortcut of the browser. Making a shortcut same as the browser will have different effects in different browsers.

Add/Edit Discount:
  • Name: Enter a meaning full name for the discount.
  • Brand: Select the product brand where it will be applied.
  • Category: Select the produc Category where it will be applied.
  • Location: Select the location
  • Priority: Discount with higher priority will have higher weight, however priority will not be considered for exact matches.
    For example: if there are 2 discounts available for the same brand and/or category then the disount with higher priority will be applied.
  • Discount type: Fixed or Percentage
  • Start At: Start date of the discount.
  • End At: Start date of the discount.
  • Apply in selling price groups: If checked then the discount will be applied in the selling price group price. If not then it will not be applied.
  • Apply in customer groups: If checked then the discount will be applied in the customer group price. If not then it will not be applied.
  • Is active: Activate or not.

This feature is available in Mostdesk 2.15 or higher, released on 7th August, 2019

Enabling reward points:
  1. Go to Settings -> Business Settings -> Reward Points Settings.
  2. Click on Enable Reward Point and it will get enabled.
Reward Points Settings:

Reward points settings is divided into 2 parts:

  1. Earning Points Settings
  2. Redeem points settings
Earning Points Settings:
  1. Reward points display name: This is display or label name for reward points. Some people like to keep it as reward points or reward coins etc. Only used for displaying label.
  2. Amount spent for unit point: Meaning how much the customer spent to get one reward points.
    If you set it as 10, then for every $10 spent by customer they will get one reward points.
    If the customer purchases for $1000 then they will get 100 reward points.
  3. Minimum order total to earn a reward: The minimum amount the customer should spend to get reward points.
    If you set it as 100 then the customer will get reward points only if there invoice total is greater or equal to 100. If the invoice total is 99 then they won’t get any reward points.
    You can set it as a minimum of 1.
  4. Maximum points per order: Maximum reward points customer can earn in one invoice. Leave it empty if you don’t want any such restrictions.
Redeem Points Settings:
  1. Redeem amount per unit point: It indicates the redeem amount per point.
    For example: If 1 point is $1 then enter the value as 1. If 2 points are $1 then enter the value as 0.50.
  2. Minimum order total to redeem point: Minimum order total for which customers can redeem points.
  3. Minimum redeem point per order: Minimum redeem points that can be used per invoice. Leave it blank if you don’t need this restriction.
  4. Maximum redeem point per order: Maximum points that can be used in one order. Leave it blank if you don’t need this restriction.
  5. Redeem point expiry period: Expiry period for points earned by customers. You can set it in months or years. Expired points will get deducted from the customer account automatically after this period.
    NOTE: You must set the cron job for expiry feature to work. Cron Job Document

To display customers remaining reward point in invoice you can choose the option in invoice layout to display it.

🎥 Video Demo

Types of service:
  1. Types of service is mostly used in restaurants, it is for example Dine-in, Parcel, Courier, 3rd Party Delivery etc.
  2. Based on type of service you can change the price of the product by linking types of services to selling price group.
  3. You can add packing charges (fixed or percentage)
  4. Also, you can add more information like in custom fields.
Enabling Types of Service

Go to Settings -> Business Settings -> Modules -> Check the “Types of Service”

and save it.

Adding new Types of Service
  1. To add, go to Settings -> Types of service -> Add
  2. Add a name, description
  3. For each location select the Price Group that will be applicable. Select Default Selling price for selling in default price of the product.
  4. Enter packing charge, leave empty if not applicable.
  5. Enable custom field: this will enable some custom fields in type of service in POS screen.
Using Type of Service in POS/sales screen:
  1. On Enabling Types of service in POS screen you will see the option to select Type of service.
  2. Before adding a sales select the type of service and enter the relevant details.
  3. You can show the type of service information in receipt by enabling it from Invoice Layout

To display product unit price in POS product suggestion follow the below steps:

Go to Business Settings > POS > Enable “Show pricing on product suggestion tooltip”

and save it.

Then in POS screen Product suggestion tooltip, it will show the product unit price

What is cash denomination?

Cash denominations are usually different cash tender used in your country.  With this feature, cashiers can easily calculate the total amount they have when closing the register by mentioning the number of different tended they have.

Enabling cash denomination
  1. Go to business settings -> Settings
  2. POS tab
  3. Cash Denomination field, here enter the comma-separated cash denominations you’ll like to have
Using cash denomination

When a cashier closes the cash register it will ask to enter the count of each cash denomination. On entering total amount will be automatically calculated.

This count can be viewed from the Report -> Cash Register report by viewing any register.

Tax Settings

Tax Rates
  1. To add new tax go to Settings -> Tax Rates -> Add
  2. Add a descriptive name (eg: “VAT@5%”) and specify the “Tax Rate%”
Tax Groups
  1. Sometime you will need to apply multiple taxes to an invoice or purchase. So you should create tax groups by combining multiple taxes.
  2. To add a Tax Group – Click on Add Button, Give a meaningful name, select the tax you want to use in this tax group.
  3. The tax rate of tax group will be the sum of tax rates of Sub-taxes added.
  4. If sub-tax is edited the corresponding tax group’s tax rate will also get updated accordingly.
  5. You cannot delete a Tax if it is used in a Tax Group.
Disable Tax
  1. Don’t add Tax Rates in settings
  2. Go to Settings – Business Settings.
    1. Uncheck “Enable inline tax in purchase and sell
    2. Uncheck “Enable Price & Tax info
    3. Select “Default Sale Tax” as None

We see a large number of Indian users preferring Mostdesk, so writing this guide to help them use the application in a better way.

Video Demonstration:

Tax settings:

3 Different taxes in India:

  • CGST (Central Goods & Services Tax)
  • SGST (State Goods & Services Tax )
  • IGST (Integrated Goods & Services Tax)

Go to Settings -> Tax Rate setting.

1. Create a tax with name CGST@10% and Tax Rate %: as 10. (10% is for example only, use the tax rate applicable)

2. Create a tax with name SGST@10% and Tax Rate %: as 10. (10% is for example only, use the tax rate applicable)

3. Create a tax with name IGST@14% and Tax Rate %: as 14. (14% is for example only, use the tax rate applicable)

4. Below Tax rate, it shows “Tax groups ( Combination of multiple taxes )”. Create on Add, enter the tax group name as Intra-State-CGST-SGST and select sub-taxes CGST@10% & SGST@10%.

5. Below Tax rate, it shows “Tax groups ( Combination of multiple taxes )”. Create on Add, enter the tax group name as Inter-State-IGST, and select sub-taxes IGST@14%.

More Details here

With this now when you purchase or sell a product you can select the applicable tax.

Displaying HSN Code for items (For some businesses)

1. HSN code depends on the category of a product.
2. Go to Settings -> Categories, click on “Add”. Add category name and category code. Category code is same as HSN code.
3. To display HSN code in invoice – Go to Settings -> Invoice Settings -> invoice layouts. Add/Edit invoice layout and click on ” Show category code or HSN code”. Save it. Assing that invoice layout to your business. More details here

Setting up invoice format for GST

Check the details guide on invoice format & designs

  1. To display the summary of tax in the invoice – add the label for “Tax Summary Label”
  2. To see inline tax try using the columised tax design or detailed design or Elegant or classic as per your need.

Above is comprehensive documentation as per our knowledge on using Mostdesk for Indian users, do check it out.

Payment Accounts

What is payment accounts in Mostdesk?

Payment accounts are like for example bank account. You can transfer money from one payment account to another, deposit cash in payment account, pay to a supplier, or deposit the amount received from a customer here.

Enabling Payment account
  • Go to Settings ->Business Settings -> Modules
  • Enable payment ‘Account’ option
  • Save it.
  • After saving you will see the “Payment accounts” option will be visible in the left navigation bar.
Payment account type & sub-type
  1. Go to Payment accounts -> List accounts -> Account Types
  2. Account type: to add an account type click on Add button and enter the name of the account type and submit. Keep the Parent account type unselected.
  3. Sub-Account type: To add a sub-account type click on Add button, enter the name of the sub-account type and select the Parent-account-type.
  4. When creating an account you can select the account type as per your need.
Creating Payment accounts
  1. To create a payment account, Go to Payment Accounts -> List Accounts, click on Add button
  2. Fill in all the details like name, account number, Account type, opening balance, Account details & notes.
  3. Account Details: Here you can add any additional account details, like for example UPI ID, SWIFT code, BIN number, etc which vary depending on the accounts.

In Add/Edit business location you can select the default payment account for each payment method.

If the payment account is linked then when adding a payment for sales/purchase/expense, on selecting the payment method the payment account will be automatically selected.


Essentials & HRM Module/Addon

    • Note: This document explains the HRM (Human resource management) feature in Essentials module. For other feature in Essential module refer here.After you have installed & configured Essentials module you will see the HRM menu along with Essentials menu in the left sidebar.

      HRM modules consist of:

      1. Leave types & Leaves.
      2. Attendance
      3. Payroll
      4. Holiday
      5. & related settings
      Leave types
      1. Only admin can manage leave type (add or edit)
      2. Fields:
        1. Leave Type: Enter the name of the type of leave.
        2. Max leave counts: Maximum number of leaves allowed for the leave type.
        3. Leave count interval: This can be “Current month” or “Current financial year” or “None”. It is the interval for the maximum leave counts.

      For example: If employees can take 12 Sick Leave in 1 year then:
      Leave Type = “Sick Leave”
      Max leave counts = 12
      Leave count interval = “Current financial year”

      Leave Management
      1. Add leave: Leave Type(dropdown list), Start Date, End Date, Leave type, Reason (text area)
      2. Default status of a leave added is pending
      3. Admin can change the status: status(pending, canceled, approved) by clicking on the leave status column button.
      4. Inbuilt app Notification will be sent to admin when a new leave is added.
      5. Inbuilt app Notification will be sent to the applied user when the status is changed by the admin.
      6. Only admin can delete a leave.
      7. Reference no. Will be generated automatically for every leave to uniquely identify them. You can change the reference no prefix from HRM -> Settings (Leave Reference No. prefix)
      8. Leave Instructions: You can enter special instructions for users before applying for leaves from the settings “Leave Instructions” field.
      Leaves Summary for a user
      1. For admin: Admin can view leave summary of all other users. On the leaves page filter by an employee name and it will show the summary at the bottom of the page.
      2. For Users: Always visible to a user his/her summary.

      🎥 Video on leaves management

Attendance by admin & other users
  1. Users can add their own attendance, admin can add the attendance of every user.
  2. Attendance fields for admin: Employee, Date, Ip address(auto get the user’s IP address), note, clock_in_time, clock_out_time.
  3. Attendance by non-admin users: Users can add their own attendance by clicking on the “Clock In” button present in the top navigation bar and clock-in adding a note. And click on the “Clock Out” button before leaving the workplace for checkout and adding a clock-out note.
  4. Total work hours will be displayed when the admin selects a particular user and it is always visible to a non-admin user.
  5. If the admin wants to add attendance for users & don’t want the user to add their attendance then it can be disabled by unchecking “Allow users to enter their own attendance”
Getting users location in attendance:

When a user/employee clock’s-in the system can save the user’s location from which he/she has put attendance.

NOTE: For the location to work your website must be HTTPS

  1. Enabling Location:
    1. Go to HRM -> Settings -> Attendance Tab.
    2. Check the “Is Location Required?” checkbox & save it
  2. Check the below screenshot for locations when adding clock-in

How accurate is the location?

Accuracy of Location depends on the API & device(mobile or laptop) used and not on the application.

Mobile: mobile has GPS enabled so the coordinates sent by them is more accurate
Laptop: Most laptops don’t have GPS enabled so the location is based on the IP address, which is not much accurate

Mostdesk comes with 2 map API integration

  1. Free Open street map: It’s completely free and not much accurate. It does not require any additional configuration since it is integrated by default.
  2. Google map: Paid API and is 100% accurate. This needs additional configuration steps for accessing the location.
Biometric Scanner Integration in Attendance:

If a biometric system is used for attendance, then the data from the excel file exported from the biometric system can be fed into the downloaded template file. The complete data can be then imported into the POS system.

Use the import attendance feature to achieve this.

Shift management:

Please watch the below view demonstration for details of attendance & shift management.

Video Demonstration

  1. Only admin can add payroll & other users can view only there own payroll.
  2. Reference no. will be generated for Payroll. You can change the Payroll Reference No. prefix from settings.
Adding Payroll
  1. For adding payroll click on Add button in payroll menu.
  2. Select Employee and the month/year of payroll.
  3. If any existing payroll for the period then it will be shown for editing or new payroll can be added.
  4. Fields:
    1. Total work duration: Duration of work will be auto-calculated based on attendance
    2. Duration Unit: Unit of work like month/hour/week or other.
    3. Amount per unit duration: Price per duration.
    4. Total: Total work duration x Amount per unit duration
    5. Allowances: add as many allowances you have for the employee. Allowances will be added in final payroll.
    6. Deductions: add deductions for the employee. Deductions will be subtracted in final payroll.
  5. Gross amount = Total + Sum of Allowances – Sum of Deductions
  6. Inbuilt app Notification will be sent to the user when payroll is added.

  1. Only admin can add holiday.
  2. Other users can view holidays applicable for there location.

Adding Holidays

Fields: Name, Start Date, End Date, Business Location, Note

Permission & Settings for management for HRM

Approve Leave:

By default only admin can approve leave added by other users. But you can assign the Approve leave permission to any other role & assign it to a user. User having approve leave will be able to approve leaves added by other users.

Allow users to enter their own attendance:

You will find this option in HRM -> Settings -> HRM tab. If enabled other users will be able to enter their own attendance and vice-versa.

Features in Essentials module:
  • ToDo List:
    • Add new to-do items
    • Mark items as completed.
    • Delete items
    • Date-Wise to-do list.
  • Document
    • Easy document storage to the cloud in your server.
    • Share documents with other users or other roles.
    • Download document.
    • Delete documents
  • Memos
    • Written message or short notes.
    • Share with other users or roles.
    • Delete
  • Reminders
    • Add reminder with event name, date, time.
    • One time reminder or Repeated reminder – every day or every week or every month
    • Nice calendar view.
  • Messages
    • Send messages to everyone within your business.
    • Send to a particular location.
    • Permission to allow sending or only view.
  • Knowledge Base
    • Add information about your business, product, and services.
    • Share these details if needed.
  • Settings
    • Separate settings enabled for leave, payroll, attendance, sales target, and essentials.
Installing the Essentials Module

Installing the essentials module to mostdesk is easy as cake. Make sure you meet the below requirements:

  1. Since this is not a standalone application you will need mostdesk (Download from here)
  2. Mostdesk – Advance the latest version installed. For Mostdesk installation step refer to this documentation.

For Essentials module 2.0 or higher follow the instruction given in this link.

For older version follow the steps given below:

  1. Unzip the file downloaded from Inside that, you will find the “Essentials” directory.
  2. Go to Mostdesk installed directory. There you will find a folder named “Modules” (in the same level as app or bootstrap directory).
    If this folder is not present then create the “Modules” folder (Make sure the folder name is exactly “Modules” with “M” in capital case). It should be inside the POS codebase, in the same level as the “public” folder. (NOT inside the public folder)
  3. Upload or Cut-Paste the  “Essentials” directory inside this “Modules” directory.
  4. Open .env file present inside pos folder. Inside that, you will find “ADMINISTRATOR_USERNAMES” configuration. Add the superadmin username in this option.
    Example if “user1” is superadmin then:
     user1 mentioned here is for example only. You have to add an already existing/signed up username here.
    NOTE: If you have already installed SaaS-Superadmin or Mostdesk-to-WooCommerce module then no need to do step 4.
  5. Login with superadmin (username which is added in step 4). After log in, you will able to see the essentials menu present at the bottom of the sidebar. If not present them make sure the above steps are followed properly.
  6. After login, install superadmin by going to the below URL:
    If you pos is installed in then go to
  7. It will process for a few minutes and the installation success message will be displayed.

Great, installation is done now.

We also provide paid installation service, contact support for details about it.

Updating the Essentials Module:

For Essentials module 2.0 or higher follow the instruction given in this link.

For older version follow the steps give below:

  1. Download the new version available from codecanyon.
  2. Extract/Unzip the Zip file.
  3. Inside the “Essentials-(SaaS-compatible)-V” folder you will find a “Essentials” folder.
  4. Open your cPanel or DirectAdmin or FTP (Filezilla) or localhost, and go to the Modules folder.
  5. Delete the existing “Essentials” module from folder your server.
  6. Upload the new downloaded “Woocommerce” module.
  7. Log in with your superadmin or Administrator account in POS.
  8. Run this URL in your browser: or if you’re using a sub-domain:
    It will run for a few minutes and show a success message.
  9. You can view the version number of essentials module in the messages screen.
Sales Target

Sales target is a feature is available in the Essential & HRM module

What is a Sales target?

Sales target helps businesses to give target-based incentives/commissions to their employees or staff.

Using this business can define a different range or slab-based incentives.

For example:

  • For sales from $0 to $1000, the commission percentage is 5%
  • from $1001 to $5000, commission percentage is 7%
  • from $5001 to $10,000, commission percentage is 9%
  • from $10,000 to $10000000, commission percentage is 12%

This helps businesses to boost sales because employees or salespeople work hard to achieve a much higher percentage of commission.

Adding sales target
  1. Go to HRM -> Sales Target, click on ‘set sales target’
  2. In the popup, define the commission slab or target
  3. Here  is a screenshot of the above example:

Calculating & Paying commission to employees

To pay commission to employees for sales targets, you need to process the payroll.

In payroll processing, it will have a separate column for sales target commission. Check the screenshot below:

Calculates sales target on sales amount excluding taxes:

By default sales target will get calculated on amount including tax. To calculate it without tax go to HRM -> Settings -> Sales Target

CRM Module for Mostdesk

    • CRM stands for Customer Relationship management

      1. Followup
        1. Followup with Leads, customers & Supplier
        2. One-time followup
        3. Recurring followups
        4. Followup based on Pending/Partial/Overdue invoices
      2. Leads
        1. Add/Edit/Delete leads
        2. Convert leads to customer
        3. Leads source: Know which source (e.g google/facebook etc) leads are converting to more customers.
        4. Leads life stage: Know the life stage of lead (New/Qualified/Opportunity/ etc)
      3. Campaigns
        1. Email & SMS campaign
      4. Contact Login
        1. Multiple logins for customers & suppliers
        2. Contact can check previous orders, purchases, sales, payment & ledger.
      5. Proposal
        1. Create proposal templates with Subject, Body & attachments
        2. Send proposal to leads
      6. Report
        1. Follow-ups by user
        2. Follow-ups by contacts
        3. Lead to customer conversion
      Installation Steps:

      Follow the steps as given in Module Management installation 

      Update Steps:

      Follow the steps as given in Module Management Updating

What is Stock Adjustment? And how to use it?

    • Stock Adjustment

      Stock Adjustment helps you decrease the goods you hold in stock, you can enter manual stock adjustments. It’s generally used to write-off damaged stock, or to adjust quantities after a stock take.

      To create a stock adjustment

      1. First, go to “Add Stock Adjustment”
      2. Select the Business Location & date
      3. Select Adjustment Type (Normal Or Abnormal). Normal Or Abnormal is generally used to classify adjustment.
        Generally Normal Adjustment meaning: Adjustment for normal reasons like Leakages etc.
        Abnormal meaning: Adjustment for reasons like Fire, Accident etc.
      4. Add the products & quantity you want to decrease the product.
      5. Total amount recovered: Sometimes you can recover some amount from the damaged stocks, like from insurance claims, selling of scraps etc. If there is no amount recovered then you can simply make it 0. The recovered amount is taken into consideration when making a profit & loss report, it is added to the total profit/loss.

      The quantities entered for each product will be deducted from the available quantities.

      You can view the details of stock adjustment in “Stock Adjustment Report”.

      Also, Stock Adjustment is used in Profit & Loss Report (P & L Report). “Total Stock Adjustment” amount is deducted from (P & L Report) and “Total Stock Recovered” amount is added to Profit & Loss Report.


    • Reports help you to get an overview of your entire business.

      To view report click on Reports & Select the report you want to view.

      Some Reports come filter relevant options to help you analyze your business better.

      Purchase & Sale Report

      This report shows the total purchase, Purchase Including tax, Purchases with Dues amount; and Total Sale, Sale Including tax, Sale Due.

      Tax Reports

      Shows the Input & Output Taxes.

      Contacts Report(Customers & Suppliers Reports)

      This report shows the details of Purchase & Sell with all contacts (Suppliers & Customers) and also any Due amount. Positive Due amount indicates payment by contact, negative indicates payments to the contact.

      Stock Report

      The stock report displays the stock details. With this, you can track the remaining stock and total sold quantity sold for all products.

      For variable products – you can click on the Green Plus button before the SKU column to get details stock reports for each product variations.

      Stock value by Purchase & sales price

      In the stock report, you can also get information about the current stock value based on their purchase price & value based on selling price. Check the below screenshot of stock report.


      Trending Products Report
      • This report helps you to determine the demand of the products.
      • You can apply different filters to filter the product.
      • Select a Business Location to view trends for a particular business location.
      • Select Product Category, Sub-Category, Brands, Units, Date Range to filter them.
      • Set “No. of products” to view the top that amount of product. Using this you can view Top 5, Top10 or any number of top products.
      Expense Report

      Expense report helps you to analyze expenses for business locations and also analyze based on expenses categories.

      Register Report

      View details of all registers and filter registers based on User and/or Status (Open or Closed)

      Sales Representative Report
      • View Sales and Expenses details of Sales representative
      • Filter them with User, Business Location, Date Range

Enabling Backups (Backup in Server, AWS S3 & DropBox)

    • By default, backup is not enabled for every user of the POS application. To enable backup follow these steps:

      1. IMPORTANT: For the backup to work ziparchive must be enabled in the server PHP
      2. Log in with superadmin user for which backup is enabled. Now it will show an “Administrator Backup” menu in the left navigation menu. (How to add a superadmin user)
      3. Go to Administrator Backup menu and click on  “Create New Backup“. A backup will be created & stored in your server or store in the configured server.
      4. You can enable Dropbox or other servers as per the instruction below.

      NOTE: For backup to work mysqldump must be enabled in your server.

      Storing Backup in the same server where you have the application hosted can be dangerous, imagine what will happen if the server crashes? the backup will be lost.

      So it is always advisable to store the backup in some external drive. Luckily DropBox & Amazon S3 is supported out-of-box with Mostdesk.

      (Recommended) Enabling Backup to Store in DropBox:
      Using superadmin module:
      1. Go to Superadmin -> Superadmin settings -> Backups
      2. Select Backup Disk: as dropbox
      3. Enter Dropbox Access Token:
      Not using superadmin module:
      1. Open .env file.
      2. Change BACKUP_DISK=”local” to BACKUP_DISK=”dropbox”
      3. Add/Edit another key: DROPBOX_ACCESS_TOKEN=”token_key_here”
      Getting dropbox access token:
      1. Open
      2. Choose an API: Scoped access
      3. Choose the type of access you need: App folder
      4. Name your app: pos_backup
      5. Click “Create App” button
      6. In next screen: Access token expiration as “No Expiration”
      7. Click “Generated access token
      8. Copy the shown access token and use it.
      9. Go to the Permission tab (in dropbox) and select: files.content.write, and Submit
      10. use then generated access token as described above.
      Enabling Backup to Store in AWS S3:
      1. Open .env file.
      2. Add  (or Edit if already present) a key BACKUP_DISK=”s3″
      3. Also, add the below keys:
        1. AWS_KEY=””
        2. AWS_SECRET=””
        3. AWS_REGION=””
        4. AWS_BUCKET=””
      Backup for localhost, windows operating system:

      Follow these steps:

      1. Go to and then download the most recent release of the extension.
      2. Extract php_zip.dll to C:\xampp\php\ext (If you installed XAMPP there) Edit php.ini and add a new line extension=php_zip.dll Restart Apache.
      3. add below code to config/database.php under ‘engine’ => null,

      ‘dump’ => [ ‘dump_binary_path’ => ‘c:/xampp/mysql/bin/’, // give exact path of mysqldump binary ‘use_single_transaction’, ‘timeout’ => 60 * 5, // 5 minute timeout ],

      Problem 1:

      Enable proc_open in your server. Contact your hosting provider to enable it.

      Storage Usage:

      1. For Local server = Storage will be used for the server where POS is installed
      2. For Dropbox = Storage of dropbox will be used

Expense Management

    • Expense Refund:

      To add a refund for an expense, add a new Expense with the “Is Refund” checkbox checked in the add/edit expense. You have to enter the refund amount and the refund payment details.

      The refunded amount will be added to the Net-Profit.

    • Mostdesk allows you to add expenses for an employee. Thie expenses can be Salary, Bonuses, Perks, travel expenditure or anything else.

      – Simply create a category for the expense you’re adding. Adding relevant categories helps you to classify expenses and analyze them.

      – Go to Add Expenses, fill the details, select the relevant category and select the employee name expense for fields.

      – Add the expense.

      – To view details of all expenses for an employee go to “Sales Representative Report” and select the User. It will show the total expenses for the employee. You can also view the list of expenses from there.

      Expense for Contact (Customer or Supplier): To add expense for a customer or supplier select the customer/supplier name from the expense for contact dropdown.


    • Setting Notification SMS

      To Send SMS notifications you need to setup SMS configuration details.

      Go to Settings -> Business Settings -> SMS settings

      from here we can set up SMS for most of the vendors having support for REST API, most of the support it. If not then check with your provider

      Go to the REST API documentation of your vendor. Contact your vendor if you can’t find it.

      Here you’ll find 3 different service type: Nexmo, Twilio, and others.

      Setting up SMS for NEXMO
      1. Create a new account in nexmo.
      2. From your nexmo dashboard, go to account settings, here you’ll find the API key and secret, the From field enter the from the number provided by nexmo. Enter these details in the pos and try sending a test message.
      Setting up SMS for twilio
      1. Go to Twilio & login with your account.
      2. Get the SID, Access token, and From information. On your project Twilio Dashboard, you can find the Account SID and Auth Token
      3. Save it and try sending a message
      Setting up SMS for others

      Let the api structure is

      So the configuration will be as follows

      Send to parameter name: phone
      Message parameter name: text
      Request Method: GET
      Parameter 1 key: user    Parameter 1 value:
      Parameter 2 key: pass    Parameter 2 value:  Parameter 3 key: sender   Parameter 3 value:

      Example Four: Setting up SMS for others

      Let the api structure is

      $api_url = “,98012XXXXX&senderid=XXXXXX&msg=Hello+People%2C+have+a+great+day”;

      So the configuration will be as follows

      Send to parameter name: contacts
      Message parameter name: msg
      Request Method: GET
      Parameter 1 key: username    Parameter 1 value:
      Parameter 2 key: password    Parameter 2 value:
      Parameter 3 key: campaign   Parameter 3 value: XXXXXX
      Parameter 4 key: routeid   Parameter 4 value: XXXXXX
      Parameter 5 key: type   Parameter 5 value: text
      Parameter 6 key: senderid   Parameter 6 value: XXXXXX

      Setting headers:

      If required in your api, you can also set headers

      Header 1 key:  Header 1 value:
      Header 2 key:   Header 2 value:
      Header 3 key:   Header 3 value:

      Setting Notification Email

      Go to Settings -> Business Settings -> Email settings

      Add all the Email SMTP configuration details & it will work.

      Is it possible to send SMS when installing in localhost?

      Yes it is possible to send SMS from localhost with an internet connection

      SMS for Indian customers:

      If you’re from Indian and looking for SMS providers checkout our SMS service, we provide a complete SMS solution. The price is the cheapest and works way too good. Visit this link for more information

    • Setting Email for Forgot Password & Other application-wide emails

      Email functionality is used in some parts of applications like “Forgot Password”, “Offline Payment approval for SaaS module” and others from time-to-time.

      During installation steps, you can set up email setting with all “SMTP” details or if you’re server support php-mail then you can use that too (php-mail is not recommended)

      But if you have not set up it correctly then you can follow the below steps to do it:

      • Open you .env file
      • You will find the below configurations present there
        • MAIL_DRIVER=smtp
      • Fill in the appropriate details, you can get in contact with your hosting provider for any of the values above.
      • For example with Gmail it looks like below:
        • MAIL_DRIVER=smtp

        • Some hosting disable port 587 and due to that email may not work, contact your hosting provider & they will enable it.
      Gmail SMTP:

      If you’re using Gmail or GSuite it might throw some errors, check below for a solution:

      1. If you have 2-factor authentication enabled (almost all have this enabled) then create an app password for pos.
        1. More details here
        2. Create app password from here:
      2. Change port & encryption: Try using port 465 and encryption SSL
    • Enabling auto-sending of SMS & Email to customer on New Sales:
      1. First, setup the Email SMTP and/or SMS details in Business settings.
        1. SMS Documentation
        2. Email SMTP Documentation
      2. Go to Notification Template
      3. Under Customer Notification you will see New Sales notification.
      4. There you will find the option to enable   & 
      5. Now when ever you make a sales a Email or SMS notification will be send to customer.

      Important NOTE:

      1. If there is any error in Email or SMS configration then sales will not get submitted, so test it properly.
      2. Email notification will only get send in case the customer have a valid email present
      3. Similary SMS will only get send if the mobile number is present.
Browser/Desktop notification using the pusher

Browser notification helps the user to get notified of any notification quickly.


Your POS must use https or must have an SSL certificate installed.

Steps to enable it:

Setup pusher: 

    1. Signup for a pusher account here
    2. Login to your pusher account.
    3. Click on “Create new app”
    4. Enter the details:
      Name your app,
      Select a cluster, 
      What’s your front-end tech? will be jQuery
      What’s your back-end tech? will be Laravel.
      Click on “Create my app” and after that, you will find the pusher details as given in the screenshot below\


Setup in Mostdesk:

  1. If you’re using the SaaS-Superadmin module then go to
    Superadmin Settings -> Pusher Settings -> Enter the details:
  2. If not using SaaS-Superadmin, then login to cpanel/directadmin or FileZilla, open the .env file present in the pos code for editing. Then you will find the pusher related configuration. Enter the below configuration:
    PUSHER_APP_ID=<your pusher app id>
    PUSHER_APP_KEY=<your pusher app key>
    PUSHER_APP_SECRET= <your pusher app secret>
    PUSHER_APP_CLUSTER=<your pusher app cluster>Save the file and the notification will work.


    • Settings is overwhelming. There are a lot of options in here. So in Mostdesk we implemented as easy way to search for any option. Follow the screenshot below.
    • Business Settings allows you to set some of the common business-related information.

      Here you can change:

      • Business name
      • Start Date
      • Set Default Profit margin
      • Currency
      • Timezone
      • Logo
      • Financial year: For some countries, the financial year starts from January and for some it stars on April. Here you can set the appropriate option for your country.
      • Tax information
      • Product SKU prefix: Enable this feature to generate a prefix for Product SKU. Once enabled, while adding a new product the SKU field with add this prefix along with the input given or if left empty will autogenerate a value along with this prefix.
      • Default Sales discount
      • Default Sales tax
      • Business Setting > Contact > Default credit limit: The credit limit provided here will be used as default value when creating a customer or supplier
      • Business Setting > Sale > Default Sale Discount: The default discount will be used for all sales in POS & Add sales screen.
      Sales Item Addition Method:
      1. It has 2 options: “Add item in new row” & “Increase item quantity if it already exists”
      2. This option is related to POS & Sales screen when a new product is added.
      3. Add item in new row: It will always add a product in new row
      4. Increase item quantity if it already exists: If the product already exists in the cart it will increase its quantity else it will add it in a new row.
      Amount rounding method:

      The price of the products can be taken as a whole number or as a rounded decimal value by selecting the particular roundoff method. If none is selected the value is taken as a whole number.

      Sales price is minimum selling price:

      If this option is enabled then the product cannot be sold at a price lower than the selling price set for the product.

      It can be sold at a higher price but not at a lower price.

      Enable Sales Order:

      This will enable the sales order feature.

    • With Mostdesk you can configure the format for your invoice number. To configure go to Settings -> Invoice settings
      • Click on Add and select a scheme format. Format can be XXXX or <year>-XXXX
      • You can also provide a custom prefix, invoice start number, number of digits in the invoice number.
      • The preview box will display the preview according to the chosen option.
      • You will need to set a default invoice scheme for a business to use it.
Setting default System Language

By default, system is configured to work in English. But you can change the default language. To change the default language follow the below steps:

  1. Open .env file
  2. You will find a configuration “APP_LOCALE=en” below APP_URL. If you don’t find it then add the configuration  APP_LOCALE=en below APP_URL
  3. Change the value of the above key to your desired language as per the list given below
    ‘en’ => ‘English’,
    ‘es’ => ‘Español – Spanish’,
    ‘sq’ => ‘Shqip – Albanian’,
    ‘hi’ => ‘हिंदी – Hindi’,
    ‘nl’ => ‘Dutch’,
    ‘fr’ => ‘Français – French’,
    ‘de’ => ‘Deutsch – German’,
    ‘ar’ => ‘Arabic – العَرَبِيَّة’Or if you have added a new language then add the language ISO code.
Changing your Language Preference

To change your display language go to “Profile -> My Profile -> Language” 

Select the language you want to use and save it. This will change all texts to your preferred language.

Editing existing translations

Sometimes the translations can be improved to make it better understandable.

  • To edit existing language translations – go to resources/lang/{language_iso_code}/
  • For modules: To Add/Edit transactions go to Modules/{Module_name}/Resources/lang/{language_iso_code}
  • Here you will find files almost grouped based on the pages. Edit the string you want to change and save it.
  • If you make improvements to the language file, please do share it with us. We will update it the codebase so that it is useful to others too. Email:
Translate language for login or register interface

Go to config/app.php and change the value of “locale” to the specified language iso code.

Language ISO code Wiki
Adding new language
  1. Create a new directory for the language inside “/resources/lang/”. Name of directory should follow language_iso_code
  2. Copy the files from /resources/lang/en/ to the directory you created.
  3. Open the individual files, translate and save it.
  4. Go to public/js/lang. Create a new file with name “.js”, copy all content from en.js and add corresponding translations.
  5. Open config/constants.php and add the new language in the “langs” array.
  6. If you add any new languages, please do share the files with us. We will include it in our updates. We will acknowledge you for adding any new language. Email us at: . Thank you in advance.

Mostdesk comes with some commonly used barcode configurations for you our-of-box. If your barcode configuration isn’t covered then you can easily create a new configuration.

You must have all measurement details of the sticker to create a configuration. All dimensions need to be in inches.

Adding Barcode sticker settings
  1. Go to settings -> Barcode Settings -> Add
  2. Enter a descriptive name of the setting. Add some description for your information.
  3. If you’re using a Roll, then check the “Continous feed or rolls” checkbox.
  4. Enter Additional top margin (In Inches), Additional left margin (In Inches), width of the sticker, Height of the sticker, Paper width, Paper height, number of stickers in one row, distance between 2 rows, distance between 2 columns and the total number of stickers per sheet.
  5. Some of this informations are not needed for Continous feed or rolls.

You must test you setting by printing a dummy sticker in Purchase – print label option. If something seems wrong then edit the measurement accordingly.

To modify the labels of custom fields, go to Settings -> Business Settings -> Custom Labels

Here you can give names to all custom fields.


To change Application or Theme color follow the below steps:

  1. Go to Settings -> Business Settings -> System (tab)
  2. Change the Theme Color to your desired color. A total of 11 colors (Light & Dark options) are given

Hardware Support

    • How to add Barcode Scanner

      Adding a barcode scanner is easy & simple.

      • Simply Plug-in the barcode scanner in your computer.
      • If there is some driver provided with the scanner then install it.
      • Point the cursor to any field in POS where you want to insert the barcode and scan the barcode. The scanner will automatically scan and input the barcode value to the input field.
    • Label weighing scale integration

      A Label weighing scale generates a barcode based on the configuration of Prefix, Product SKU length, Quantity integer part length & Quantity fractional part length.

      Enabling & setting it

      To enable weighing scale integration in Moskdesk, do the below settings:

      1. Go to Settings -> Business Settings -> POS -> Check Enable Weighing scale and save it.
      2. Below it provide the setting for the weighing scale.
        1. Prefix
        2. Product SKU length
        3. Quantity integer part length
        4. Quantity fractional part length
          And save it.
      3. Go to the POS screen, click on the weighing scale button present next to the product SKU search field, on clicking, it will open a modal where you can scan/enter the barcode generated by the weighing scale. On Successful match of settings and barcode, the product will be added as per the specified quantity in the barcode.
      4. You can add a shortcut key for weighing scale by going to Settings -> Business Settings -> POS



      Suppose if you give the below values in weighing scale settings

      Prefix: 25
      Product SKU length: 4
      Quantity integer part length: 2
      Quantity fractional part length: 2
      If barcode read from the scale will be:  25 1234  35 50   (without spaces)
      It will read the product with SKU 1234 & add quantity 35.50
      The price will be automatically calculated by multiplying quantity & unit price.

Your cash drawer can be configured to automatically open when you print a receipt for each transaction. Here are the steps you can take to configure your cash drawer.

  1. Plug in the RJ12 connector cable (which looks similar to a phone line) from the cash drawer into your the receipt printer.
  2. Next, go to the Settings menu in Windows 10, select Devices and select Printers & Scanners on the left-hand menu.
  3. Select the printer you’d like to configure, and click on the Manage button.
  4. Next, click on the Printer Properties link and a window will open. From here, select the Device Settings tab.
  5. Under Installable Options, find the Peripheral Unit Type and change it to ‘Cash Drawer’.
  6. Change the Peripheral Unit 1 and Peripheral Unit 2 fields to ‘Document Bottom’ to have the drawer open after the receipt starts printing.
    If you want the cash drawer to trigger before the receipt prints, select ‘Document Top’ in Peripheral Unit 1 and 2
  7. Click OK to save these settings and perform a test sale to see if it’s been configured properly
  8. You can also set a shortcut key on your keyboard to open the cash register.
Point Of sales: Moskdesk barcode printer support

A barcode printer is used to print barcode labels or tags that are used to print labels for physical products or to label retail items or label cartons.

For printing labels, check this article:

Moskdesk support any barcode printer having Direct Thermal print technology

Thermal Printers:

2 types of thermal printers are available in the market:

  1. Thermal Line Printers. (Supported after Moskdesk version > 2.19): Easy to Install & Use.
  2. Thermal ESC/POS printers: Complicate to install & use, also some languages & curriences symbol may not be supported.
Browser-based printing or Thermal Line Printers or Direct Thermal: (Recommended)

Thermal line printers also called as Direct Thermal, are easy to install & use. Also they supports browser based printing. For better result use paper with width 79mm.

To use a thermal line printer follow these steps:

  1. Setup the printer on your computer with the appropriate driver which comes with the printer.
  2. Go to Settings -> Business Locations -> Settings (green color button for each location). Here change the Receipt Printer Type to Browser based printing and save it.
  3. In the invoice layout select the Design as Slim
  4. To disable print dialogue preview, follow the steps mentioned here

You’re now ready to use the printer, no more steps required.

Thermal ESC/POS printers:

Setting an ESC/POS thermal printer involves 3 steps:

  1. Adding a Printer
  2. Configuring business location to use the added printer.
  3. Installation Pos Print server.

Step1: Adding a Printer

  1. Add a new printer from Settings -> Receipt Printer
  2. Select the appropriate Connection Type:
    1. For “Network” provide the IP Address of the printer.
    2. For “Windows” map the printer to a file and provide the path of the file. You can do this by sharing the printer with your localhost.
      The path will be in this format:smb://localhost/my_printer_nameORsmb://computer_name/my_printer_name (where my_printer_name is name of the printer)
    3. For “Linux” your printer device file will be somewhere like /dev/lp
      smb://localhost/my_printer_name OR smb://computer_name/my_printer_name (where my_printer_name is name of the printer)(parallel), /dev/usb/lp1(USB), /dev/ttyUSB smb://localhost/my_printer_name OR smb://computer_name/my_printer_name (where my_printer_name is name of the printer)(USB-Serial), /dev/ttyS smb://localhost/my_printer_name OR smb://computer_name/my_printer_name (where my_printer_name is name of the printer)(serial)
  3. Select the capability profile and add character per line supported in the printer.
  4. Save the Printer configuration.
  5. Check the video below for more details on setting it.
Step2: Configuring Business Location to use printer:
  1. Go to Settings -> Business Settings.
  2. For a particular business location, go to “Settings” in actions column.
  3. Change “Receipt Printer Type” to “Use Configured Receipt Printer
  4. Select the “Receipt Printers” from the list of Receipt Printers
  5. Click on Update.
Step3: Installing POS Print Server

For printing via receipt printer, you will need to install a “pos print server” on your local computer from which Mostdesk is used.

  1. Download the server from this link. by clicking on “Download Repository”
  2. Unzip the zip file.
  3. Rename the unzipped folder to “pos_print_server”.
  4. Move the pos_print_server to document root (which is htdocs in XAMPP).
  5. Open Command Prompt or also called terminal. And go to the “pos_print_server” directory. You can go to this directory using “CD” command in the command prompt.
  6. From the Command Prompt which is now inside pos_print_server directory run the below command:
    php server.php
    After running the command it will start the print server and show a message “Server started…”
  7. Now we are ready to go. Try creating a test sell from the pos screen and it should print in your thermal printer. If you haven’t added a printer then follow the steps mentioned in “Step1: Adding a Printer” and it should work.

Great, now we’re ready to print on a thermal printer.

Give it a test drive.

Video Guide:

Follow the steps as mentioned in this video up to 2.

Use pos_print_server instead of the Github repo mentioned here.

Go to POS screen, add a test invoice and check if it prints. If not please check if the pos receipt server is running or not.

ESC/POS Printers

Many thermal receipt printers support ESC/POS to some degree. This driver has been known to work with:

Bixolon SRP-35
Citizen CBM1
Citizen CT-S31
Daruma DR8
Epson TM-T88II
Epson TM-T88III
Epson TM-T88IV
Epson TM-T88V
Epson TM-T7
Epson TM-T82II
Epson TM-T2
Epson TM-T2
Epson TM-T7
Epson TM-T81
Epson TM-U22
Epson TM-U295 (requires release() to release slip).
Epson TM-U59 and TM-U59
Epson FX-89
Equal (EQ-IT-1) POS-58
Excelvan HOP-E58
Excelvan HOP-E2
Excelvan HOP-E8
Excelvan ZJ-822
Gainscha GP-589
Gainscha GP-U8
Metapace T-1
Metapace T-25
Nexa PX7
Plus III
Orient BTP-R58
Rongta RP326US
Rongta RP58-U
SEYPOS PRP-3 (Also marketed as TYSSO PRP-3
Silicon SP-2
Star TSP1
Star TSP-65
Star TUP-592
Xprinter F-9
XPrinter XP-Q2C
Venus V248T
Zjiang NT-58H
Zjiang ZJ-587
Zjiang ZJ-589T (Marketed as POS 589T)
Zjiang ZJ-589K