Restaurant POS System in PHP with Source Code

A fully functional project based on Restaurant POS System Project which uses PHP Language with MySQL Database. The following PHP project contains all the 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 transactions with reports. This web application’s concept is all clear. It’s the same as real-life scenarios and well-implemented on it. To download free Restaurant POS System Project in PHP MySQL with source code files, please scroll down to the bottom of this post for the Download button.

About Restaurant POS System PHP Project

In particular, this Restaurant POS System Project in PHP focuses mainly on managing transaction records within the restaurant. To be more precise, the system helps to keep track of product sales. Also, the system displays all the available food items and sales reports. In addition, the system allows adding up customers too( Evidently, this project contains an admin panel with a customer and staff panel. In an overview of this web application, a customer can simply register into the system and use its features. The customers can view food items, make orders, and payments. Additionally, the customers can view their personal expenses too. In fact, the expenses section gets counted only after successful payment. With it, the system also allows the customers to select payment types; cash or payment. Besides, customers can update their profiles too.

Admin Panel

An administrator has full control over the system. He/she can manage customers, food items, orders, and so on. Here, each and every section has its own respective details such as name, and other important details. Here, an admin can add customer records directly by filling up the required forms. During the customer registration, an admin has to provide details such as name, contact number, and set up login credentials. With it, the administrator can also manage staff members for the system( For adding staff members, the user has to provide names and set up login credentials. Here, each and every staff member will have their own unique staff id. Which is automatically created by the system during the registration process. Still, the user can make changes to them. Talking about the access control of the staff members, he/she cannot perform any create functions. Rest, he/she can manage transactions and more.

Product Management

When it comes to projects such as the Point of Sale system, it is a must that it should contain a section to cover up products. And there is one. For this restaurant point of sale system project, the administrator can manage products easily. Not just with ease, but also it helps to cover up all the important and required information for the system. Which is directly connected to the sales section. In order to add product items, the admin has to provide a number of records. It includes the name of the food with price, description, and image. Here, each and every food item will have their own unique product code( Which is automatically created by the system while inserting a new record. Besides, the administrator can update and delete food items. But in terms of staff members, he/she can only update the records as per their access level.

Place Orders

Moreover, an admin, as well as a staff member, can take food orders ( for the customers. Under the orders section, the system lists out all the available food items with their respective images, name, and prices. In order to place food orders, an admin has to select any of the available food items from the wide range. After selecting and placing food orders, the user has to select the customer’s name from the list and enter the quantity. By proceeding into the next step, the record is set to “not paid” by default. Which can later be updated as paid from the payment section. The main point here is that the system clearly denotes the order’s status if the payment has not been done. In fact, the recent list of orders with their respective status can be seen clearly from the admin and staff’s dashboard.

Payments and Receipts

On one hand, the user can make payments for all the pending orders. The payment section contains the list of orders which can be canceled by the administrator before completing an order’s payment. In order to proceed with payment, the user just has to select the payment method. The payment method consists of cash and PayPal. Each transaction contains a unique payment code which is obviously generated by the system. And also, it can be entered manually by the system user ( The total sales report gets updated only after a successful payment transaction. With this, the administrator can have a clear view of total earnings. After completion of the payment process, the user can now view their receipts too. All the receipts are stored under the receipts section. The receipt contains all their respective order details and code. Besides, the administrator can view total successful orders and payment reports.

Staff Panel

On the other hand, most of the staff’s access throughout the system has already been explained earlier. Unlike customers, the staff members cannot register themselves from the system. An administrator can only add new staff members and manage their login credentials. Just like the administrator’s dashboard, the staff’s dashboard also contains all the same record overview information. The differences are only with the access level or let’s say control over the records. The administrator can take and make changes throughout every record, whereas the staff members can only view, update, and take orders. Not just it, the staff members are also responsible for the payment transactions and customer management. In short, the staff members kind of work as a cashier or something like that to be fair enough. Besides, the staff members can ( also print out receipts for each order and view their reports.

In addition to it, the customers can also view their recent orders and recent payments from the customer’s dashboard. Last but not least, a clean and simple dashboard is presented with various color combinations for a greater user experience while using this Online Restaurant 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 Restaurant Point of Sale System Project in PHP MySQL which includes an admin panel with a customer and staff panel. That too contains all the essential features to follow up and is a knowledgeable resource for learning purposes.

Available Features:
  • Admin Panel
  • Staff Panel
  • Customer Panel
  • Customer Management
  • Staff Management
  • Product Management
  • Place Food Orders
  • Cancel Orders
  • Payments
  • Print Receipts
  • Order and Payment Reports
  • View Total Sales
  • Update Profile
  • Check Recent Payments – Customer
  • Make Orders – Customer
  • View Total Expenses – Customer
Project Name:Restaurant Point of Sale System
Language/s Used:PHP
PHP version (Recommended):7.4
Type:Web Application
Developer:Martin Mbithi Nzilani
Restaurant POS 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 naming “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 Restaurant POS System Project in PHP MySQL. For this particular PHP project, PHP Version 7.4 is required because the project might not operate with the oldest PHP version. So, users with the oldest PHP version (older than 7.4) 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 Free Restaurant POS System Project in PHP Source Code – So, this restaurant 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 Restaurant POS System Project in PHP MySQL with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose


  1. Its good project sir, but there is an error called A non-numeric value encountered on line 73 while I click payments in cashier\payments.php
    Please help

    1. These types of errors are basically triggered due to variations in PHP versions. We tested this project using PHP 7.4, and there’s no such error as you can see in the demo video! Can we know your PHP version?

  2. I saw something on this project I already used php 7.4.3 but till it can show an error called a non-numeric value encountered on line…. and also while am going to print receipt it can simply set the total price out of involving Tax sir??

  3. Hello, It seems that the admin password is unable to be changed could I be told why this is the case and how to solve this issue

  4. Hi admin!
    I want to change POS product currency. what should i do?
    There will be an option for customizing the currency at admin side.
    Thank you!

  5. Hello, It seems that the admin password is unable to be changed could I be told why this is the case and how to solve this issue?

  6. hello sir, I would love to have a comment here and I face some problems with regards to `place order`, when I place some order and submit it, it should be automatically place on payment page, right? but it doesn’t show any data there, I tried to check the codes and the database also, but I dont know how I fix this error coz It doesn’t show any error nor I dont know how I can debug this hehe

  7. Hello Admin? Totally it’s awesome project but I saw something fault on this project the first one is the Admin password is not changeable but i need to change the password? The second the Admin can’t delete the available product but he can update it. So, please sir i need immediate your response and answer please?

      1. Changing the admin passwords manually from the db mean is not clear for me sir. Please sir help me how can I change the password?

  8. Changing the admin passwords manually from the db mean is not clear for me sir. Please sir help me how can I change the password?

  9. Hello Admin, the password doesn’t change even when you replace from the db.
    Can you help with this?

      1. which encryption you used in your password, even when i tried to change from database it didnt logged in ?

  10. Hello, I used the given account which is saved in the admin table to login as an admin, but there is a message saying “Incorrect Authentication Credentials. I have also tried to insert another account but still didn’t work.

    1. It looks like you’ve entered the admin credentials into wrong place. You might have entered the admin login credentials under customer login panel.

  11. hi bro i want publish this project and i changed db user , db name , db pass in in all section / admin , CASHIER , customer when i published this project when i want logined in all section / admin , CASHIER , customer icant go to index php but ican create account

  12. Hello, when I try to login it shows this error
    Fatal error: Uncaught Error: Non-static method Connection::connect() cannot be called statically in C:………….

    please tel how to fix it, thanks…

  13. Sir im getting this error ..
    Is there any way to fix it..

    Warning: mysqli::__construct(): (HY000/1049): Unknown database ‘rposystem’ in C:…………………..

    Fatal error: Uncaught Error: mysqli object is already closed in…….

  14. Uncaught mysqli_sql_exception: Unknown database ‘rposystem’ in C:…………….

    Getting this error while running the first page as soon as i click to the any of the three login i get this error can you tell me why am i getting it

  15. The admin password is unchangeable. I’ve tried encrypting it but still, nothing is happening. You have used hashing method but nothing is working.

Leave a Reply

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