Point of Sale System in PHP MySQL with Source Code

An advanced project based on Point of Sale System (POS) Project which uses PHP Language with MySQL Database. The following PHP project contains all the top and essential features which can be in use by second-year IT students for their college projects. It has a number of features that will allow users to manage inventory. And also executes the payment for goods or services. This web application’s concept is all clear. It’s the same as real-life scenarios and well-implemented on it. To download the free Point of Sale System (POS) Project in PHP MySQL with source code files, please scroll down to the bottom of this post for the Download button.

About Point of Sale System (POS) PHP Project

In particular, this Point of Sale System Project in PHP focuses mainly on managing inventories, tracking sales, and much more. To be more precise, the system helps to keep track of all goods information along with their categories. Also, the system displays all the available sales reports. In addition, the system allows adding up customer records too(codeastro.com). Evidently, this project contains an admin panel with an employee/staff panel. Highlighting the features of this advanced POS system project in PHP, it contains every feature for the management side of things. In an overview of this web application, an employee can log into the system using the credentials provided by the administrator. There’s a limited access level for the employees in this POS System. He/she can manage customers. In terms of sales management, the employee can only add new sales and view the existing records.

There are a few essential feature sections when it comes to the employee panel. Besides, an employee can also update the information of the customers. Next, the employee levels can print out the sales receipt or even export the data in Extensible Markup Language (XML). The employee members can also filter the sales data according to various date ranges. Also, all the user management side of things is to be controlled by the administrator in this POS System project.

Admin Panel

An admin has full control over the system. He/she can manage customers, users, products, and so on. Here, each and every section has its own respective details such as name, images, and other important details. Here, an admin can add customers’ records directly by filling up the required forms. During the customer’s registration, an admin has to provide details such as full name, email, id document number, address, contact, and date of birth. The administrator can also manage employee members for the system(codeastro.com). For adding an employee, the user has to provide a name, username, photo, login details, and select access level. Talking about the admin’s dashboard he/she can view all the overview records such as the total number of products, sales, graphs, and many more.

Product Management

Right before stepping into the management side of products, the administrator should add a number of categories. Each and every category is interconnected with the presence of products. Meaning, a product should have a relation, relate under a category. The user just has to provide the name of the category in order to add it up. Not just that, but the admin can also manage categories in this point-of-sale system project. And speaking of product management, the user has to provide a number of details. An admin has to first select any from the available categories, then he/she should provide other important details(codeastro.com). Such as product code, description/name, total stock, buying price, and a photo attachment. As soon as the administrator provides buying price, the system automatically displays the selling price according to the given profit percentage margin. The profit margin can be set manually both in amount and percentage.

In this product management section, the system also indicates if a product is low on stock. For the indication of stock numbers, the system displays green color when there are plenty of stocks. And uses red color indication whenever the stock quantity is low; less than 10. With it, each and every product will contain its own update date and time. Besides, the administrator can update product details as well as their stock quantities in need. The only thing is that the admin cannot update the category and product code.

Sales Management

Moreover, both administrator and employee members can manage sales in this pos system project. Before anything else, the admin has to go through the above-mentioned features in order to make sales arrangements within the system. This section requires details of both existing customers and products. In order to create a new sale, the user first has to select any from the available customers. Then, on the right-hand side of the screen, all the products are listed with their respective details. Speaking of details, it means total available stock and prices. Adding up sales are pretty easy, it’s just like adding up to the cart and checking out. An admin can simply add products to the list and update their required quantity(codeastro.com). The user then has to provide tax % and the system displays the total payable amount. For checking out, the system has three different payment methods available.

Sales Checkout, Receipts

The user can select any of the available payment methods. It includes cash, credit card, and debit card. Just to make it all clear that there are no such complex transactions using sandbox and everything(codeastro.com). But, just a simple demonstration of how the process can be done in a simpler way. He/she just has to provide the received cash amount in terms of cash payment. Whereas, the user has to provide a transaction code for both debit and credit payment methods. Things are pretty similar to the ones in real-life scenarios. Lastly, the user can view a list of all transactions from the manage sales section. Also, the admin can update the sales records anytime. Additionally, the administrator can export the sales data in XML or download the receipt in PDF format. Each receipt will have its own invoice number, and seller’s name attached to it with other important details.

Sales Report

