Web Development


Create POS System - Inventory & sales with PHP 7 & adminLTE

Learn how to create a POS system with inventory management and billing using PHP 7 and AdminLTE

4.10 (211 reviews)



25 hours


Mar 2020

Last Update
Regular Price

What you will learn

You will learn to create a designed web application using PHP 7 programming language with AdminLTE template.

You will learn to create several resources that allow to offer useful characteristics for any company that wants to create a point of sale.

You will learn how to create inventory manager, sales management with different payment methods, invoice printing, sales reports, best customers report, sellers and products.

You will learn to combine multiple tools and plugins with adminLTE template like: graphs, tables and statistics working with object oriented programming and Model-view-controller pattern.


Would you like to learn how to create a POS System and sell it to companies that wants to manage their inventory and billing?

In this course you will learn how to create a POS(Point of Sale) system from scratch using the programming language PHP in its version 7, combining several resources that will allow you to offer useful characteristics for any company that needs to open a store or manage their sales and stock.
This is a practical course where I will lead you step by step in the learning process of creating complex systems with PHP under the Model-View-Controller(MVC) pattern, when you finish it, you could sell it to your clients or it could be used as a basis to develop other complex system.

System’s characteristics: 

  • Inventory management

  • Sales management with different payment methods

  • Invoice PDF printing

  • Sales report in Excel

  • Best customers report

  • Best-selling products report

  • Best seller report

  • Stock product control

  • Daily report

  • Monthly report

  • Date range report

  • Adapted to all devices (Responsive design)

Libraries you will learn how to use:

  • AdminLTE template: Great open source template for responsive software creation.

  • jQuery DataTable: Used for dynamic tables creation.

  • MorrisJS: Used for dynamic graphics and statistics.

  • ChartJS:Used for  dynamic graphics and charts.

  • Date Range Picker: Used for selecting date ranges.

  • Input Mask: Helps the user with the input by ensuring a predefined format

  • TCPDF: PHP extension for PDF format printing.

And more: jQuery Number, iCheck, SweetAlert2, Fast Click, Ionicons, among others.



The course is divided in several sections. In the first section we will talk about the tools we are going to use for creating the POS system.

And the following sections we will build, step by step from scratch, every single module that will be part of our POS system from HTML, CSS stylesheet, Javascript interaction and jQuery, along other plugins and server-side connection using PHP in its version 7 under the Model-View-Controller(MVC) pattern with Object-Oriented Programming (OOP) using MySQL databases.



It is up to you. I guess that you would take less than three weeks to complete it, but it depends on your availability and workflow.



Download the material where you can find the resources for the first lesson in each section.

You should have a basic knowledge on HTML5 and CSS3, course I offer for free on UDEMY: “HTML5 and CSS3 from scratch”. It is not mandatory but it would be good for you to know for this project a little bit of programming logic, PHP, Javascript, jQuery and Bootstrap grid and classes system.


Create POS System - Inventory & sales with PHP 7 & adminLTE
Create POS System - Inventory & sales with PHP 7 & adminLTE
Create POS System - Inventory & sales with PHP 7 & adminLTE
Create POS System - Inventory & sales with PHP 7 & adminLTE




Local Server

Code editor

Sublime text 3 personalized settings

AdminLTE template

Plugins and extensions

Source code and questions

AdminLTE and Model-View-Controller

Adapting adminLTE to MVC pattern

Adding modules to the POS system - part 1

Adding modules to the POS system - part 2

Adding modules to the POS system - part 3

Creating views, controllers and models

404 page

Login page

Start session - part 1

Start session - part 2

Log Out

How much do we know about the Model-View-Controller pattern

User Module

Building User module - Part 1

Building User module - Part 2

Datatable Plugin

Adding users

Uploading user image - Part 1

Uploading user image - Part 2

Encrypting password

Session variables

Selecting users

Editing users - Part 1

Lecture 28: Editing users - Part 2

Updating user photo

Activating or deactivating users

Last login

Avoiding repeated usernames

Deleting users

Internet Explorer debugging

Solution for click's action on hidden buttons

Categories Module

Building categories module

Adding categories

Selecting categories

Edit categories

Deleting categories

Products Module

Building products module

