Introduction

Gain POS, a web application that makes your sales and stock more manageable and billing process more faster and efficient .

Gain POS is developed with Laravel, Vue.js & MySQL database. It's easy to install.

Installation

Server requirements
  • PHP >= 7.4
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • ZIP PHP Extension
  • BCMath PHP Extension
How to install
  1. Upload the file to your server which you have downloaded from CodeCanyon. Please remember to show hidden files. There are 2 files named .env and .htaccess which are hidden by default. Remember to upload all files.
  2. Create the database and remember these things for future usage.
    • database name
    • username
    • password
  3. Go to URL your_domain/subfolder_name/public/install or your_domain/install. Follow the easy installer procedures step by step and install the application.
  4. To install this application in a sub folder:
    Please go to URL your_domain/subfolder_name/public” and follow the instructions there.
    We recommend to install this in root directory or in a subdomin. If you install it in a subfolder, you have to browse the urls using your_domain/subfolder_name/public”

  5. Setup your environment:
    1. Choose your database connection. Available connections are Mysql, Sql Server, PostgreSql.
    2. Provide your database host. localhost
    3. Type your available port number. 3306
    4. Provide your database name, database username and password.
  6. Provide purchase code
  7. Provide your login credentials

Quick start guide

Please log in to the admin panel. Configure Application settings, Email settings and Payment methods

Go to your Products add your product with category,brand and group.

Go to your Application settings add your cash register.

Go to your Sales page you can sell your product

How to use

Application settings

    Your Application general setting is here.You can modify it as you required.

    1. Please go to "Settings">"Application".

    • You can set your Application name.
    • Application Logo is used in you application. Select image of your logo
    • Rows per table settings is the setting to set to see the amount of record per table.
    • Upload your Background image of the application.
    • Set Date/time format the way you want to see date/time in your application.
    • Currency symbol, Currency position, Decimal separator, Thousand separator, Number of decimal also can be set.
    • Language setting .after change language please click on Clear language cache


Email settings

    Please configure the email setting before using this application. If this setting gets any configuration error, mail might not be sent to the clients.

    At first, go to "Settings">"Email".

    If you want to add your server email for this configuration then select "Send mail" from "Email driver". You can also choose "SMTP", if you want to add other email provider's service.

    You can also check if the setting is working or not by giving a mail address in the "Test mail" while saving the changes.

    Set email sent from name as your choice.

    Set your Email address as email. [N.B: Grant permission to access your email for this application, if needed.(example: For Gmail - Allow less secure apps: 'ON')].

    Select email driver. If smtp:-

      Type email host name.[ example : for gmail, smtp.gmail.com ]

      Type the port number :- [ example : for gmail, port 587 ]

      Type password :- password of that email with is used as the email address.

      Select Encryption type :- Port 465 (SSL required), Port 587 (TLS required).

Email Templates

    1.Email templates title is here.

    2.You can edit template. and you have to use below things in your template

    • {app_name} : Name of Your application
    • {first_name} : Your user first name
    • {last_name} : Your user last name
    • {verification_link}: Verification link which will be include in sending email
    • {reset_password_link}:REset password link.
    • Use this variable as they are.Don not try to change.

Sms settings

    1. Please configure the sms setting before using this application. If this setting gets any configuration error, sms might not be sent to the customers.

    2. At first, go to "Settings">"Sms Settings".

    3. Then fill up require fields.



    4. After choose Nexmo as sms driver then two fields required more.



    5. To get key and secret key you have to create an account in nexmo.com. If you have account already please login.

    6. In getting started tab you will get the key and secret key



    7. Fill up require information and save it.



Sms Template Setting

    1.Sms template title is here.



    2.You can edit template. and you have to use below things in your template

    • {app_name} : Name of Your application
    • {first_name} : Your user first name
    • {last_name} : Your user last name
    • {invoice_id} : Sales invoice id
    • {total} : Total amount of sale



    3.After edit the sms content if you want, you can store default sms content also by click Restore to Default button



    4.Fill up require information and save it



Send Sms Setting

    1. This application have two process for send sms to the customers. Auto sms send after done payment and Manually send sms after done payment by click Send sms button

    2. At first, go to "Settings">"Sales Setting".



    3. If you check yes under Auto sms recived to customer. Then auto sms send after done payment.



    4. But if you check no under Auto sms recived to customer. In this case after done payment you will show a button Send sms



    5. If you want to send sms to the customer then click the button Send sms

