Invoice Management System in PHP with Source Code

A fully functional project based on Online Invoice Management System that uses PHP Language with MySQL database. Following PHP project contains all the essential features which can be in use for the second year IT students for their college projects. It has a number of features that will allow users to manage invoices as well as product details. This system as well as the web application’s concept is all clear, it’s the same as real-life scenarios and well-implemented on it. To download free invoice management system project in PHP MySQL with source code files, please scroll down to the bottom of this post for the Download button.

About Invoice Management System PHP Project

In particular, this Invoice Management System project in PHP MySQL focuses mainly on keeping track of invoices as well as their product sales. Also, the system displays all the products with their respective details. In addition, the system allows managing customers’ records. Evidently, this project only contains an admin panel. In an overview of this web application, an administrator has full control over the system. He/she can manage invoices, users, customers, and products. Here, each and every section has its own respective details such as name and other important details. However, the admin set random product names with rates for generating invoices. Or the admin can select from an existing record.

Customer and Product Management

Likewise, the system also allows managing these records. For this, the user has to provide product names with the rate amount. Also, this particular section is a kind of optional field for managing invoices. Meanwhile, the completion of all these fields leads us to customer management. In fact, this section requires a number of details for its management. It includes the name of the customer with its contact, addresses information. Here, this field can be optional for maintaining invoices too. The user can select numerous product items under the same invoices. With it, the system automatically displays the rate amount of each for the billing process.

Manage Invoices and User Management

On the other hand, the main feature of this invoicing system is to create invoices with respect to its sales. Nevertheless, the admin can proceed with the invoicing side of customers’ orders for sales management. Here, an admin needs to provide the due dates, customer information with the selection of product items, quantity. Also, the system allows adding discount amounts. Else, all other amounts such as TAX, VAT are automatically added by the system during its calculation. At first, the system lists each record as unpaid status and the user has to update records according to its bill status. In addition, the admin can include shipping charges too. With such management, the system generates an overall invoice for each customer. Later, the user can simply download to view the invoice file which comes in a PDF format. Besides, the admin can manage system users too.

Last but not least, a clean and simple dashboard is presented with various color combinations for greater user experience while using this Invoice Management 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 Online Invoicing System Project in PHP MySQL which includes an admin panel that contains all the essential features to follow up, and a knowledgeable resource for learning purposes.

Available Features:
  • Admin Panel
  • Generate Invoices
  • Download Invoice (PDF)
  • Export Invoice (csv)
  • TAX, VAT, Shipping Inclusion
  • Total Sales Amount
  • Due Amount
  • Paid, Pending Bills
  • Manage Invoice Records
  • Product Management
  • Customer Management
  • System User Management
Project Name:Invoice Management System
Language/s Used:PHP
PHP version (Recommended):5.6, 7.4
Database:MySQL
Type:Web Application
Developer:Abhishek Raj
Updates:0
Online Invoice Management 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 naming “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 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 URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
  • All the login details are provided inside the project folder, check that out and enter in order to use it.

