iBilling - Accounting & Billing Software

Documentation For iBilling

Thank You So Much for Purchasing iBilling!

If you have any questions that are beyond the scope of this help file, please send us a message using our profile page

Author: cloudonex

System Requirements

Most current web servers with PHP & MySQL installed will be capable of running iBilling.

Minimum 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.

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/


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.


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


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.



To Edit Email Templates Navigate, Settings -> Email Templates


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




Products & Services can be used as Invoice Item.


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.
The Add New Account Form will look like this-


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.
The Add Deposit Form will look like this-

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 referance of this transaction here. (e.g. - Check number, Transaction id etc.)

Description: Put description of this transaction.

Adding Expense

Sameway, 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.

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.




You may also change logo by replacing file -




From here you can adapt iBilling to your language, date format, timezone, currency, currency display format etc.

Here you will find the following settings option:




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.


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.


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
– Authorize.net



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- https://developer.paypal.com/docs/classic/api/currency_codes/

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.




Name:  Payment Gateway Name- Authorize.net

Settings Name:  API_LOGIN_ID

Above two option is not editable & used by System.

Value: Set your API_LOGIN_ID

Custom Param 1: Insert Transaction Key Here


Currency Name with 3-character ISO-4217 codes for Paypal & Stripe

  • AED: United Arab Emirates Dirham
  • AFN: Afghan Afghani
  • ALL: Albanian Lek
  • AMD: Armenian Dram
  • ANG: Netherlands Antillean Gulden
  • AOA: Angolan Kwanza
  • ARS: Argentine Peso
  • AUD: Australian Dollar
  • AWG: Aruban Florin
  • AZN: Azerbaijani Manat
  • BAM: Bosnia & Herzegovina Convertible Mark
  • BBD: Barbadian Dollar
  • BDT: Bangladeshi Taka
  • BGN: Bulgarian Lev
  • BIF: Burundian Franc
  • BMD: Bermudian Dollar
  • BND: Brunei Dollar
  • BOB: Bolivian Boliviano
  • BRL: Brazilian Real
  • BSD: Bahamian Dollar
  • BWP: Botswana Pula
  • BZD: Belize Dollar
  • CAD: Canadian Dollar
  • CDF: Congolese Franc
  • CHF: Swiss Franc
  • CLP: Chilean Peso
  • CNY: Chinese Renminbi Yuan
  • COP: Colombian Peso
  • CRC: Costa Rican Colón
  • CVE: Cape Verdean Escudo
  • CZK: Czech Koruna
  • DJF: Djiboutian Franc
  • DKK: Danish Krone
  • DOP: Dominican Peso
  • DZD: Algerian Dinar
  • EEK: Estonian Kroon
  • EGP: Egyptian Pound
  • ETB: Ethiopian Birr
  • EUR: Euro
  • FJD: Fijian Dollar
  • FKP: Falkland Islands Pound
  • GBP: British Pound
  • GEL: Georgian Lari
  • GIP: Gibraltar Pound
  • GMD: Gambian Dalasi
  • GNF: Guinean Franc
  • GTQ: Guatemalan Quetzal
  • GYD: Guyanese Dollar
  • HKD: Hong Kong Dollar
  • HNL: Honduran Lempira
  • HRK: Croatian Kuna
  • HTG: Haitian Gourde
  • HUF: Hungarian Forint
  • IDR: Indonesian Rupiah
  • ILS: Israeli New Sheqel
  • INR: Indian Rupee
  • ISK: Icelandic Króna
  • JMD: Jamaican Dollar
  • JPY: Japanese Yen
  • KES: Kenyan Shilling
  • KGS: Kyrgyzstani Som
  • KHR: Cambodian Riel
  • KMF: Comorian Franc
  • KRW: South Korean Won
  • KYD: Cayman Islands Dollar
  • KZT: Kazakhstani Tenge
  • LAK: Lao Kip
  • LBP: Lebanese Pound
  • LKR: Sri Lankan Rupee
  • LRD: Liberian Dollar
  • LSL: Lesotho Loti
  • LTL: Lithuanian Litas
  • LVL: Latvian Lats
  • MAD: Moroccan Dirham
  • MDL: Moldovan Leu
  • MGA: Malagasy Ariary
  • MKD: Macedonian Denar
  • MNT: Mongolian Tögrög
  • MOP: Macanese Pataca
  • MRO: Mauritanian Ouguiya
  • MUR: Mauritian Rupee
  • MVR: Maldivian Rufiyaa
  • MWK: Malawian Kwacha
  • MXN: Mexican Peso
  • MYR: Malaysian Ringgit
  • MZN: Mozambican Metical
  • NAD: Namibian Dollar
  • NGN: Nigerian Naira
  • NIO: Nicaraguan Córdoba
  • NOK: Norwegian Krone
  • NPR: Nepalese Rupee
  • NZD: New Zealand Dollar
  • PAB: Panamanian Balboa
  • PEN: Peruvian Nuevo Sol
  • PGK: Papua New Guinean Kina
  • PHP: Philippine Peso
  • PKR: Pakistani Rupee
  • PLN: Polish Złoty
  • PYG: Paraguayan Guaraní
  • QAR: Qatari Riyal
  • RON: Romanian Leu
  • RSD: Serbian Dinar
  • RUB: Russian Ruble
  • RWF: Rwandan Franc
  • SAR: Saudi Riyal
  • SBD: Solomon Islands Dollar
  • SCR: Seychellois Rupee
  • SEK: Swedish Krona
  • SGD: Singapore Dollar
  • SHP: Saint Helenian Pound
  • SLL: Sierra Leonean Leone
  • SOS: Somali Shilling
  • SRD: Surinamese Dollar
  • STD: São Tomé and Príncipe Dobra
  • SVC: Salvadoran Colón
  • SZL: Swazi Lilangeni
  • THB: Thai Baht
  • TJS: Tajikistani Somoni
  • TOP: Tongan Paʻanga
  • TRY: Turkish Lira
  • TTD: Trinidad and Tobago Dollar
  • TWD: New Taiwan Dollar
  • TZS: Tanzanian Shilling
  • UAH: Ukrainian Hryvnia
  • UGX: Ugandan Shilling
  • USD: United States Dollar
  • UYU: Uruguayan Peso
  • UZS: Uzbekistani Som
  • VND: Vietnamese Đồng
  • VUV: Vanuatu Vatu
  • WST: Samoan Tala
  • XAF: Central African Cfa Franc
  • XCD: East Caribbean Dollar
  • XOF: West African Cfa Franc
  • XPF: Cfp Franc
  • YER: Yemeni Rial
  • ZAR: South African Rand
  • ZMW: Zambian Kwacha


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.

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

