Complete CRM Accounting And Billing Software Using PHP MySQL | CampCodes

Complete CRM Accounting and Billing Software using PHP MySQL

July 2, 2021
crm accounting and billing software

Project: Complete CRM Accounting and Billing Software using PHP and MySQL with Source Code

About Complete CRM Accounting and Billing Software using PHP MySQL Project Free Download

Complete CRM Accounting and Billing Software using PHP MySQL Free Download has the features you want, the simplicity you need! Beautifully designed for best User Interface & User Experience. The software That Works For YOUR Business! Get growing – with affordable, scalable business software. Find innovative ways to manage customers data, communicate with customer, know your business cashflow, net worth, send invoice to customer Hassle-free with single click payment reminder, payment confirmations & get paid online integrated with payment gateways.

Features of Complete CRM Accounting and Billing Software

  • Contact Management
  • Contact Activity
  • Contact Profile with Image
  • Send Email directly from Portal
  • Full Featured Ajax Quick Invoicing
  • Create Recurring Invoice
  • Send Invoice Payment Reminder & Payment Confirmations
  • Collect Payments with Payment Gateway
  • Track Income, Expense
  • 8 Reporting Tools
  • Beautiful Dashboard for quick snapshot for your Business
  • Logs for Audit
  • Supports Multiple Users
  • Fully Branded, No Powered By, No Copyright Notice
  • One Click Database Backup
  • Optimized for best performance
  • Tested by generating millions of random transactions
  • Supports to send email using SMTP
  • Customizable Email Templates
  • Tag in Customer Accounts, Transactions etc.
  • Contacts, Customer Notes
  • Email Message Log
  • And Many More..

System Requirements

  • Linux / Windows / Mac OS
  • PHP Version 7+
    • Both PDO & MySQLi Support
    • GD2 Image Library
  • MySQL Version 5.7.x or above


With Built In Auto Installer

1. Unzip the contents of the zip file to a folder on your computer. You will find two folders, One folder contains documentation & another is ibilling.
2. Upload the Entire ibilling folder to your website / server
3. Next you can rename the folder to whatever you like (billing, finance, manage etc..)
4. Now visit the uploaded location using your web browser to run the installer process.
5. Follow the instructions on screen to install iBilling.
On Successful Installation, You will be redirected to Settings Page to change Username & Password.
6. For security, Delete the install directory inside application folder.

7. If you see blank page after installation, it might be your compiled folder permissoon is not writable. Please make permission 755 compiled directory inside ui folder to store the generated contents from theme.

Manual Install

To install manually, follow this steps-

1. Unzip the contents of the zip file to a folder on your computer. You will find two folders, One folder contains documentation & another is ibilling.
2. Upload the Entire ibilling folder to your website / server
3. Next you can rename the folder to whatever you like (billing, finance, manage etc..)
4. Sample config file is available here- application/config.sample.php . Rename it to config.php & put it in same location (/application/config.php) Open config file using a text editor & Put the database info and url.
5. Import database. Database file is located here- application/install/primary.sql
On Successful Installation, You will be redirected to Settings Page to change Username & Password.
6. For security, Delete the install directory inside application folder.

Common Troubleshooting Tips

Blank Pages after Successful Installation

Blank pages can be caused by errors or if your server doesn’t meet the minimum requirements for iBilling. To see exactly what the issue is, you need to ensure display_errors are set to On in your servers php.ini file and the error_reporting level set to E_All. Then add the line to your iBilling config.php file (located on application/ floder) and revisit the page:


An error message occurring will be shown if it’s a PHP error. Once finished testing, remove the line again from the iBilling config file.

Here is the common reason for this error-

Let’s say you have uploaded your website by login using root in your server but the folder owner must be www-data, so PHP will not be able to write file in ui/compiled folder.
Here is the example command to change folder owner: sudo -R chown www-data:www-data /var/www/billing/

Contents of Complete CRM Accounting and Billing Software

Contact Management

Add New Contact: To Add New Contact Navigate to CRM -> Add New Contact

List Contacts:  To view All contacts Navigate CRM -> List Contacts

