## Welcome

This Documentation describes the installation and configuration steps of script.

While the installation process is rather simple, some of the instructions presented here will require minimum understanding in working with databases and managing files on a server.

If you're not familiar with the procedures presented, We can help you via support desk. Support Desk

## License

Regular License

Use, by you or one client, in a single end product which end users are `not charged` for. The total price includes the item price and a buyer fee.

Extended License

Use, by you or one client, in a single end product which end users can be `charged` for. The total price includes the item price and a buyer fee.

Please purchase Extended License if you are going to sell as a service. Envato License Policy

## Installation

It comes with prebuilt installer. Follow these steps to step guide on your server.

## Server Requirements

We are using laravel 7.0 So these are the minimum server requirements, the installer will check if your server meets these or alternatively you can contact your hosting provider in order to make sure your server meets them.

- PHP >= 7.2.5
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension

## Creating a new database

Before installing, you will need to create a new database. If you already know how to do this or have already created one, skip to the next step.Please use `empty database`. In most cases you should be able to create a database from your cpanel.

Useful resources
cPanel - MySQL Database Wizard
Plesk - Website databases

Now you need to create a new user. On the same page go to create a new database user

Now add the user to the database

And select full permissions on the database to that user

## Uploading Files

On some operating systems, the dotfiles are hidden by default. Before starting to upload the files, please make sure your file explorer has the option to view hidden files turned on.

After creating a database, Upload what's inside the `main_file` folder on the web root folder of your domain. This folder is generally called `public_html`, `html`, or `example.com`, but depending on your server's configuration, it might be named differently.

Useful resources
cPanel - File Manager
Plesk - Uploading content with File Manager
Important Important Make sure that you have .env file in your folder.
Important Make sure that .htaccess file got copied properly from the download to your server.

## Installation Wizard

Go to your website address, then you'll see an installation wizard. To open the installer. Visit

yourdomain.com/install

Now the installer will show up.The First screen will be Welcome Screen

Note : If you are not able to access the website by accessing yourdomain.com/install, but you are able to access it via yourdomain.com/index.php/install, this means that you probably don't have Apache mod_rewrite installed and enabled.

## System Requirements

After clicking on "Check requirement" button, you will be redirected to System Requirements step during the installation wizard, System Requirements.

## Directory Permissions

After successfully enabling and installing all required PHP extensions, next step is to set the appropriate permissions for some system folders that shows on below picture.

For giving permissions please open your terminal window. and type command `sudo chmod 777 directory_name` for example `sudo chmod 777 app`
Useful resources
cPanel - Update file or folder permissions
Plesk - Setting file and directory access permissions

## Database/Environment Setting

You have to fill in your database credentials

## Exit

The last step is exit step.

## Default Login

Now You are ready to login with below detail.

SuperAdmin Login Detail

superadmin@example.com / 1234

Company Login Detail

company@example.com / 1234

User Login Detail

accountant@example.com / 1234

## Paypal

The PayPal integration gives your users the ability to pay via PayPal on your website.

1. Go to PayPal Developer Console and Login to your account after clicking the Log into Dashboard button
2. Go to REST API apps section and click the Create App button.
3. Add your own details for the new app and create it.
4. Switch to Live by clicking the button near your new App's Name.
5. Copy the Client ID and Secret.
6. Go to your new Product's Super Admin Panel -> Settings -> Payment Settings and enter the Client ID and Secret keys.
7. Make sure to also switch the Mode to Live and Submit the new settings.
8. Go to the newly created App in the Paypal Developer Console and click on the Add Webhook button.
9. In the Webhook Url field, add your website's URL in this format: `https://yourdomain.com/webhook-paypal` (replace `yourdomain.com` with your own domain name).
10. In the Event types field, check the Payment sale completed event and submit the Webhook.

## Stripe

The Stripe integration gives your users the ability to pay via Stripe on your website.

1. Go to Stripe Dashboard and Login to your account.
2. Go to Stripe API Keys page.
3. Make sure your API keys are set to Live Mode so that you can accept real payments.
4. Copy the Publishable key and Secret key.
5. Go to your new Product's Super Admin Panel -> Settings -> Payment Settings and enter the Stripe key and Stripe Secret.
6. From the sidebar, under Developers click on Webhooks link.
7. Click on the Add endpoint button.
8. In the Endpoint URL field, add your website's URL in this format: `https://yourdomain.com/webhook-stripe` (replace `yourdomain.com` with your own domain name).
9. In the Events to send field, select the `checkout.session.completed`, `invoice.paid`, `invoice.upcoming` and click the Add endpoint button.
10. Copy the Signing secret key and paste it in the product's Webhook Secret field in the super admin panel.