Income Categories: Navigate to- Settings -> Income Categories

Expense Categories: Settings -> Expense Categories




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.


List: Navigate to Settings -> Sales TAX. Here you will find list of Taxes. Also a button to Add New TAX rule.

Adding New TAX rate to the System:  To Add New TAX – Navigate to Settings -> Sales TAX. Then Click “Add TAX” Button.





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. you@yourcompany.com).

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.gmail.com
SMTP username: Your full Gmail or Google Apps email address (e.g. example@gmail.com or example@yourdomain.com)
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.

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.





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.


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 Both)

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


We always recommend staying up-to-date with iBilling in order to benefit from the latest development and improvements.

Upgrading will not break your existing data & you will be able to upgrade any version to any version. Upgrading is Free. Please follow the upgrading instructions for each release. You can download latest copy of iBilling from CodeCanyon.


Name Description
Accounting The 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.
Transactions An instance of buying or selling something. In this software you can add transaction for any event like - Income (deposit), Expense, Transfer between two accounts.
Income Money received for work, service or through investments.
Expense The cost incurred in or required for something.
Recurring / Repeating Recur 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.
Payee A person to whom money is paid or is to be paid.
Payer A company or someone who pays a bill for products or services received
Transfer A transfer of funds from one account to another.
Balance Sheet A financial statement that summarizes all accounts.
Product Item offered for sale. A product can be a service or an item. It can be physical or in virtual or cyber form.
Service Work that is done for others as an occupation or business.
Localization The process of adapting a product or service to a particular language, culture, and desired local “look-and-feel.”
TAX A fee charged (“levied”) by a government on a product, income, or activity.

Once again, thanks for purchasing iBilling. I hope you will enjoy using this software. If you need any custom requirements, don't hesitate to contact with me via my profile page- CloudOnex