# Guide
Manage your Invoices / Bills at One Place.
# Technologies Used
This system uses multiple technologies to give the best possible experience.
- PHP with Laravel Framework
- MySQL 5.6+
- PHP 8.1
- jQuery
- Ajax
# Installation Guide
We tried our best to make the installation of the system as easy as possible. System Requirements It is assumed that you have primary knowledge Laravel installation knowledge since this application is built on Laravel.
# System Requirement
It is assumed that you have primary knowledge Laravel and JS application installation knowledge since this application is built on Laravel with JS.
You can read about laravel Requirements here (opens new window)
(Optional) You need update below variables in php.ini file if you want to send bigger files.
upload_max_filesize = 50M
max_file_uploads = 50
post_max_size = 100M
# Setup InfyInvoices into Local Environment
You can setup InfyInvoices into your local by using both zip files, but we recommend to use dist file, so you have to perform minimal steps.
Here are some steps to setup InfyInvoices into your local environment :
# 1. Install xampp/wamp (if you don't have it).
# 2. Create folder InfyInvoices
- if you are using wamp then create InfyInvoices folder under you_path_to_wamp/www/
- if you are using xamp then create InfyInvoices folder under you_path_to_xamp/htdocs/
# 3. Unzip dist zip to InfyInvoices folder
# 4. Point the domain to the uploaded folder
You need to create virtual host first to setup InfyInvoices. You can find steps here to create virtual host.
- You can find steps here (opens new window) to create virtual host on
XAMPP
. - You can find steps here (opens new window) to create virtual host on
WAMP
.
Point your domain or subdomain to the InfyInvoices folder.
Please note that, InfyInvoices must be installed on a primary domain or subdomain. Installing on a sub-folder will not work, for example:
example.com/InfyInvoices (Invalid)
localhost/InfyInvoices (Invalid) if you are putting it in sub folder or root website)
example.com (Valid)
local.InfyInvoices.com (Valid)
InfyInvoices.test (Valid)
# 5. Setup the project's details
Please Click Here to follow the next steps for project setup.
# Setup InfyInvoices System
If you have purchased the InfyInvoices system then you will be able to find the zip named dist.zip
.
If you want to setup InfyInvoices
into your local environment then you can take help
from here here.
Now if you want to setup InfyInvoices on your server then you can directly copy the
dist.zip
folder to your web root directory on a server and the following steps:
# 1. Copy files to web server
Upload dist.zip
to your web server's root (public_html) and extract it there.
# 2. Setup Default DB
- Open PHPMyAdmin on your server and do a login.
- Click on the Databases tab.
- Create a new database and specify a Database name of your choice and Click Create button.
Now on the left, select the database (infy_invoices) OR the one that you have created.
Click Import in the top menu
- Under Import, choose the default sql file from
dist/database/infy_invoices.sql
and click button Go.
# 3. Setup environment .env file
- Open .env file from your server's root folder.
- Update your .env file
You need to change the following information into your environment (.env) file.
- APP_NAME - Name of your Application
- APP_URL - Change this URL with your server URL (including trailing path if you are putting it in sub folder or root website)
- DB_HOST - Put your database hostname here
- DB_PORT - Put your database port here if it does not default to 3306
- DB_DATABASE - Change it to your database name
- DB_USERNAME - Name of your database user
- DB_PASSWORD - Password of your database user
You will also need to set up mail configuration, you can read more about here for that setup based on mail service that you use.
- MAIL_MAILER
- MAIL_HOST
- MAIL_PORT
- MAIL_USERNAME
- MAIL_PASSWORD
- MAIL_ENCRYPTION
- ADMIN_EMAIL
- MAIL_FROM_ADDRESS=${ADMIN_EMAIL}
- MAIL_FROM_NAME="${APP_NAME}"
If you want to store your files to direct your s3
bucket then you have to use following
.env
variables.
You need to change FILESYSTEM_DRIVER
and MEDIA_DISK
value to
s3
when you are using AWS file storage.
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- AWS_DEFAULT_REGION=us-east-1
- AWS_BUCKET=
- AWS_ENDPOINT=
- AWS_URL=
Or you can use your choice of storage driver to store your media assets if you want. All of your attachments will be placed into that.
Set Stripe configuration it is using while Invoice Bill payments. Here are some links by using it you will get an idea about how to generate stripe API keys.
Link 1 (opens new window) Link 2 (opens new window)
- STRIPE_KEY=
- STRIPE_SECRET_KEY=
- STRIPE_WEBHOOK_SECRET_KEY=
Set up the Razorpay Credentials into env:
You have to create account from Here and then you can find steps here to generate keys Here
- RAZORPAY_KEY=
- RAZORPAY_SECRET=
Then we have added another payment gateway called PayPal. Therefore, update the .env
file with below keys and find the step to Setup PayPal
credentials
# Setup PayPal Credentials
You just need PayPal Client Id, PayPal Secret.
You can find steps here (opens new window)
Once you get the PayPal Client Id and PayPal Secret add the below keys to your env
file.
PAYPAL_CLIENT_ID=
PAYPAL_SECRET=
# Cron jobs Setup
Enable recurring invoices in cPanel. Here is the link by using it you will get an idea about how to set the cron for the recurring invoices.
# 4. Admin login
You can do admin login by accessing given URL.
YOUR_APP_URL/login
email: admin@infy-invoices.com
password: 123456
# Key Features and Concepts
Here are some Key Features and Concepts that InfyInvoices provides.
# Multi languages Support
We are supporting 9 languages in each panel (Admin | Client)
- English
- Spanish
- French
- German
- Russian
- Portuguese
- Arabic
- Chinese
- Turkish
# Admin Panel
# Dashboard
Powerful admin dashboard where admin can see the overview of the application, what's going on, what are the revenue, etc.
# Clients
You can create a client from the admin panel, and yes of course clients will get their separate panel, where they can see his assigned/sent invoices and perform related actions.
# Products
You can create your products from where, which will be later used in invoice creation. You can define the price, set image and related information.
# Product Categories
You can create different kinds of product categories which will be used in product creation, you can choose categories while creating products.
# Taxes
You can create different kinds of taxes from here, e.g GST / IGST / etc with related percentages. Taxes will be used while creation of the invoice.
# Transactions
All the invoices transactions will be listed here, either it will be manually or via stripe. you can see the detailed information here.
# Payment
Admin can do payment of Invoice through cash mode.
# Settings
You can manage to generate settings from here, like the app logo, favicon the currency, and company address.
Also, you can manage the number format and decimal separator settings from here.
# Invoice Template
We are supporting the beautiful invoice template, which is used when you print the invoice template. You can manage the downloaded invoice format by using this interface.
# Multi Currency
You can add your currency here, whatever you want to show before the price everywhere. The selected currency will be reflected everywhere in the project.
# Multi Lingual
Its comes up with 9 different languages and multi currency options.
# Client Panel
# Dashboard
Attractive and Powerful dashboard from where client can see the overview of his invoices, how many invoices are still pending or paid, etc.
# Invoices
Client can see only assigned invoices, he can print invoices and check details of it. Also clients can pay the invoice by manually or via the stripe payment gateway.
# Pay Invoice
Clients can pay invoices by multiple ways. We are supporting the partial payment option, so let's say there is a $1000 invoice and the client wants to pay just $500 then he can choose Partial payment while paying the invoice.
Later when the client does the next payment he will just see $500 remains as he already paid $500.
# Print Invoices
Clients can print the invoices from the details screen, we are supporting the attractive invoices templates.
# Transactions
Here the client can see his invoices payment history and reports, whatever transaction he made will be recorded here.
# Payment Gateways
We are supporting the stripe and paypal payment gateway to pay invoice from customer side.