Roles

    Roles in an important thing in your application.You may need many role like :- Manager,Assist.Manager,Superviser,Account,etc etc. For that you have to create roles as you equired and gives them permission to access

    1.Application roles is here.

    2.Click Add button for create new roles

    3.Assign roles to user

    4.You can edit and delete roles.

Users settings

    Here is your application User Settings

    1.All user list is here.

    2.You can search data

    3.You can add Invite user by click Add button

    4.Fill up require field and invite

    5.You can eable or disable user

    6.you can change user role click on edit icon

    7.You can remove user form admin.

Taxes settings

    1.All taxes list is here

    2.You can Add,edit and delete taxes click on specific icon

    • Tax name.
    • Tax percentage.
    • Choose your taxes will default or not.



Branches settings

    You may have many branch .All branch setting is here

    1.All branch list is here



    2.By click Add you can create new branch

    3.Choose tax and cash register.



    4.You can edit branch and choose cash register.



Low stock notification settings

    Low stock notification is here

    1. Assign branch manager



    2.Turn on notification



    3.When low stock notification is on the corn job setting will automatically generated.



Cash Registers settings

    1.All cash register is here.



    2.By click add you can create new cash register



    3.You can edit cash register



Payment Types settings

    1.All payment type list is here.



    2.You can add new payment type by click Add button

    3.You can edit payment type



Invoice settings

    1.You can manage invoice settings

    • Prefix and suffix for your invoice
    • Invoice starts number
    • Invoice logo
    • You can choose auto generate receipt option
    • To send invoice to customers email please choose yes of "Auto email receive to customer"



Invoice template settings
  • You can manage invoice template
    1. Click add invoice template modal
    2. Give a title of your invoice
    3. Choose invoice type
    4. And design your invoice with the specific keywords
  • To choose invoice template > Go to cash register setting > open cash register add edit modal > choose sales and receiving invoice template
  • Now you can use your own designed invoice!
Product settings

    1.You can manage product setting

    • Default re-order quantity : Product Re-order quantity



Shortcut settings

    1.Shortcuts perform on Keyboard you will set shortcuts value and it will perform on that key.

    2.All shortcuts will perform on Sales page apart from Load Sales pages

    3.From any page press Load sales page you can go to sales page.

    4.Shortcuts can enable or disable

    5.You can edit shortcuts key

    • Product search : Search product on sales page.
    • Hold card : Hold any card on sales page
    • Pay :Pay in sales page.
    • Add new customer : Add new customer on sales page.
    • Cancel card item : Delete card.
    • Dome payment :Done payment on sales page.
    • Load sales page : Go to sales pages from any page.

    6.Top radio button is for enable/disable Shortcuts system



Sales

    All product will get listed in cart by reading product barcode using barcode reader.

    Simply connect your barcode scanner with your pc. Then keep the cursor in the product search box. The barcode scanning will work.

    You can see all the listed product available in your system.

    You can search any product and customer.



    You can add new customer in your customer list.



    Can remove any product from the cart using delete icon

    Then you can easily modify the quantity, price and discount

    In this section you can find the subtotal.

    There also a section where you can give discount as well.

    You get a total after over all calculation.

    By clicking pay your order will go the payment phase

    You have the option to hold the order



Receives

    1.All product will get listed in cart by reading product barcode using barcode reader.

    2.You can see all the listed product available in your system.

    3.You can search any product and suppliers.



    4.You can add new suppliers



    5.you can delete card from list by click delete icon



    6.You can set discount and edit card item



Product
Product

    1.All product list can check here.

    2.Data can be filter

    3.Click Export for export product



    4.By click on product title you can see product details



    5.Click on action you can delete and edit product



    6.By click edit icon edit require fields and save it



    7.For add product click on Add button.



    8.You can also add new category. To add new category click +(right side of category field)



    9.You can also add new brand. To add new brand click +(right side of brand field)



    10.You can also add new group. To add new group click +(right side of group field)



    11.You can also add new unit. To add new unit click +(right side of unit field)



    12.Fill up require information and save it.



    13.For add variant product click on Add button.

    14.Then for variant product choose product type Variant product

    15.If you need new variants click on Add new variant

    16.Fill product variants Field

    17.Fill up require information and save it.



    18.Click on Import for import products



    19.Download a sample copy

    20.Choose you file and preview it.Then click upload for upload file.



    21.Go to import opening product process same as import product