When it comes to projects such as Point of Sale System (POS), it is a must that it should contain a section that holds all the reports. Speaking of reports, it means the reports of each and every transaction, and records held within the system. And there’s one in this advanced pos system project. The administrator can have a look at various reports under various titles and categories. The reports are generated using various graphical representations like bar graphs and pie charts(codeastro.com). Talking about sales, the system uses graphs to present the sales record from various dates. With it, each point of the graph displays the total sales transactions done within a month. This helps to figure out all the ups and downs of the company in terms of its sales figure. The system also picks and displays all the bestselling products, top sellers as well as customers.

Best Selling Products, Top Sellers, and Customers Report

Talking about bestselling products, it is marked automatically by the system depending upon the total quantity of products being sold. Meaning products that are sold at higher quantities, or sold frequently are listed on top, and so on. And for the best-seller title. In this report section, the system also gathers information on the number of products sold by a seller. By default, the administrator is one and the other sellers depend on the user/employee management(codeastro.com). On their reports, the system shows the total amount of products sold by each seller using a bar graph. Rest, same goes for the selection of top customers. Another thing is that the users can also know the total number of purchases done by a single customer from the customer section. Besides, the system also displays a list of recently added products under the administrator’s dashboard.

To mention one last thing in the products section, there’s no need to upload images for the products. There’s a default product image set for each record in case the user does not upload it. Last but not least, a clean and simple dashboard is presented with various color combinations for a greater user experience while using this Online POS System Project in PHP MySQL. For its UI elements, a free open-source CSS framework; Bootstrap is on board with some Vanilla CSS too. Presenting a new Point of Sale System Project in PHP MySQL which includes an admin panel with an employee panel. That too contains all the essential features to follow up and is a knowledgeable resource for learning purposes.

Available Features:
  • Admin Panel
  • Employee Panel
  • Customers Management
  • Category Management
  • Product Management
  • Manage Sales
  • Create Sales
  • Set Up Profit Margin
  • Set Tax Amount
  • Payment Methods
  • Stock Indications
  • Filter Sales Transactions
  • Export Data in XML
  • Receipt in PDF Format
  • Print Receipts
  • Sales Graph Report
  • Best Selling Products Report
  • Top Seller, Customers Report
  • Total Sales Figure
  • Search Records
  • User Management
Project Name:Point of Sale System (POS) PHP
Technologies Used:PHP
PHP version (Recommended):5.6
Type:Web Application
Point of Sale System PHP Project Overview

Instructions: How to Run?

  • After you finish downloading the project, unzip the project file and head over to your XAMPP directory.
  • There you’ll find a folder named “htdocs”.
  • Inside the “htdocs” folder, paste the project folder (not the .zip one, but the extracted one).
  • Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
  • Then, go to the URL “http://localhost/phpmyadmin“.
  • Create a Database with a name that is provided inside the “01 LOGIN DETAILS & PROJECT INFO.txt”.
  • Click on the “Import” tab and choose the database file (.sql) which is provided under the folder named “DATABASE FILE”.
  • After setting up all these, go to the URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
  • All the login details are provided inside the project folder, check that out and enter them in order to use it.

And there you have it, a full setup of the Online POS System Project in PHP MySQL. For this particular PHP project, PHP Version 5.6 is required because the project might not operate well with the latest PHP version. So, users with the latest PHP version (more than 5.6) might face various problems while operating it. As a result, you’ll need to manage your PHP version (only if you’re using the old version) at the moment. Also, Download the New Point of Sale System (POS) Project in PHP Source Code – codeastro.com. So, this point of sale system PHP project is a fully functional project for all beginners that broads vast knowledge into such PHP web applications. In conclusion, this whole PHP project with free source code is an absolute project and a meaningful way for the users to learn and explore more about it.