iCheck Plugin

Selecting products

Dynamic Datatable plugin - Part 1

Dynamic Datatable plugin - Part 2

Dynamic Datatable plugin - Part 3

Adding products - Part 1

Adding products - Part 2

Allowing decimal prices

Uploading product picture

Editing products - Part 1

Editing products - Part 2

Deleting products

Clients Module

Building clients module

Adding clients

Selecting clients

Editing clients

Deleting clients

Sales Module

Building sales module - Part 1

Building sales module - Part 2

Adding sales - Part 1

Adding sales - Part 2

Adding sales - Part 3

Adjustments to adding a sale

Adding products from devices

Adjusting adding products from devices

Modifying products quantity

Calculating prices of added products

Adjusting to modifying products quantity

Adding Taxes

jQuery Number Plugin

Adding payment method

Grouping products in Json data

Organizing input data to save the sale

Updating products and clients table when saving a sale

Select sales

Editing sales - Part 1

Editing sales - Part 2

Editing sales - Part 3

Adjustments when editing the sale - Part 1

Adjustments when editing the sale - Part 2

Changing taxes when editing a sale

Deleting sales

Process for discovering errors

Reports and Billing

Printing invoice PDF - Part 1

Printing invoice PDF - Part 2

Showing sales range

Adjusting sales range

Sales report - Part 1

Sales report - Part 2

Sales report - Part 3

Sales report - Part 4

Download sales report in Excel

Corrections in sales report

Dynamic data for homepage

User roles according to the profile

Uploading the POS system to a hosting

Ticket printer, cash drawer, barcode scanner and electronic invoice

Installing ticket printer

Local ticket printing - part 1

Local ticket printing - part 2

Remote ticket printing

Barcode scanner

Electronic invoice - part 1

Electronic invoice - part 2

Goodbye, see you soon!


Ri30 June 2020

This has to be worse course ever. No best programming practice using a rogue self-claimed MVC framework, author's comments make no sense most of the time and shows little knowledge in coding.

Ste18 June 2020

I just wish this video had been done in English as its hard to follow in Spanish writing. i can hear everything but its hard to follow

Al18 May 2020

Really good course. A little fast paced but one has got to keep up with speed when building complex apps like a POS.

Samuel16 April 2020

Makes sense, probably because I have Idea of some parts. PHP beginners(Engish) may have little issues with language if they ain't home enough. Great content.

John20 February 2020

Learning some new things, really looking forward to getting into the nitty gritty of it all. :D The only thing I see I need to keep track of are the names of folders and files.

Théodore4 February 2020

J'append beaucoup de chose en même temps. Le professeur est excellent et donne de bonnes explications

Matt30 January 2020

Outdated. The different softwares have been updated numerous times since this was taken so the tips have changed.

SAM19 December 2019

Very informative course, learned a lot of technics and concepts in "PHP" and "jQuery" plugins . It would be nice to translate the variables to english in the videos to make it easy to follow! moreover it would be perfect to include credit card or paypal payment method in the course too! Be warned that it's not for beginners with no previous knowledge in PHP and jQuery and HTML! Thanks to the instructor for this great course.

Alphonse7 December 2019

The course is excellent for both beginners and advanced developers. A lot of important concepts and technics were explained in a simple terms. Thank to the author.

Gilberto10 October 2019

Este curso é uma maravilha, estou muito feliz pelo curso e pretendo comprar mais cursos do professor Juan Fernando. Recomendo, excelente curso

Mdabu19 August 2019

Well the journey is not all over, from long tutorial lesson I found apart from language it is total details described, don't know how can I finished it. see whats going on!!

Amer28 July 2019

this course for expert and he don't explain some of the very important things and he writes for all level if you already know PHP and HTML bootstrap the course is for you otherwise really is very hard to understand

Ponmurali29 June 2019

Excellant Explanations and easy to follow...learned a lot ...Author is explain from scratch handling the language very smartly.. great need more project tutorials like this in english...thank you author.

Mark25 June 2019

Very good course and I will recommend it for anyone who wants to learn more about how the workflow in mvc is.

Dimitar2 June 2019

Everything in the source code is in spanish, which creates a total mess for me. I do not recommend this course.


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore