# Guide
POS-SaaS is a powerful cloud-based Point of Sale and Inventory Management solution built with Laravel. It streamlines business operations by providing seamless order management, real-time inventory tracking, and insightful sales analytics all in one platform. Whether you're running a small store or a large business, POS-SaaS helps you manage stock, track sales, and optimize your operations effortlessly.
# Technologies Used
This system uses multiple technologies to give the best possible experience.
- PHP 8.1+
- Laravel Framework 10.x
- MySQL 5.7+
- Bootstrap
- ReactJs 17.x
# Installation Guide
We tried our best to make the installation of the system as easy as possible. System Requirements It is assumed that you have primary knowledge Laravel installation knowledge since this application is built on Laravel.
# System Requirement
It is assumed that you have primary knowledge Laravel and JS application installation knowledge since this application is built on Laravel with JS.
You can read about laravel Requirements here (opens new window)
You need update below variables in php.ini file if you want to send bigger files (Optional).
upload_max_filesize = 50M
max_file_uploads = 50
post_max_size = 100M
# Setup POS SaaS System
If you have purchased the POS SaaS system then you will be able to find the zip named
dist.zip.
If you want to setup POS SaaS into your local environment then you can take
help
from here.
Now if you want to setup POS SaaS on your server then you can directly copy the dist.zip folder to your web root directory on server and the following steps:
# 1. Copy files to web server
Upload dist.zip to your web server's root (public_html) and extract it there. If you are installing it on subdomain then do extract it in your subdomain's root folder.
# 2. Setup Default DB
- Open PHPMyAdmin on your server and do a login.
- Click on the Databases tab.
- Create a new database and specify a Database name of your choice and Click Create button.
- Now on the left, select the database (pos_saas) OR the one that you have created.
- Click Import in the top menu
- Under Import, choose the default sql file from dist/database/pos_saas.sql and click button Go.
# 3. Setup environment .env file
- Open .env file from your server's root folder.