Categories

    1.All categories list can check out here.

    2.Click Export for export categories



    3.Click Add for add new categories

    4.Fill up require information and save it.



    5.Click on Action you will find edit button

    6.Click Edit icon and edit you category

    7.Delete icon for delete.



Brand

    1.You can see all brand

    2.Click Export for export brand

    3.Click Add for add new brand

    4.Edit brand as category edit

    5.Delete icon for delete.



Group

    1.You can see all group

    2.Click Export for export group

    3.Click Add for add new group

    4.Edit group as category edit

    5.Delete icon for delete.



Variant attributes

    1.You can see all Variant attributes

    2.Click Export for export Variant attributes

    3.Click Add for add new Variant attributes

    4.Edit Variant attributes as category edit

    5.Delete icon for delete.



Units

    1.You can see all units

    2.Click Export for export units

    3.Click Add for add new units

    4.Edit units as category edit

    5.Delete icon for delete.




Report
Sales

    1.You can see all sales.

    2.Data can be filter.

    3.You can search data.

    4.Data can export by click Export button.

    5.You can select Date range for data



    6.By clickable link you can see details



    7.User details



Sales summery

    1.You can see all sales summery

    2.By click export button you can Export data

    3.You can check total and grand total



    4.Data can be filter

    5.You can select Date range for data



Receivings

    1.You can see receivings details.

    2.You can filter data.

    3.By click received by name you can see details.

    4.Data can export by click Export button.

    5.You can check total and grand total.

    6.You can select Date range for data



Receivings summery

    1.You can see receiving summery

    2.You can export data by click Export button.

    3.You can filter data.



    4.You can select Date range for data



Register logs

    1.You can see register logs details

    2.You can filter data.

    3.You can export data by click Export button.

    4.You can select Date range for data



    5.Click on clikable link you see details.



Inventories

    1.You can see inventories details

    2.You can filter data.

    3.You can export data by click Export button.

    4.You can select Date range for data



Payments

    1.You can see payments details

    2.You can filter data.

    3.You can export data by click Export button.

    4.You can select Date range for data

    5.By clikable link you can se details



Payments summery

    1.You can see payments summery

    2.You can filter data.

    3.You can export data by click Export button.

    4.You can select Date range for data



Sales satistics

    1.You can see sales satistics

    2.You can filter data.



Tax

    1.You can see tax details

    2.You can export data by click export button.



Profit/Loss

    1.You can see profit/loss details

    2.You can export data by click export button.

    3.You can filter data

    4.You can select date range for data



Contact
Customer

    In you application all customer list is here you can do this operation here.

    1.You can see customer list data



    2.By click add button you can add new customer.

    3.Fill up require information and click save.New customer will be added



    4.By click import button you can import customer

    5.Download a sample copy and ready you file as sample copy. coulmn name must be same as sample file.



    6.Choose you file .

    7.Click customer preview you can see you uploaded file

    8.Click upload for upload it .



    9.By click Export button you can export data.

    10.By clickable link you can see details.

Group

    In you application group list is here .

    1.You can see groups

    2.By click Export button you can export data.



    3.By click add you can add new group

    4.Fill required information and save it.

    5.You can choose default operation yes/no.



suppliers

    You will found all suppliers list.

    1.You can see supplires

    2.By clikable link you can see details

    3.By click Export button you can export data



    4.By click add you can add new suppliers

    5.Fill required information and save it.



    6.By click import button you can import customer

    7.Download a sample copy and ready you file as sample copy .make sure column name will same.



    8.Choose your file .

    9.Click customer preview you can see you uploaded file

    10.Click upload for upload it .



Dashboard

    Welcome to Dashboard You can see dashboard to check all pos status based on below categories:

    1. Total pos and confirmed pos for next 30 days.

    2. Today's total and pending pos.

    3. POS overview through out the year in the graph.

    4. POS Status in percentage based on confirmed pos and pending pos in the graph.

    5. This months, Last months and Till now total pos.

    6.Todays profit, Last 30days profit and Total profit.



Language