View Contact: Click the View Button from Contacts List to view Contact

Contact Summary: Summary of Contact. Total Income, Total Expense etc.

Contact Invoices:  List Invoices for specific Contact

Transactions:  List Transactions for specific Contact

Email:  Send Email to Contact. And List Emails that sent before.

Edit:  Navigate this Tab to Edit Contact

More:  Navigate More Tab to add image to contact & social networking profile. You may also Set Gravatar as Contact Image from here.


Add New Invoice: To Add New Invoice Navigate to Sales -> Add New Invoice

List Invoices:  Navigate to Sales -> Invoices

View Invoice:  Click The View Button to view Invoice

Send Email:  To Send Email Reminder to Customer.

Mark As: With this Group Button you may Mark Invoice as Paid, Unpaid, Partially Paid etc.

Add Payment: By Clicking this button a Modal Window will be open to Add Payment to Invoice. Once you have added a payment it will be appeared in transactions. If you add payment full (Total Invoice Due Amount), it will be automatically marked as Paid, Otherwise if you add less amount then invoice amount, It will be marked as Partially Paid.

PDF:  By clicking view PDF link, the invoice will be shown inside browser by embedding pdf. If you click download, the browser will be forced to download.

Print:  By clicking this link an another window will be open with printer friendly version of this invoice.

Recurring Invoice Creation

To Create Recurring Invoice, Navigate to Sales -> New Recurring Invoice

Repeat Every: Set the Repetition interval. For Example, if you choose Monthly, Next invoice will be generated after 1 month later. If you choose Yearly, next invoice will be generated after 1 Year.

Available Recurring Interval-

2 Weeks
2 Months
3 Months
6 Months
2 Years
3 Years

Invoice Reminders & Notices

Send Invoice Notice & Payment Reminder to Customer

To send invoice creation notice & reminder, Navigate Sales -> Invoices. Click the View Button for specific invoice. You will find a button named ‘Send Email’ on Top Right Corner.

Available Email Options:

Invoice Created
Invoice Payment Reminder
Invoice Overdue Notice
Invoice Payment Confirmation
Invoice Refund Confirmation

Email will be generated Automatically based on your Email Templates. You may edit email before sent from popup modal window.

Managing Products & Services

Add New Product: To Add New Product Navigate to Products & Services -> Add New Product

Add New Service: To Add New Service Navigate to Products & Services -> Add New Service

List Products: To view Available Products Navigate to Products & Services -> Products

List Services: To view Available Services Navigate to Products & Services -> Services


Accounts are how you keep track of your bank accounts/ cash accounts in iBilling. By adding an account, you’ll be able to store and view information about your accounts, and track and analyse transaction history. You can also view total cash in all accounts, use in repeating transactions.

Creating Accounts

To create a new account, click Ad An Account Sub Menu under Bank & Cash menu.

Account Title: Put a Name of your Bank / Cash Account. (e.g. XYZ Bank, Cash in Home etc. )

Description: Put a description of your account. (e.g. Your Account Number, Branch etc.)

Initial Balance: Put the amount of your current balance. (When you adding your account, you will have to put your current balance. From next time, account balance will be calculated automatically based on your transactions.)

Managing Accounts

To manage your bank accounts go to List Accounts sub menu under Bank & Cash Menu. Here your will be able to edit or delete accounts.


Under Transactions menu, you will be able to Add Deposit (Or Income), Add Expense. Account to Account Transfer. View All Transactions etc.

Add Deposit (Or Income)

To add a entry of income transaction, click Ad Deposit Sub Menu under Transactions.

Account: Choose the Account you are depositing.

Date: Date of the transaction

Amount: Amount of this transaction

Payer: The Payer of this income (e.g. Your employer, your client or somebody who is paying you. You can modify payee from Settings -> Payee)