- Update your .env file
You need to change the following information into your environment (.env) file.
Make sure your app name wrapped between Quotes ("APP NAME").
- APP_NAME="My App Name"
- APP_URL="https://domain.com"
- DB_HOST="DB Host"
- DB_PORT="3306" // as per your DB
- DB_DATABASE="your db name"
- DB_USERNAME="your db username"
- DB_PASSWORD="your db user's password"
You will also need to set up mail configuration and update the following variables. You can use the below video for the reference on how to setup email configuration for cPanel servers.
- MAIL_DRIVER=smtp
- MAIL_HOST="email host"
- MAIL_PORT="587 or 465"
- MAIL_USERNAME="mail username"
- MAIL_PASSWORD="mail password"
- MAIL_ENCRYPTION="ssl or tls"
- MAIL_FROM_ADDRESS="user's email address"
- MAIL_FROM_NAME="Your App Name"
If you want to store your files to direct your s3 bucket then you have to use
following
.env variables.
You need to change FILESYSTEM_DRIVER and MEDIA_DISK value to
s3 when you are using AWS file storage.
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- AWS_DEFAULT_REGION=us-east-1
- AWS_BUCKET=
- AWS_ENDPOINT=
- AWS_URL=
Or you can use your choice of storage driver to store your media assets if you want. All of your attachments will be placed into that.
Set Stripe configuration in Settings, you can set it from the super admin settings. Here are some links by using it you will get an idea about how to generate stripe API keys.
- You can find steps here 1 (opens new window) or here 2 (opens new window) to Stripe configuration.
Set PayPal configuration in Settings, you can set it form the super admin settings. Here are some links by using it you will get an idea about how to generate PayPal API keys.
- You can find steps here 1 (opens new window) or here 2 to PayPal configuration.
Set Razorpay configuration in Settings: You can configure it from the super admin settings. Here are some useful links to help you generate Razorpay API keys.
- You can find steps here 1 (opens new window) or here 2 to Razorpay configuration.
# 4. Super Admin login
You can log in as super admin/user using below credentials.
YOUR_APP_URL/login
Super Admin email: superadmin@infy-pos.com
Super Admin password: 123456
User email: admin@infy-pos.com
User password: 123456
And you are ready to go.
# Setup POS SaaS into Local Environment
You can setup POS SaaS into your local by using both zip files, but we recommend to use dist file so you have to perform minimal steps.
Here are some steps to setup POS SaaS into your local environment :
# 1. Install xampp/wamp (if you don't have it).
# 2. Create folder
POS SaaS
- if you are using wamp then create pos-saas folder under you_path_to_wamp/www/
- if you are using xamp then create pos-saas folder under you_path_to_xamp/htdocs/
# 3. Unzip dist zip to pos-saas folder
# 4. Point the domain to the uploaded folder
You need to create virtual host first to setup pos-saas. You can find steps here to create virtual host.
- You can find steps
here (opens new window)
to create virtual host on
XAMPP. - You can find steps
here (opens new window)
to create virtual host on
WAMP.
Point your domain or subdomain to the pos-saas folder.
Please note that, POS SaaS must be installed on a primary domain or subdomain. Installing on a sub-folder will not work, for example:
example.com/pos-saas (Invalid)
localhost/pos-saas (Invalid) (if you are putting it in sub folder or root website)
example.com (Valid)
local.pos-saas.com (Valid)
pos-saas.test (Valid)
Open the link to the domain in the browser (Example: https://local.pos-saas.com).
# Key Features and Concepts
Here are some Key Features and Concepts that POS SaaS provides.
#Dual Panel System
Offers an intuitive Super Admin Panel and Admin Panel for streamlined management and user interaction.
# Super Admin Panel
# Dashboard
The Dashboard provides a comprehensive and real-time overview of key metrics, giving you full control over your POS SaaS platform. With intuitive insights at your fingertips, you can easily track and manage your business performance. Key features include:
- Total Active Users: Monitor the total number of registered users and those currently active on the platform.
- Total Subscriptions: Monitor the number of users who have paid subscriptions.
- Total Earning: Track the total revenue generated from active subscriptions, providing you with real-time financial insights.
- Subscriptions Chart: Visualize the revenue generated from subscription plan purchases, and analyze trends over specific time periods to help guide your growth strategies.
With these powerful features, the POS SaaS Dashboard ensures that you stay on top of your platform’s performance, helping you make informed decisions to drive business success
#Users
The Super Admin can manage the user module, providing full control over user accounts. The Super Admin has the ability to create new users, edit existing details, and delete users when necessary. Additionally, the Super Admin can toggle user statuses between active and inactive, ensuring efficient management and security of platform access.
#Plan
Super Admin can create and manage subscription plans tailored to admin needs. Each plan is customizable with name, frequency, trial days, features, currency, and price. Based on selected features, corresponding modules are shown in the admin panel. Plans can be updated, deleted, activated, or set as default, ensuring flexible management.
#Cash Payment
This section lists all admin subscription requests for cash payments. The Super Admin can approve, or reject requests, ensuring proper handling of manual transactions.
#Subscriptions
This section provides an overview of all user subscriptions. Super admin can view details of each user's subscribed plan.
#Transactions
This section provides a comprehensive history of all payment transactions made through Stripe, PayPal, and Razorpay. Admins can view details of each transaction, including whether the payment was successful or failed, allowing for efficient financial tracking and management.
#Currencies
The Currencies section offers a comprehensive overview of the different currencies available on the platform. Super admin can manage these currencies by adding new options, updating existing ones, or deleting those no longer needed. This flexibility ensures that users have a variety of currency choices for their transactions.
#Languages
In this module, the Super Admin has full control over language management. The Super Admin can add new languages, delete existing ones, or update current language settings. Additionally, the module allows the Super Admin to manage translations for the product, ensuring a seamless multilingual experience for users.
#Settings
#Basic Settings
This section allows the super admin to customize key settings, including the application name, footer content, logo, favicon, and other essential features, ensuring the platform aligns with the brand’s identity.
#Payment Settings
Super Admin can manage payment settings, configuring options for Razorpay, PayPal, Stripe, and manual payment methods. This section allows for comprehensive setup and customization to meet user needs and facilitate smooth financial transactions.
# Admin Panel
# Dashboard
The Admin Dashboard offers a comprehensive overview of key business metrics, including:
- Sales
- Purchases
- Sales Returns
- Purchase Returns
- Today's Total Sales and Payments
- Expenses
It also includes powerful visual tools, such as a bar chart for tracking weekly sales and purchases, a pie chart highlighting the top-selling products of the year, and another chart showcasing the top 5 customers of the month.
Additionally, the dashboard provides a table for the top-selling products of the month, a recent sales list, and stock alerts for low inventory items. Together, these features deliver a real-time, streamlined snapshot, enabling you to manage and optimize your business operations with ease and efficiency.
#POS Screen
We’ve designed an attractive and user-friendly POS screen to simplify your sales process. It displays a comprehensive list of available products, which can be filtered by category and brand. The screen also shows available quantities, serving as a reminder to restock when needed.
The POS system supports Barcode Scanning, allowing you to scan product codes for automatic addition to the order. You can enter an opening balance at the start of the day, and the system will generate a detailed report for the day, covering sales, refunds, and payments made through methods like cheque, cash, or bank transfer.
Additionally, you can hold items during a sale and easily access them later to complete the transaction, offering flexibility and convenience.
#Products
The Products module offers efficient inventory management with the following features:
- View and Filter Products: Easily view all products and filter by brand, category, or unit. Export to Excel or import via CSV.
- Product Management: Create, edit, view, and delete products as needed.
- Product Variations: Add variations (e.g., S, M, L, XL) with automatic barcode generation for each.
- Image Upload and Stock Management: Upload multiple images and add stock during product creation
These features help streamline and organize your product inventory.
#Product Categories
The Product Categories module enables you to easily create and manage product categories. These categories play a key role during product creation and serve as filters to quickly organize and search for products. Additionally, the module displays the product count within each category, helping you stay on top of your inventory and manage it more effectively.
#Variations
The Variations module allows you to create and manage product variations, such as size or color, to better organize your inventory. You can add multiple variations to a single product, making it easier to track and manage different versions of the same product. This feature enhances inventory management by streamlining the process of handling products with various attributes.
#Brands
The Brands module enables you to create and manage brands, which can be utilized during product creation and for easy product filtering. It also displays the product count under each brand, allowing you to efficiently organize and manage your inventory by brand.
#Units
The Units module allows you to create, update, and delete units based on base units like KG or Meter. These units are used during product creation to define sales and purchase quantities. You can specify the unit name, short name, and select the appropriate base unit. Additionally, units can be filtered by base unit, making it easier to manage and organize your inventory efficiently.
#Base Units
The Base Units module allows you to create, update, and delete base units like KG, Meter, and more. These base units are essential during product creation for defining the measurement units, ensuring consistency and accuracy in inventory management.
#Print Barcode
This module allows users to print barcodes for selected products and warehouses. You can print barcodes for multiple products at once and choose from different page sizes. Additionally, it offers customization options, enabling you to control the display of the company name, product price, and product name on the barcodes. This flexibility ensures that your barcode labels are tailored to meet your specific requirements.
#Adjustments
This module allows you to view all stock adjustments, including details, and gives you the ability to create, update or delete them. You can adjust product stocks by adding or subtracting quantities across different warehouses, ensuring accurate inventory management.
#Quotations
This module allows you to create and send quotations to customers. You can easily download the quotation as a PDF and convert it into a sales order with a single click, streamlining the process from quote to sale.
#Purchases
The Purchases feature allows you to increase the available stock quantity in your warehouse. For example, if Warehouse A has 5 units of a product and you want to add 50 more, this functionality enables you to do so. Simply select the same warehouse and product, specify the quantity you wish to add, and click save. The stock quantity will then be updated accordingly, reflecting the new total.
#Purchases Returns
In certain cases, you may need to return purchased products. This option allows you to track purchase returns accurately. The data from these returns is then used to generate detailed reports and display relevant information on the dashboard, providing you with a clear overview of your returns and inventory status.
#Sales
In this section, you can view all sales, access detailed information, and create, update, or delete them as needed. You can also manage payments for unpaid or partially paid sales and view payment history. Additionally, the option to download a PDF of each sale is available for convenient record-keeping and reference.
#Sales Returns
Similar to purchase returns, when a sale is returned, it will impact the available quantities. The returned product quantities will be added back to the available stock, ensuring accurate inventory levels.
#Transfers
In this section, you can view all transfer records, access detailed information, and create, update or delete them as needed. This feature allows you to transfer products between warehouses, helping you manage stock across multiple locations efficiently.
#Expenses
This menu is essential for tracking your company's expenses. The data entered can later be used to generate detailed reports. To create a new expense, simply add the expense title, select the warehouse, choose the expense category, and specify the expense date. This feature helps you maintain accurate financial records for better decision-making and reporting.
#Expense categories
Expense categories are used when creating new expenses, allowing you to organize and classify them effectively. From this section, you can easily create or update expense categories to ensure accurate and streamlined expense tracking.
#Peoples
This section allows the admin to manage different types of users and roles within the system.
- Suppliers: Manage your suppliers by creating new ones, updating existing suppliers, or deleting them. You can select a supplier when purchasing products from them, ensuring efficient supplier management.
- Customers: Manage customer information by adding new customers, updating existing ones, or deleting them. Customers are used in the POS screen, allowing you to assign purchases to specific customers.
- Users: Admins can create users with specific roles and permissions. You can add new users, update existing ones, or delete users. Each user can only access the modules and features they have been granted permission to, ensuring secure system access.
This structure helps in efficiently managing your suppliers, customers, and internal users, ensuring smooth operation and security across the system.
#Roles & Permissions
Creating roles and assigning permissions helps manage user access effectively. Define roles like Admin, Editor, or Viewer, and assign relevant permissions (e.g., read, write, delete). For complex needs.
#Warehouses
You can manage warehouses through this menu, allowing you to create, delete, or update existing warehouses. When purchasing a product, select the warehouse from which it will be sourced. Warehouses are also integrated into the POS screen, where you can select a specific warehouse and view the available products in it.
#Reports
Based on the stored data, we generate various reports to help you track the current state of your POS. The available reports are:
- Warehouse Reports
- Sales Reports
- Stock Reports
- Purchase Reports
- Sales & Purchases Returns Reports
- Top Selling Products Reports
- Product Quantity Alerts Reports
- Suppliers Reports
- Profit and Loss Reports
- Best Customer Reports
- Customer Reports
- Register Report
You can filter these reports by date and other options, and easily download them as Excel sheets for further analysis.
#Templates
In the templates section, you’ll find both Email and SMS templates. You can easily edit these templates and choose to enable or disable them. When enabled, the system will automatically send the corresponding Email or SMS.
#Settings
The Settings module allows you to manage all essential configurations of your application to ensure it aligns with your brand's identity and operational needs.
- System Settings: Here, you can configure key settings like currency, company name, default customer, default warehouse, date format, address, state, city, and the display of the app name in the sidebar. You can also update your logo and favicon to reflect your branding.
- Prefixes: This section allows you to manage and customize prefixes for various documents, such as invoices and receipts. You can easily update prefixes as needed.
- Receipt Settings: Customize your receipt templates by managing what information appears, including notes, phone numbers, customer details, address, email, taxes, discounts, shipping, barcode, and product codes. You can also control the display of the company logo on payment slips.