And there you have it, a full setup of the Invoice Management System project in PHP. For this particular PHP project, PHP Version 5.6 or Newer is required because the project does not operate with the oldest PHP version. So, users with the oldest PHP version (older 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 Free Invoicing System Project in PHP MySQL Source Code. So, this online invoice system PHP project is a fully functional project for all the intermediate levels 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 Invoice Management System Project in PHP MySQL with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose

214 comments

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. Truth is that the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

      1. I can only create “Open” and “Paid” invoices. If my customers do not pay in full but partially , how do create that ?

  1. While trying to update an invoice it shows garbage text (lots of error message) on every fileld. Some times it creates duplicate invoices!!

  2. Truth is that the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

    How to fix this errors ? also we try to edit invoice it deletes invoice items from database. can you please help ?

      1. This php code should convert to PDO instead mysqli then it will be perfect system for small bussiness like mine

          1. I have a problem with create invoice status “Error: There has been an error, please try again.” and I will update any invoice in Manage invoice after i click in update that invoice delete auto from database sir?

          2. Please check the “Manage Invoice” section and there you’ll find your requested invoice. The users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

          3. can you give me a telegram or facebook i will contact you by there sir?

            your system make me happy!
            Thanks for help me!

          4. I Check status this “Error: There has been an error, please try again.” will show on “response.php”
            So this flow after we create invoice will send a message to email customer right sir?

          5. First, can you please tell me about your PHP version? This project works best with PHP 5. Rest, we’re quite unsure how it’ll perform as it might show a number of issues.

          1. Hola, me gustaría saber si se puede modificar el valor de los impuestos, en la cd de méxico es del 16%, muchas gracias.

  3. Hi,

    It seems like I cannot login and I have an error message like this
    “Error : (1045) Access denied for user ‘root’@’localhost’ (using password: NO)”

    How to connect PHP to Database?

    Thank you

        1. Inside the project’s config file, you’ll need to make changes under the “Database Information”
          Please have a look at DATABASE _ USER, DATABASE _ PASS. (by default the DATABASE _ PASS field is empty and seems like you’ve your own password for that, so please fill it out!)

          1. You have to replace your server’s username and password with the existing one! Also, you might have a different port number (if so replace localhost with localhost:[YOUR_PORT_NUMBER]). That’s the only problem for you [according to your mentioned error message].

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

      1. below are the modifications to the database. i can now see the login screen but can’t access the application even when using this credential admin Password@123. I even added another user in the database with another password but still.

        // DATABASE INFORMATION
        define(‘DATABASE_HOST’, ‘localhost’);
        define(‘DATABASE_NAME’, ‘invoicemgsys’);
        define(‘DATABASE_USER’, ‘root’);
        define(‘DATABASE_PASS’, ‘Application’);

  4. The forgot.php file is not available in the project, error 200: undefined when connecting if I check the remember me option, Error: An error has occurred, please try again while creating invoice.

    1. Regarding warning message “Please try again…” is caused due to your LATEST PHP version. But still, you can find your invoices made under the manage invoice section. Besides, other [forgot file] is probably left out by the developer.

  5. invoice not creating gives error “There is error” and also editing the invoice deletes it
    when will be the problem got resolved

    1. “Error Message” is displayed due to your LATEST PHP version. This particular project works well with PHP 5.6. But still, you can find your invoices made under the manage invoice section.

  6. Hi sir,
    When i am trying to login this error message is given
    Fatal error: Uncaught mysqli_sql_exception: Unknown database ‘simpleinvoicephp’ in C:\xampp\htdocs\invoice-system-php\Invoice.php:13 Stack trace: #0 C:\xampp\htdocs\invoice-system-php\Invoice.php(13): mysqli->__construct(‘localhost’, ‘root’, ”, ‘simpleinvoiceph…’) #1 C:\xampp\htdocs\invoice-system-php\index.php(7): Invoice->__construct() #2 {main} thrown in C:\xampp\htdocs\invoice-system-php\Invoice.php on line 13

    1. This simply means you HAVEN’T created any database naming “simpleinvoicephp”.
      Please make sure of the database connection before running the project!

  7. Sir,
    thanks for sharing the code
    while making the inovices only first item from the invoice is inserts to the invoice_item table. i think some problem with array.

  8. hello sir thanks for this script actally i am having a problem when i am creating a invoice it is not getting it shows error

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  9. no sir i checked already but not working can u help me i configure file and update my server to 5.6 version but now also not working also i check on another php version but same and one thing i check manage section but there also not getting

  10. cannot login into the system, $_SESSION[‘login_username’] = $row[‘username’]; : this is the error in the login.php, how to change this?

    1. What about your database connection? If it’s all fine, then it’s probably due to your LATEST PHP version. This project works best with PHP 5.6 and 7.4 [but has some issues with PHP 7]

  11. Hi i have a problem in Invoice List when i press the email button an error message show:”Error: There has been an error, please try again.
    Could not instantiate mail function.”
    Could you help me

  12. And another Question Please i want to change the languange into french in the code i replace ‘en’ with ‘fr’ and there is no change is there a specific file that i need to go and do changes

  13. i want to change the languange into french in the code i replace ‘en’ with ‘fr’ and there is no change is there a specific file that i need to go and do changes
    Could you help me

  14. Hi Admin,
    Is it possible to include QR code on the invoice with details of the Net, VAT and gross amounts including Date of purchase.
    Thank you in advance for your assistance.

  15. Hi admin,
    I have a problem in invoice edit when i want to edit more than 1 time there is an error
    Could you help me

      1. in each text field there is an error message like

        Notice: Undefined variable: custom_email in C:\xampp\htdocs\Invoice\invoice-edit.php on line 81
        or
        Notice: Undefined variable: customer_name in C:\xampp\htdocs\Invoice\invoice-edit.php on line 147
        Notice: Undefined variable: customer_address_2 in C:\xampp\htdocs\Invoice\invoice-edit.php on line 165
        in each text filed there is a message error like this when i went to edit the invoice the second time
        Could you help me

  16. Hi, how are you? Hope you will be fine.
    if I create an invoice and other things then show a message “undefined”. and edit anything just show data HMTL tags. how i can fix this please tell me.

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  17. Hi,
    I had used the code and opened the file successfully, but when I’m creating an invoice it is showing an error that ” There has been error please try again”. And this error is only shown when the shipping charge field is kept empty. I have to enter ‘0’ in the field I’m unable to keep the shipping charge empty.

    “Please help me to solve this problem”

  18. Hello, first thank you for your work !
    I have the same problem :
    “i am having a problem when i am creating a invoice it is not getting it shows error”
    Is it possible to change the error to a success and redirect to another page?

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  19. Whole Invoice section has errors in creating it shows error which I can’t pinpoint and it doesn’t save even though you’re saying so and in manage invoice section when I edit and update the invoice it says product has been updated and whole invoice entry gets deleted.

  20. The Print function does not work for me, it only prints the sample pdfs in the file, when i deleted the sample pdf files says that the requested url was not found

  21. Fatal error: Uncaught mysqli_sql_exception: Unknown database ‘invoicemgsys’ in C:\xampp1\htdocs\InvoiceMg-PHP\includes\config……………………………….

  22. Hello,

    I’m having problems with UTF8 characters when creating a PDF. What do I need to do to make these characters appear properly?

  23. below are the modifications to the database. i can now see the login screen but can’t access the application even when using this credential admin Password@123. I even added another user in the database with another password but still.

    // DATABASE INFORMATION
    define(‘…………………

  24. Bizarrely everyone is complaining about your project having too many errors etc… and not working.

    so the question is what is the point of posting it here sharing a bad project and feeling proud to come and answer questions… wha is the point???

    1. You know what, everyone does not have the same version of PHP installed on their local machines too. Some use it differently than instructed, so it might differ in end results. This project was tested with PHP 5.6.3 and it works fine there [as shown in the video] for the rest [or the latest version] not quite sure how it’ll perform there. We’re sure there is a number of bugs as these are not market-ready projects!!
      Also, trying to help a bit [as much as we can] is definitely greater than shutting up our mouths with all the comments.

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. The thing is that the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  25. yeah bro , but cant loging system, display Loging incorrect ,does not exsist or simply a problem tryagain 😥 i like your system ………

  26. Hello Sir,

    Ive made everything what u have said. But sadly, the PDF Is nor rightly generated. Also when I click on Generate its like pending and not showing me that it was succesfully created. So When i had over to manage Invoices Ill find the Invoice and when I create it its not using the values. Furthermore, when I click on any Invoice, it generates a false pdf with or rather everytime the same pdf with the same value. What did I do wrong?

    1. Not sure about this, but this specific problem can be due to the latest PHP version. The recommended PHP version for this project is PHP 5 as it works fine there [as shown in the demo video] We’re quite not sure about how this project will react to the new PHP versions.

  27. I have the latest version of php and when I create an Invoice it is not working. it says 200 undefined and often the Invoice is also not generated….

    1. The recommended PHP version for this project is PHP 5.6 and it works fine there [as shown in the demo video]. Not sure how this project will react to the latest version.

  28. i’m facing issue in editing the exsisting invoice after i update it it shows 200 undefined but it gts updates i want it to show successfully updated message pls can u help me ASAP

    1. The thing with this “200 undefined” issue is triggered with PHP versions of more than 5. Everything works fine with PHP 5, but that particular message gets triggered with PHP 7 and so on.

  29. when I am clicking on Print I am getting below error

    3
    Fatal error: Uncaught Dompdf\Exception: file_ get_ contents(): Passing null to parameter #2 ($use_include_path) of type bool is deprecated 8192 in D:\ xampp\ htdocs\ invoice\ dompdf………………

  30. I found it regarding undefined error .. when i edit the code like changing the details ..
    the part of invoice will be undefined error ..
    even change the logo the invoice section will be undefined ..
    meaning this project not allow to edit or to develop ?

  31. i m facing problem in creating invoice , its says there has been error please try again
    i m using xamp 7.0 version

    how do i put additional data and modifiy invoice

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. The users with the latest PHP version (greater than PHP 5) will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  32. hi, may I ask if is this project edit invoice is edited when you update it?
    customers edit and product edit also user edit when you update it, its editable .. but when you go in edit invoice it will retain only but not editable.. it is the same to you?

      1. its not generating the the newly created pdf invoice but only shows the sample pdf invoice of anne bRuth and others. please tell how to fix this.

  33. I am using Php 8.2.0 with Xampp and when I try to create new invoice it shows error 200:undefined.
    could please provide an instruction how to solve this error?
    thank you

    1. Please check the “Manage Invoice” section and there you’ll find your requested invoice. It’s that, the users with the latest PHP version will face these alert messages after submitting the “generate invoice” button but still, the system generates it for you. And you can view/download those invoices from the Manage Invoice sections!

  34. Hello there, and thank you for this nice project.
    I’m getting this error, and I dont know how to solve it > Fatal error: Uncaught mysqli_sql_exception: Unknown database ‘invoicemgsys’ in D:…………………………..

    Did I missed somenting ?

  35. not able to connect MySql
    Getting the below error:
    =============
    Error: MySQL shutdown unexpectedly.
    15:31:02 [mysql] This may be due to a blocked port, missing dependencies,
    15:31:02 [mysql] improper privileges, a crash, or a shutdown by another method.
    15:31:02 [mysql] Press the Logs button to view error logs and check
    15:31:02 [mysql] the Windows Event Viewer for more clues
    15:31:02 [mysql] If you need more help, copy and post this
    15:31:02 [mysql] entire log window on the forums
    ============

  36. Hello, please help. I uploaded the files to the server, how to add the database with the name given in the file (01 LOGIN DETAILS & PROJECT INFO.txt) adding the database I have a prefix e.g. (par_invoicemgsys) without adding the database the application opens but you cannot log in – 200: undefined

  37. Thank you so much ! It worked perfectly in Ubuntu. In Windows I faced many issues related to port, version etc. But in Ubuntu it worked well. Once again Thank you so much for your generosity to post this app freely in this platform.

  38. Hello! Code works perfect! however i do want to add a few more attributes to the form such as header and such, do you have any tutorials that i can refer too? thanks!

  39. I am facing problem in this step :- After setting up all these, go to URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
    It shows this error :-

    Not Found
    The requested URL was not found on this server.

    Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4 Server at localhost Port 80

  40. Not Found
    The requested URL was not found on this server.

    Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.1 Server at localhost Port 80

    *i’m have problem with view/download pdf not appear. what do i do?

  41. Fatal error: Uncaught mysqli_sql_exception: No connection could be made because the target machine actively refused it in E……………
    Why am I getting this error ? plz help

  42. Hello
    I would like some changes to be made to this script and I would like to purchase it. Can I contact the software developer, please? I would be happy if it is urgent.

  43. how to add separate vat in india we have two vat sGST and cGST so want to add both vat please help me in code thanks

  44. Hello,

    I would like to use this project for production, as i am not interested by online invoice mgmt systems. I am interested by on premises hosting. Can you ask the developer to update the code work for latest php version (8+)?

    In case there are some costs, can you specify?
    I would like also some time frame when can i download the software.
    Thanks,

  45. Hello, I am using PHP 5.6 and I am having problems when I go to edit the invoices. When I try to edit the same invoice for the second time I get an error.

  46. Hello,
    When i want to create an invoice (all data are OK), the error ‘200 : undefined’ appears ! and if i want to create a customer , all is OK.
    Can you helo me…
    thanks

  47. Does it allow you to configure more than one tax? and of negative value? Self-employed workers in Spain apply VAT +21% and IRPF – 15%.

  48. Hi there
    Every invoice Update or Invoice download I get an error when returning to the invoice.

    Notice: Undefined variable: custom_email in C:\xampp\htdocs\torres\InvoiceMg-PHP\invoice-edit.php on line 81

    No Customer Information could be seeing anymore.
    Notice: Undefined variable: customer_name in C:\xampp\htdocs\torres\InvoiceMg-PHP\invoice-edit.php on line 147

    No Shipping Information
    Notice: Undefined variable: customer_name_ship in C:\xampp\htdocs\torres\InvoiceMg-PHP\invoice-edit.php on line 187

    No amount or Item..

    Notice: Undefined variable: invoice_notes in C:\xampp\htdocs\torres\InvoiceMg-PHP\invoice-edit.php on line 300

    Can you please share your thoughts?
    regards,

  49. Its showing undefined 200 error at the time of invoice generation and generating more than one copied invoices automatically When I had change the currency symbol from $ to ₹ in config.php in includes.

  50. Fatal error: Uncaught mysqli_sql_exception: Unknown database ‘invoicemgsys’ in C:\xampp project\htdocs\Invoice\includes\config.php:48 Stack trace: #0 C:……………………….
    please solve me this

  51. bro i have removed exits user without add new user now i can’t login how you add username and password initially

  52. Hi, I am using php 5.6.3. But the issue is about Edit Invoice. Why once I update the invoice, data for the invoice in the table invoice_items missing..

Leave a Reply

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