## Paystack

The Paystack integration gives your users the ability to pay via Paystack on your website.

1. Go to Paystack Dashboard and Login to your account.
2. Login to your dashboard, To get your api keys go to Settings, then Settings > Api & webhooks

## Flutterwave

The Flutterwave integration gives your users the ability to pay via Flutterwave on your website.

1. Go to Flutterwave Dashboard and Login to your account.
2. Go to Flutterwave API Keys page.

## Razorpay

The Razorpay integration gives your users the ability to pay via Razorpay on your website.

1. Go to Razorpay Dashboard and Login to your account.
2. Go to Razorpay API Keys page.

## Paytm

The Paytm integration gives your users the ability to pay via Paytm on your website.

1. Go to Paytm Dashboard and Login to your account.
2. They are available in the Credentials panel or from your Mercado Pago account in Your Business > Settings > Credentials.

## Mercado Pago

The Mercado Pago integration gives your users the ability to pay via Mercado Pago on your website.

1. Go to Mercado Pago Dashboard and Login to your account.
2. They are available in the Credentials panel or from your Mercado Pago account in Your Business > Settings > Credentials.
3. In the Webhook Url field, add your website's URL in this format: `https://yourdomain.com/mercadopago/callback` (replace `yourdomain.com` with your own domain name).

## Mollie

The Mollie integration gives your users the ability to pay via Mercado Pago on your website.

1. Go to Mollie Dashboard and Login to your account.
2. Login to dashboard To get your api keys go to Developers, thenDevelopers> Api kEYS

## Skrill

The Skrill integration gives your users the ability to pay via Skrill on your website.

1. Go to Skrill Dashboard and Login to your account.
2. They are available in the Credentials panel or from your Skrill account in Your Business > Settings > Credentials.

## CoinGate

The CoinGate integration gives your users the ability to pay via CoinGate on your website.

1. Go to CoinGate Dashboard and Login to your account.
2. They are available in the Credentials panel or from your CoinGate account in Your Business > Settings > Credentials.
3. In the Webhook Url field, add your website's URL in this format: `https://yourdomain.com/coingate/callback` (replace `yourdomain.com` with your own domain name).

## Upgrade

Before making an update, always remember to do a complete backup of your website.
If you've made any modifications to the language string, your changes will be lost. you can find your old edited language file on `resources/lang`. but that will be lost as new version have new language file. so take backup that files for reference of new version that you need to manually again.
If you've made any modifications to the software's files, your changes will be lost.
For Upgrade version, you need to do it your self. And we are not responsible if you lost data.

1. Make a backup of the `.env` config file and `.htaccess` located on your server.
2. Upload and `replace all` the files on your server with what's inside the `main_file` folder.
3. Restore your `.env` config file and `.htaccess` on your server.
4. Do login and follow the update wizard.

## FAQ

###### How Can I edit email template ?

You can edit below files for change email content :

User Create : resources/views/email/user_create.blade.php

Proposal Send : resources/views/email/proposal_send.blade.php

Invoice Send: resources/views/email/invoice_send.blade.php

Invoice Payment Create: resources/views/email/invoice_payment_create.blade.php

Bill Send: resources/views/email/bill_send.blade.php

Bill Payment Create: resources/views/email/bill_payment_create.blade.php

Payment Reminder : resources/views/email/payment_reminder.blade.php

Customer Invoice Send : resources/views/email/customer_invoice_send.blade.php

Vendor Bill Send : resources/views/email/vender_bill_send.blade.php

Test Mail : resources/views/email/test_mail.blade.php

###### How Can I change landing page!

Our landing file in resources/views/layouts/landing.blade.php, images in public/landing/images folder, css in public/landing/css/style.css file. You can edit them.

###### I have a support inquiry, a question or a problem, how can I contact you?

You can contact us here. Support Desk

###### My website returns a Not Found message, why?

Please ensure that you have `mod_rewrite` enabled on your server.

###### My website returns a blank page, why?

This generally happens when one of the server requirements is not met, please ensure your server meets the software's requirements.

###### My logo has not changed!

Please try to by press f5 or clear your browser cache or try on another browser.

###### How can I use SSL!

Please add this to your your .htaccess file configuration

RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

###### How Can I change my files and theme!

Our theme files in resources/views, assets in public/assets folder. You can edit them.