Category: The category of this transaction. (You can modify categories from Settings -> Income Categories

Payment Method: You can define payment methods here. (e.g. – Cash, Check, Paypal etc.)

Ref: You can add a reference of this transaction here. (e.g. – Check number, Transaction id etc.)

Description: Put description of this transaction.

Adding Expense

Someway, You will be able to add expense. To Add Expense, Go to Transactions -> Add Expense

Account to Account Transfer.

Go to Transactions -> Transfer. With this you can transfer between accounts. For example you will use this when you are withdrawing fund from Bank Account and keeping it on Cash.

General Settings

Here you will find most common Settings

To Navigate General Settings Go – Settings -> General Settings

Changing Logo:

To change logo Navigate Settings -> General Settings. From this page you can upload new logo.

This logo will be appeared in the application header, invoice view page, generated pdf invoice etc.


Timezone: Set timezone based on area you live.

Default Country:  Set the default country. Based on this settings the country will be selected by default when you add new Contact.

Default Language: Change Application Language from here. Please note that, this software is not translated to other language yet. Currently Only available language is English. But if you want to translate this to your language, you can do so by editing translation file. You may contact us regarding this to learn more.

Decimal Point: Set the decimal point based on your local currency. (e.g. – “.”). You may also keep it blank.

Thousands Separator: Set the thousands Separator based on your local currency. (e.g. – “,”). You may also keep it blank.

Currency Code: Set Currency code or Symbol based on your local currency or currency you would like to use this software.

Managing Users

List Users: Navigate to Settings -> Manage Users. Here you will find list of users. Also a button to Add New User

Adding New User to the System:  To Add New User- Navigate to Settings -> Manage Users. Then Click “Add New User Button”

Username: Enter the desired username for New User. Username must be an email address

Full Name:  Enter the Full Name of User.

User Type:  Set the type for the user-
Full Administrator- User will have full access to the application
Employee- User will not see the Settings menu & will not able to see Settings Page.

Password: Enter desired password for this new user.

Confirm Password: Type the password again.

Manage Payment Gateways

To Manage Payment Gateways Navigate to – Settings -> Payment Gateways

Here you will find list of Payment Gateways-

Reorder Position: You can Re order Payment Gateway Position by clicking Re Order Position Button. Based on this order Payment Gateway will be displayed in customer invoice view page.

Available Payment Gateways:

– Paypal
– Stripe
– Manual or Bank / Cash


Name:  Payment Gateway Name- Paypal

Settings Name:  Paypal Email

Above two option is not editable & used by System.

Value: Set your Paypal Email

Currency Code: PayPal uses 3-character ISO-4217 codes for specifying currencies in fields and variables. Use the code here. (For Example for US Dollar – USD, For Euro – EUR, For Australian Dollar – AUD).

List of Supported Currencies is available here-

Conversion Rate: Default value is 1 & please keep it 1 if your system currency and paypal payments receiving currency is same. You may change this if your system currency is different from paypal payments receiving currency (For Example, if your system currency is BDT & you want to convert BDT to USD for invoice amount, you may set it 80 as 1 USD = 80 BDT)


Name:  Payment Gateway Name- Stripe

Settings Name:  API Key

Above two option is not editable & used by System.

Value: Set your Stripe API Key

Currency Code: Stripe uses 3-character ISO-4217 codes for specifying currencies in fields and variables. Use the code here. (For Example for US Dollar – USD, For Euro – EUR, For Australian Dollar – AUD).

Manual Payment

With this Payment Gateway option you can instruct to your customer to pay manually or give bank info to direct deposit.

Name:  Payment Gateway Name- Bank / Cash

Settings Name:  Instructions

Above two option is not editable & used by System.

Value: Set your instructions for manual payment (e.g. Your Bank Info)

If you do not want this, simply set this status to Inactive.

Payment Methods

To Add Edit Payment Methods Navigate to- Settings -> Payment Methods

Please Note that, this is not related to Payment Gateways. You will use this to record deposit, expense transactions record. For Payment Gateways Navigate to- Settings -> Payment Gateways.

Income & Expense Categories

Categories can be user to record transactions (Income/Expense)

Income Categories: Navigate to- Settings -> Income Categories

Expense Categories: Settings -> Expense Categories

Managing Tags

You can tag a transaction, a Contact etc.

You can tag a transaction or contact simply by typing the tag name. If tag is not available in database table, it will be created automatically.

Deleting Tags: To Delete an Existing Tag Navigate to – Settings -> Manage Tags then click Delete Button.

Email Settings

To Access iBilling Email Settings Go – Settings -> Email Settings

You can configure outgoing email settings to use built in php mail() function or You can send email through SMTP.

Send Email using PHP built in mail() function:
To send email though php built in mail() function, simply choose this option. Put system email (e.g.

Send Email using SMTP Server:
Choose SMTP from drop down list. Choosing this a few more option will be appeared.

SMTP Host: Put SMTP host
SMTP Username: Put username for your smtp account
SMTP Password: Put Password
Port: Enter the port number for your smtp provider
SMTP Secure: Choose from TLS or SSL

Use Google’s SMTP Server:
To send email using Google’s SMTP server choose SMTP from the email settings.

Google’s SMTP server requires authentication, so here’s how to set it up:

SMTP server (i.e., outgoing mail):
SMTP username: Your full Gmail or Google Apps email address (e.g. or
SMTP password: Your Gmail or Google Apps email password
SMTP port: 587
SMTP TLS/SSL required: TLS
In order to store a copy of outgoing emails in your Gmail or Google Apps Sent folder, log into your Gmail or Google Apps email Settings and:
Click on the Forwarding/IMAP tab and scroll down to the IMAP Access section: IMAP must be enabled in order for emails to be properly copied to your sent folder.

Please note that Google automatically rewrites the From line of any email you send via its SMTP server to the default Send mail as email address in your Gmail or Google Apps email account Settings. You need to be aware of this nuance because it affects the presentation of your email, from the point of view of the recepient, and it may also affect the Reply-To setting of some programs.

In your Google email Settings, go to the Accounts tab/section and make “default” an account other than your Gmail/Google Apps account. This will cause Google’s SMTP server to re-write the From field with whatever address you enabled as the default Send mail as address.

Google limits the amount of mail a user can send, via its portable SMTP server. This limit restricts the number of messages sent per day to 99 emails; and the restriction is automatically removed within 24 hours after the limit was reached.

Email Templates

The email templates allow you to customize the messages that go out to your customers when actions occur inside iBilling. Email that goes out from iBilling can be customized from here.

To edit an email template, go to Settings > Email Templates and click over name or subject you want to change.

All email variables is available in this format – {{variable_name}}

For Example {{business_name}} will replace with your Business Name, Company Name. {{invoice_amount}} will replace with actual invoice amount when sending email.


In iBilling All Reports will be generated automatically based on your transactions.

Available Reports:

Account Statement:  This will generate Account Statement based on Selected Account. The Statement can also be exported as pdf & Printer friendly.

Reports by Date:  You can navigate all transaction activity of selected date with this page.

Income Reports: Reports for Income.

Expense Reports: Reports for Expense.

Income Vs Expense:  Automatically generated snapshot of your income & expense, so that you can compare.

All Income: This page will show your all income

All Expense: This page will show your all expense

All Transaction: This page will show your all transactions (Income & Expense Bo


Activity Log: Users activity logs will be appeared here including date, ip, descriptions, user id etc. You can use this for auditing. To Access activity log go to Utilities -> Activity Log

Email Message Log: All outgoing emails will be stored in the database & you will be able to access this from here. To Access email message log go to Utilities -> Email Message Log

Database Status: You can check database status also you can download database backup from here. To Access database status go to Utilities -> Database Status


AccountingThe systematic and comprehensive recording of financial transactions pertaining to a business. Accounting also refers to the process of summarizing, analyzing and reporting these transactions. The financial statements that summarize a large company’s operations, financial position and cash flows over a particular period are a concise summary of hundreds of thousands of financial transactions it may have entered into over this period.
TransactionsAn instance of buying or selling something. In this software you can add transaction for any event like – Income (deposit), Expense, Transfer between two accounts.
IncomeMoney received for work, service or through investments.
ExpenseThe cost incurred in or required for something.
Recurring / RepeatingRecur means occur again periodically or repeatedly. In this software, you can input all your future transactions for both income and expense. For example, let’s say you are paying an amount every month to X provider for internet bill. So you can put this in Repeating Expense. It will be shown on your Expense calendar.
PayeeA person to whom money is paid or is to be paid.
PayerA company or someone who pays a bill for products or services received
TransferA transfer of funds from one account to another.
Balance SheetA financial statement that summarizes all accounts.
ProductItem offered for sale. A product can be a service or an item. It can be physical or in virtual or cyber form.
ServiceWork that is done for others as an occupation or business.
LocalizationThe process of adapting a product or service to a particular language, culture, and desired local “look-and-feel.”
TAXA fee charged (“levied”) by a government on a product, income, or activity.


crm accounting and billing software free download

open source crm accounting and billing software free download

open source crm accounting and billing software free download

Demo on Complete CRM Accounting and Billing Software

Admin Demo: Admin Login
Password 12345678

Database: ibilling

I hope this Complete CRM Accounting and Billing Software  using PHP MySQL will help you with what you are looking for and hope that you will learn something with this project that is useful for your future projects.

Related Projects: Complete Pay Per Click Platform Script using PHP Source Code, Bank Management System in PHP/MySQL, Complete Tailor Management System Software using PHP MySQL, Online Water Billing System in PHP MySQL, Complete Sales and Inventory System with Credit Management using PHP, Complete Income and Expense Tracker System using PHP and MySQL, Complete Business Management System (CMS) using PHP MySQL, EStore Single Vendor eCommerce Website using PHP Laravel, Complete Car Wash Booking System using PHP MySQL with Mobile App

Download Here
  • Hello,

    I am not a coder. But I am looking for something like this for my proposal needs.
    Can you make a customization according to my needs.

    Can April 2, 2024 9:34 pm Reply
  • what is the porpose of the plugins of this system ihope i can get a answer

    jayso February 5, 2024 12:39 am Reply
  • I will help if incase you are required help of this software system contact me on my whatapp 03212019890. remember this this service offer is not free.

    shah January 6, 2024 10:12 pm Reply
  • i am succesfully using this system but I want to add mpesa payment gateway so that customers can have option of paying by mpesa to either a till or a paybill number
    how can I do this or how can I edit to be my mpesa gateway

    WASHINGTONE OTIENO OIRO May 25, 2023 9:00 pm Reply
    • Hey can you help me set it up ?

      Tayyab Sajjad June 23, 2023 8:16 pm Reply
  • Hello, I have a problem…
    Installation does not go beyond step 3
    How can I solve this?

    Alain May 18, 2023 3:42 pm Reply
  • Anyone need help instantly regarding any software/application project on campcodes can contact me right now. He will get my services instantly. Whatsapp+923006037178

    Senior Software Engineer.

    Tahir Mubeen December 13, 2022 7:21 pm Reply
  • hello sir

    i have succefully installed but on first page its asking to enter email id and password. how to fix this

    Ankit October 26, 2022 1:23 pm Reply
  • i need Full Software sir

    RAMPRASATH B August 13, 2022 12:11 am Reply
  • Anyone need help. Contact me
    I will help you out quickly and easy.
    Only 4$. Complete Application.
    Whatsapp no.+92-3006037178

    Tahir Mubeen August 10, 2022 12:51 pm Reply
  • Sir after starting admin page and by typing the address in the index page like localhost/index/ibilling it is showing 404 error

    Manthan July 3, 2022 3:49 pm Reply
  • Hello,
    I am French and I would like the software to be in French, how do I do this?

    Sango April 21, 2022 4:12 pm Reply
  • hi sir this source code can’t run my can I solved it

    abhi January 29, 2022 10:56 pm Reply
  • how can active crm

    alamin January 4, 2022 9:31 pm Reply
    • Hello Sir ,I did all the steps but I receive the blank page.

      John July 27, 2022 3:21 am Reply
  • Dear Sir
    after install app on my domain host
    i do every steps you made it in your video
    but not on local server
    i do it in domain host
    Blank Pages after Successful Installation
    what can i do to help me for resolve this issue

    Mohammad Morad August 9, 2021 2:14 pm Reply
    • hey did you get a sol?

      Robinson Mungai May 30, 2023 9:32 pm Reply

Leave a Reply

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