Language Settings
  1. Go to "resources/lang" directory of the project.
  2. Add a new directory named on your new language.
  3. Copy all the files from "resources/lang/english" directory.
  4. Change "resources/lang/your-new-language-name/default.php" file. Just make the changes to the right sided text in your language. Suppose, you are adding a new language "Portuguese" in this app. So add a new directory named "portuguese" in "resources/lang". Copy all files from "resources/lang/english" directory to "resources/lang/portuguese". Then change the "default.php" file in this directory. There can be translations from English (such as, "add"=>"Add"). You should change this to portuguese (such as, "add" => "Adicionar").
Update language
  1. Go to "Settings">"Application Settings".
  2. Select your preferred language from "Language Settings" section. Save the changes.
  3. If you would like to change any language, please copy the text from default.php to custom.php.
  4. Please note, we may replace all other files except the custom.php in future updates.
  5. After changing any text, please remember to clear cache from the Settings>Application settings by loing as admin.

How to use POS in offline

  1. We provide you an additional facility that you can use our app in offline mode for temporary support in sales and receiving.
  2. The scenario is if you goes offline in time of sales or receiving for internet connectivity, you can still continue your sales or receiving.
  3. Remember that you can't go to any other page, you can't change your branch or cash register and you can't hold the sales in time of offline. Even can't refresh the page.
  4. *** Please don't clear your browser history until you go back to online.

How to use Restaurant module

Add Restaurant Branch
  1. To get the features of restaurant module, first you have to add a "Branch" which type should be restaurant from the setting.
Add Tables In Restaurant Branch
  1. Next you have to add tables from table setting. You may have multiple branch which type is "Restaurant". So, you have to add the tables branch wise.
  2. Steps: Go to "Table" tab in setting > Open Add Table modal > Give a name of the table > Choose restaurant branch > Click "Save" to add table.
  3. *** Remember that, to use restaurant module add tables is not mandatory. You can make order both with table and without table in your restaurant branch
Make Order In Restaurant Branch
  1. Choose any of your restaurant branch from sales page
  2. After selecting restaurant branch you will find two types of order type button in cart-
    1. Dine In
    2. Take Away
  3. Dine In : To book an order with table you have to select order type "Dine In" > Then click the "Place Order" button > Select the table which you want to book > Then click "Proceed Order" button. After proceed order your order will be hold with the table and the order can be hold without table too.
    You can book a single table for multiple order.
  4. Take Away : This type of order will be used when table booking is not needed. Such as- Parcel Service, Delivery Services etc. With this type of order you can directly go to payment.
  5. You will find the already placed order from the hold order modal form cart. All the on going order in restaurant with table and without table are listed in hold order list. You can search the order by invoice id or table name. After adding an order from hold order list to cart you can go to payment.
  6. You can print a temporary receipt before done payment from payment modal and also from restaurant table selection modal

How to upgrade

  1. Go to "Settings">"Updates".
  2. You can see the current version of your application as well as the new versions (if any new upgradable version is available).
  3. Just click the new version to upgrade your application.

Development Guide

Environment configuration
  1. Open your project on an editor. Open terminal and run "npm i". Make sure that Nodejs is installed on your PC. If Nodejs is not installed on your PC Click here to download and install Nodejs.
  2. After successfully installed node_modules, To change something in vue component you need to go through the following steps -
    Steps : Go to resource/assets/js/component (You will find all the component here with specific folder) > Change something in vue component > run "npm run watch" command from terminal (You must have Nodejs install first) > Refresh browser to see the change
Add a new page
  1. Go to "resources/views" directory of the project.
  2. Add a new blade file with the following code. Make sure to change "Title of the page" to your page title and change the "component-name" to your component name.(component create process described below) Add New Page
  3. Go to "app/Http/Controllers/API/HomeController.php" and create a function that returns view of the page.
    Like for example:
  4. Go to "routes/web.php" and create a route for your page like that-
  5. Now go to "resource/assets/js/components" directory
  6. Add a new vue file. Like for example- Write your desired HTML code inside the component.
  7. Go to "resource/assets/js/app.js" file and register your vue component Save your changes. Make sure that your component is compiling successfully.
  8. Now hit your route in the browser and see the new page.
Change color & design
  1. For change design you need to install scss compiler.
  2. Run "npm install -g sass" on terminal to install scss compiler. For more documentation please visit sass-lang.com
  3. After successfully install scss, go to your editor > open terminal > run "cd public/scss" > run "scss --watch style.scss:style.css".
  4. To write your own css, go to "public/scss/custom-style.scss" file and write the css you want to change the design.
Thank you for using Gain POS!
For any kind of help or support, feel free to contact by visiting our profile page.