Free Download Point of Sale System Project in PHP MySQL with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose


  1. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C………… on line 15


  2. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:………….

  3. good system but can’t login. your id and password , when try to login with your id and password above error msg coming. how to get the login details.

  4. what are the sales men logins and passwords? and how can they be changed? because i just tried to update and create a new sales user

  5. I have been using PHP 5.6 and successfully logged in as an administrator, but after I entered the user management menu, and added a seller and succeeded, but when logging in with the newly created seller account, no menu appears like customers and sales like Jonathan Barbour’s which has a menu. Thank you.

    1. I just downloaded the POS and ran into the same problem.

      When you register a new user, regardless of the hierarchy, when logging in it does not show any menu or work option.

      I still can’t find the file that gives me the definitive solution, however I found a temporary solution.

      Enter the database administrator (phpmyadmin) and check the users table in the posystem database. In the profiles column you will notice that the new records have been written in all lowercase, while the records that are functional start with an uppercase letter.

      If I find a way to fix it for good, I’ll be back to share it.

      Greetings from Mexico.

  6. can’t login. your id and password , when try to login with your id and password above error msg coming.

      1. Sir Apache is Not Running Faceing below Error

        12:23:33 PM [Apache] Error: Apache shutdown unexpectedly.
        12:23:33 PM [Apache] This may be due to a blocked port, missing dependencies,
        12:23:33 PM [Apache] improper privileges, a crash, or a shutdown by another method.
        12:23:33 PM [Apache] Press the Logs button to view error logs and check
        12:23:33 PM [Apache] the Windows Event Viewer for more clues
        12:23:33 PM [Apache] If you need more help, copy and post this
        12:23:33 PM [Apache] entire log window on the forums

  7. Can’t generate the PDF
    Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\…………..
    TCPDF ERROR: Some data has already been output, can’t send PDF file

  8. Dear Sir/Team,

    Subjected to above i tried to host your point of sale system [PHP] Version on hotinger web portal . i dont have much knowledge in PHP and coding’s. request you to suggest how to root configure . my domain is websuv.online
    mysqli data base login will start Ex: u621168700_posci
    user name : **********

    please suggest

    thanking you in anticipation


  9. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:\…………..

  10. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:…………

  11. This is upon printing the receipt.

    Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? in C……….. on line 17778
    TCPDF ERROR: Some data has already been output, can’t send PDF file

  12. Thanks for the project. I got this error while trying to print

    Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? in C:\xampp\htdocs\POS-PHP\extensions\tcpdf\tcpdf.php on line 17779

    Warning: chr() expects parameter 1 to be int, string given in C:\xampp\htdocs\POS-PHP\extensions\tcpdf\include\tcpdf_fonts.php on line 1506
    TCPDF ERROR: Some data has already been output, can’t send PDF file

  13. I can’t log into the system and it says there is an error
    :\xampp\htdocs\POS\models\users.model.php on line 15

    How to fix

  14. Good morning!
    how can I solve this problem?

    Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:\xampp\htdocs\POS-PHP\models\users.model.php…………………….

  15. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:\xampp\htdocs\POS-PHP\models\users.model.php:15 Stack trace: #0 C:\xampp\htdocs\POS-PHP\controllers\users.controller.php(23): UsersModel::MdlShowUsers(‘users’, ‘user’, ‘admin’) #1 C:\xampp\htdocs\POS-PHP\views\modules\login.php(46): ControllerUsers::ctrUserLogin() #2 C:\xampp\htdocs\POS-PHP\views\template.php(171): include(‘C:\\xampp\\htdocs…’) #3 C:\xampp\htdocs\POS-PHP\controllers\template.controller.php(6): include(‘C:\\xampp\\htdocs…’) #4 C:\xampp\htdocs\POS-PHP\index.php(19): ControllerTemplate::ctrTemplate() #5 {main} thrown in C:\xampp\htdocs\POS-PHP\models\users.model.php on line 15 why i am getting this error … Pleasee help me to resolve this asap i have to deliver this project its about my job i will be loosing my job if it dosent work today…

    1. For that, you need to locate the variable or configuration responsible for defining the rate in the code files. Look for where the currency rate is set, and replace it with your desired rate.

  16. Please, I want to change the dollar sign ‘$’ in the ‘ sale -> sales management ‘ table. I did not find the variable. I searched a lot.

  17. Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:\xampp\htdocs\POS-PHP\POS-PHP\models\users.model.php:15 Stack trace: #0 C:\xampp\htdocs\POS-PHP\POS-PHP\controllers\users.controller.php(23):………………….

  18. Warning: include(modules/login.php): failed to open stream: No such file or directory in C:\xampp\htdocs\htdocs\POS-PHP\views\template.php on line 171

    Warning: include(): Failed opening ‘modules/login.php’ for inclusion (include_path=’C:\xampp\htdocs\php\PEAR’) in C:\xampp\htdocs\htdocs\POS-PHP\views\template.php on line 171

Leave a Reply

Your email address will not be published. Required fields are marked *