Technology Advice by Ryan Taylor Adams

PHP Invoice System

May 25th, 2008 · No Comments · Printer Friendly Version


While I make an effort to update older posts to keep them relevant and technically accurate, the rapidly changing nature of the tech world makes it possible that the content of this post may no longer be relevant, current, or even accurate. Additionally, because of this post's age, adding new comments has been disabled. If you would like to contribute new information to this post, or have questions pertaining to this post, please use the Contact Form.

I’ve created a simple invoice system to facilitate my business. It will work “out of the box” for many situations, but was designed to be more of a framework which can be tailored to your needs. Here are some of the current features:

  • Customers can view their invoices by entering a invoice number and their name.
    • Shows the items bought, labor charges, total amount billed, amounted paid to date, and the remaining balance.
    • Once customers view one invoice, they can quickly view their other invoice without having to manually enter a invoice number or their name again.
  • Password protected admin area
    • The admin user can add customers and invoice.
    • The admin user can record payments received which automatically updates the “remaining balance” customers see on their invoice.
    • Admin user can find and view invoices by number, date, customer name, or remaining balance.
    • List of invoices and customers can be exported to a CSV file.

Currently the invoices only support labor charge (hours worked time hourly rate) and three hardware items. However, you can customize the forms to your needs.


  1. Download this zip file.
  2. Extract the contents of the zip file.
  3. Open the file “config.php”, change the variables as appropriate, and then save the changes.
  4. Upload the entire “invoice” folder to your website.
  5. Navigate to “http://yoursite.com/invoices/admin/”
  6. You will need to log in with the username and password you set in “config.php”.
  7. Navigate to “http://yoursite.com/invoices/admin/config.php?install=1”. This will setup the MySQL tables.
  8. Return to http://yoursite.com/invoices/admin/ and start entering your data. You will need to add customers first before you can create an invoice for that customer.

If you have an comments/questions/suggestions feel free to leave a comment on this post. Please be aware though that I do not officially provide support for this PHP script, maintaining it is not a high priority for me, and I will not customize the script to your needs for free.

If you do want me to edit the script to better suit your business, contact me and we can work out a payment schedule.