Purchase Order Management System using PHP Free Source Code



This is a Purchase Order Management System in PHP. This is a simple web application that manages a certain company's Purchase Order Records. This project can help to store and retrieve the Purchase Order records of the company easily. This mini-project can be used also in developing an Inventory Management System. It has a pleasant user interface and user-friendly functionalities.

About the Purchase Order Management System

This Purchase Order Management System can store the list of all company's suppliers for easily retrieving the suppliers' data upon generating the purchase order. It also stores the list of Items that the company possibly purchased from their suppliers. Both the mentioned features have CRUD (Create, Read, Update, and Delete) operations. Talking about generating the Purchase Order, the system can generate a printable Purchase Order Slip/Request.

I developed this project using the following:

  • XAMPP v3.3.0 as my local webserver that has a PHP Version 8.0.7
  • PHP Language
  • MySQL Database
  • HTML
  • CSS
  • JavaScript
  • jQuery
  • Ajax
  • Bootstrap
  • AdminLTE Template
  • and some other libraries/plugins


Admin Panel

  • Secure Login/Logout
  • Manage Supplier List
  • Manage Item List
  • Create New Purchase Order
  • View/Print Purchase Order
  • Edit Purchase Order Details/Items
  • Delete Purchase Order Details/Items
  • Manage User List
  • Manage System/Company Information
  • Manage Account Details


  • Secure Login/Logout
  • Manage Supplier List
  • Manage Item List
  • Create New Purchase Order
  • View/Print Purchase Order
  • Edit Purchase Order Details/Items
  • Delete Purchase Order Details/Items
  • Manage Account Details

System Snapshots of some Features

Item List Page

Purchase Order Management System

P.O.List Page

Purchase Order Management System

Supplier List Page

Purchase Order Management System

Purchase Order's View Page

Purchase Order Management System

How to Run ??


  • Download and Install any local web server such as XAMPP/WAMP.
  • Download the provided source code zip file. (download button is located below)


  1. Open your XAMPP/WAMP's Control Panel and start Apache and MySQL.
  2. Extract the downloaded source code zip file.
  3. If you are using XAMPP, copy the extracted source code folder and paste it into the XAMPP's "htdocs" directory. And If you are using WAMP, paste it into the "www" directory.
  4. Browse the PHPMyAdmin in a browser. i.e. http://localhost/phpmyadmin
  5. Create a new database naming purchase_order_db.
  6. Import the provided SQL file. The file is known as purchase_order_db.sql located inside the database folder.
  7. Browse the Purchase Order Management System in a browser. i.e. http://localhost/purchase_order/ for the system login portal.

Default Admin Access Information

Username: admin
Password: admin123


That's it. You can now explore the features and functionalities of this Purchase Order Management System in PHP. I hope this project will help you with what you are looking for and you'll find something useful for your future projects.

Explore more on this website for more Free Source Codes and Tutorials.

Enjoy :)

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.


Submitted bySmarts (not verified)on Mon, 09/27/2021 - 09:20

hello congratulations...great job can you help me put some rules in the system? 1 - a seller cannot see or delete Purchase Order of other sellers, when logging in he can only see and edit his orders, if its status is pending or canceled, if approved the PO can no longer be deleted or edited. 2 - each user can only view, edit or delete their purchase orders. thanks
Submitted bycleo (not verified)on Wed, 12/08/2021 - 11:31

Great program, but why i can't access the program using mobile phone, its nothing wrong with my localhost, can you help me?
Submitted bywaghamode vish… (not verified)on Sun, 12/12/2021 - 02:04

Warning: mysqli::__construct(): (HY000/1049): Unknown database 'purchase_order_db' in D:\xamp1\htdocs\purchase_order\classes\DBConnection.php on line 18 Fatal error: Uncaught Error: mysqli object is already closed in D:\xamp1\htdocs\purchase_order\classes\SystemSettings.php:16 Stack trace: #0 D:\xamp1\htdocs\purchase_order\classes\SystemSettings.php(16): mysqli->query('SELECT * FROM s...') #1 D:\xamp1\htdocs\purchase_order\classes\SystemSettings.php(137): SystemSettings->load_system_info() #2 D:\xamp1\htdocs\purchase_order\config.php(9): require_once('D:\\xamp1\\htdocs...') #3 D:\xamp1\htdocs\purchase_order\index.php(1): require_once('D:\\xamp1\\htdocs...') #4 {main} thrown in D:\xamp1\htdocs\purchase_order\classes\SystemSettings.php on line 16 Fatal error: Uncaught Error: mysqli object is already closed in D:\xamp1\htdocs\purchase_order\classes\DBConnection.php:28 Stack trace: #0 D:\xamp1\htdocs\purchase_order\classes\DBConnection.php(28): mysqli->close() #1 [internal function]: DBConnection->__destruct() #2 {main} thrown in D:\xamp1\htdocs\purchase_order\classes\DBConnection.php on line 28
Submitted byov (not verified)on Sat, 04/23/2022 - 15:26

SQL İnjection :) ``` POST /purchase_order/classes/Login.php?f=login HTTP/1.1 Host: localhost Content-Length: 32 sec-ch-ua: ";Not A Brand";v="99", "Chromium";v="94" Accept: */* Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 sec-ch-ua-platform: "Windows" Origin: http://localhost Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: http://localhost/purchase_order/admin/login.php Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: PHPSESSID=fipkbpl70m5ol078ohb2d50ais Connection: close username=admin&password=admin123 ```
Submitted byJ Kendall Eley (not verified)on Sat, 06/25/2022 - 08:32

Is there a process designed so that the po requires approval by an administrator?
Submitted byMike Baskin (not verified)on Sun, 06/26/2022 - 19:39

Good start but a little too simple. Products need to have a purchase price saved with them. Got it to load on a web server with just a little tweaking of some of the files so I can use it online.
Submitted byLeonilson Chaves (not verified)on Fri, 09/09/2022 - 22:51

hello, very good your project, can you make the database available in the file?, it is not present
Submitted byayaz ahmaed (not verified)on Thu, 10/13/2022 - 04:41

Hallo, Nice Projekt but need 2 things can u help make it posibel 1. by Purchase Order Page need to ist all item and custmer just add Qty by product 2. send the order automatic as PDF by email to the supplier

Add new comment